From 9e97310b0ff893700ecac7e3c48458af3613681d Mon Sep 17 00:00:00 2001 From: op3kitt Date: Thu, 21 Dec 2017 20:43:48 +0900 Subject: [PATCH] changed columns resizable in initiative table added supports save/load files Signed-off-by: op3kitt --- .gitignore | 4 +- build/css/style.css | 2 +- build/css/style.css.map | 2 +- build/index.html | 95 +- build/js/.maps/index.js.map | 2 +- build/js/colResizable-1.6.min.js | 3 + build/js/config.json | 4 +- build/js/index.js | 3912 +------------------------ build/js/lib/ddf.js | 175 +- doc/index.html | 4 +- doc/index.js.html | 32 +- doc/module-ddf.html | 256 +- local/.gitkeep | 0 src/js/index.js | 22 +- src/js/room_menu.js | 35 +- src/js/window/.loading.js | 1 + src/js/window/chatPalette.js | 2 +- src/js/window/loadSaveData.js | 145 + src/js/window/upload.js | 2 +- src/module/index.js | 28 +- src/pug/_playRoom.pug | 3 +- src/pug/_playRoom_menu.pug | 16 +- src/pug/index.pug | 1 + src/pug/window/_initiative.pug | 4 +- src/pug/window/_loadSaveData.pug | 74 + src/scss/style.scss | 155 +- src/vender/js/colResizable-1.6.min.js | 3 + 27 files changed, 954 insertions(+), 4028 deletions(-) create mode 100644 build/js/colResizable-1.6.min.js create mode 100644 local/.gitkeep create mode 100644 src/js/window/loadSaveData.js create mode 100644 src/pug/window/_loadSaveData.pug create mode 100644 src/vender/js/colResizable-1.6.min.js diff --git a/.gitignore b/.gitignore index c80cd4f..03447df 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ /*.zip /node_modules/* -/local/* \ No newline at end of file +!/local/ +/local/* +!/local/.gitkeep \ No newline at end of file diff --git a/build/css/style.css b/build/css/style.css index b5522be..69a2f5b 100644 --- a/build/css/style.css +++ b/build/css/style.css @@ -1,2 +1,2 @@ -@charset "UTF-8";@import url(//fonts.googleapis.com/earlyaccess/notosansjapanese.css);.disabled{filter:grayscale(100%);-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.disabled .helptext{filter:grayscale(100%);z-index:120}.clearfix:after{content:"";clear:both;display:block;width:100%}body{font-family:Noto Sans Japanese,sans-serif}#loginMessage font{font-size:14pt!important}*{box-sizing:border-box}.i{display:inline-block}.center{text-align:center}.mirrored{transform:rotateY(180deg)}.hide{display:none}.row{margin:0;padding:0;padding-left:10px}.btn{float:left;border:1px solid #999;background:#ccc;border-radius:4px;font-weight:700;padding:0 8px;margin:0 4px}.btn:hover{background:#eee;box-shadow:0 0 1px 2px #ccf}.dropdown{position:relative;display:inline-block;padding:3px;background:#eee;border:1px solid #ccc;border-radius:4px;width:6em;text-align:center}.dropdown:hover .dropdown-content{display:block}.dropdown .dropdown-content{display:none;position:absolute;background-color:#f9f9f9;min-width:160px;box-shadow:0 8px 16px 0 rgba(0,0,0,.2);z-index:1;right:0}.dropdown .dropdown-content button{border:0;background:transparent;display:block;width:100%;text-indent:1em;text-align:left}.dropdown .dropdown-content button:hover{background:#cff}#characterCutIn{position:absolute;left:0;right:0;bottom:100%}#characterCutIn img{position:absolute;bottom:0}#characterCutIn img.pos1{left:0}#characterCutIn img.pos2{left:7%}#characterCutIn img.pos3{left:14%}#characterCutIn img.pos4{left:21%}#characterCutIn img.pos5{left:28%}#characterCutIn img.pos6{left:35%}#characterCutIn img.pos7{left:42%}#characterCutIn img.pos8{left:49%}#characterCutIn img.pos9{left:56%}#characterCutIn img.pos10{left:63%}#characterCutIn img.pos11{left:70%}#characterCutIn img.pos12{left:77%}#characterCutIn img.mirrored{transform:rotateY(180deg)}#characterCutIn img:hover{opacity:.3}#characterCutIn.adjust img{min-width:14%;max-height:400px;max-width:35%}#list_memo{position:absolute;left:0;top:40px;bottom:0;padding-left:5px;width:60px}#list_memo>div{position:relative;float:left;width:50px;height:50px;background:#fff;border:2px solid #61dbdb;border-radius:4px;text-align:center;z-index:54;margin-top:5px;overflow:hidden}#list_memo>div img{position:absolute;left:0;top:0;width:46px;height:46px;z-index:55}#list_memo>div span{font-weight:700;position:absolute;z-index:80;left:0;width:100%}#list_memo>div:hover{overflow:visible;z-index:120}#list_memo>div:hover div{position:absolute;left:40px;top:20px;display:block;border:1px solid #000;background:#ffc;max-width:800px;max-height:600px;overflow:scroll;text-align:left;padding:0 5px}#list_memo>div div{display:none}#diceResult{position:absolute;left:0;bottom:100%;height:105px}#diceResult .total{position:absolute;left:10px;bottom:70px;background:#61dbdb;font-weight:700;min-width:120px;text-align:center;border:1px solid #000;border-radius:8px;font-size:16pt;inline-size:max-content;max-inline-size:600px}#diceResult .total:hover{opacity:.5}#diceResult img{display:block;margin-top:35px;height:70px;float:left;z-index:55}#diceResult img:hover{opacity:.5}.dropdown2{position:relative;display:inline-block;padding:1px 6px;width:100%;text-align:left;text-indent:1em}.dropdown2:hover .dropdown-content2{display:block;transition-delay:1s}.dropdown2 .dropdown-content2{display:none;position:absolute;background-color:#f9f9f9;min-width:160px;box-shadow:0 8px 16px 0 rgba(0,0,0,.2);z-index:1;top:0;left:100%}.dropdown2 .dropdown-content2 button{border:0;background:transparent;display:block;width:100%;text-indent:1em;text-align:left}.dropdown2 .dropdown-content2 button:hover{background:#cff}body{padding:0;margin:0;background:#eee;font-size:12px}#container{overflow:hidden;background:#94aab5}#container,#main{position:absolute;top:0;left:0;right:0;bottom:0}#main{background:#eee;padding-top:22px}#main2{display:none}#loginMessage{border:0;overflow:scroll;height:150px;font-size:12px;padding:.5em}#loginMessage h2{font-size:18px;text-align:center}.magicRangeFrame{z-index:36;position:absolute;text-align:center}.magicRangeFrame.rangeCenterMarker:after{content:url(../image/centerMarker.png);position:absolute;top:50%;margin-left:-25px;margin-top:-25px}.mapMaskFrame{z-index:35;position:absolute;text-align:center;display:table;border:4px solid #f99}.mapMaskFrame.draggableObj{z-index:40;border:4px solid #ff9}.mapMaskFrame .name{color:#fff;vertical-align:middle;display:table-cell;height:100%;font-size:18pt}.characterFrame{z-index:42;position:absolute;text-align:center}.characterFrame.isHide{z-index:32}.characterFrame .dogtag{position:absolute;top:0;left:0;background:#fff;opacity:.7;font-size:14pt}.characterFrame .name{position:relative;top:-1.6em;background:#fff;opacity:.7;inline-size:max-content;display:inline}.characterFrame .inner{position:absolute;top:0;left:0;right:0;bottom:0;background-size:contain;background-position:50%;background-repeat:no-repeat;border:4px solid #bb0;box-shadow:0 0 0 2px #000}button{position:relative;border-radius:4px;border:2px solid #ccc;background:#eee}button .helptext{display:none}button:hover .helptext{z-index:120;display:block;position:absolute;top:20px;left:20px;background:#ff9;opacity:.8;border:1px solid #663;inline-size:max-content}button.img{border-radius:0;border:0;background:transparent;padding:0;margin-left:8px;margin-right:8px}button.img+button.img{margin-left:0}input{border-radius:4px}#loginMessage_wrap{height:133px;background:#fff;border:1px solid #ccc;margin:10px;overflow:hidden}#playRoomInfos{margin:.5em;height:60%;overflow:scroll}#playRoomInfos table{width:100%;border-collapse:collapse;cell-spacing:0;border-left:1px solid #ccc;border-top:1px solid #ccc}#playRoomInfos thead{background:linear-gradient(180deg,#fff,#ccc);font-size:12px}#playRoomInfos td,#playRoomInfos th{border-right:1px solid #ccc;border-bottom:1px solid #ccc}#playRoomInfos td{text-align:center;background:#fff}#playRoomInfos tr:nth-child(odd) td{background:#f9f9f9}#playRoomInfos tr:hover td{background:#eef}#initiative:after{content:"";clear:both;display:block;width:100%}#initiative_bg{border-radius:4px;border:2px solid #ccc;position:absolute;top:0;left:0;right:0;bottom:0;background:#eee;opacity:.7;font-size:12px;font-weight:700}#initiative{z-index:60;position:absolute;top:40px;right:0;width:400px;height:400px;display:none}#initiative #wrap{position:absolute;left:6px;right:6px}#initiative table{background:#fff;position:absolute;top:50px;bottom:0;border-collapse:collapse;font-size:12px;width:100%;border-top:1px solid #ccc;border-left:1px solid #ccc}#initiative table td,#initiative table th{border-right:1px solid #ccc;border-bottom:1px solid #ccc;position:relative}#initiative table td:not(:last),#initiative table th:not(:last){max-width:3em}#initiative table td input:not(:checkbox),#initiative table th input:not(:checkbox){position:absolute;top:0;left:0;right:0;bottom:0}#initiative table th p{overflow:hidden;margin:0;height:1.5em}#window_help{display:none;position:absolute;top:40%;left:40%;width:600px;height:400px;z-index:60}#window_help:after{content:"";clear:both;display:block;width:100%}#window_help .bg{border-radius:4px;border:2px solid #ccc;position:absolute;top:0;left:0;right:0;bottom:0;background:#eee;opacity:.8}#window_help .bg>div{background:linear-gradient(180deg,#eee,#99ebc2);margin:0;font-weight:700;padding:2px 4px}#window_help .body{position:absolute;top:0;left:0;right:0;bottom:0;top:26px;padding:.3em;overflow:scroll}#window_help .body pre{margin:0;background:#fff}#window_mapMask{display:none;position:absolute;top:40%;left:40%;width:400px;height:300px;z-index:60}#window_mapMask:after{content:"";clear:both;display:block;width:100%}#window_mapMask .bg{border-radius:4px;border:2px solid #ccc;position:absolute;top:0;left:0;right:0;bottom:0;background:#eee;opacity:.8}#window_mapMask .bg>div{background:linear-gradient(180deg,#eee,#99ebc2);margin:0;font-weight:700;padding:2px 4px}#window_mapMask .body{position:absolute;top:0;left:0;right:0;bottom:0;right:40%;top:26px;padding:.3em}#window_mapMask .body button~button{margin-left:3em}#window_mapMask .body label{width:3em;display:inline-block}#window_mapMask .body .slider{width:120px}#window_mapMask .body .r{padding:8px;width:100%}#window_mapMask .body2{position:absolute;top:0;left:0;right:0;bottom:0;left:40%;top:26px;padding:.3em}#window_mapMask .body2 #mapMask_preview{transform-origin:top left}#window_mapMask #mapMask_name{width:7em}#window_mapMask #mapMask_height,#window_mapMask #mapMask_width{width:3em}#window_mapChange{display:none;position:absolute;top:10%;left:10%;width:800px;height:530px;z-index:60}#window_mapChange:after{content:"";clear:both;display:block;width:100%}#window_mapChange .bg{border-radius:4px;border:2px solid #ccc;position:absolute;top:0;left:0;right:0;bottom:0;background:#eee;opacity:.8}#window_mapChange .bg>div{background:linear-gradient(180deg,#eee,#99ebc2);margin:0;font-weight:700;padding:2px 4px}#window_mapChange .body{position:absolute;top:0;left:0;right:0;bottom:0;top:26px;padding:.3em}#window_mapChange .body button~button{margin-left:3em}#window_mapChange .body .r{padding:8px;width:100%}#window_mapChange #mapChange_imagearea{width:100%;height:200px;border:1px solid #666;overflow:scroll}#window_mapChange #mapChange_imagearea div{display:inline-block;width:50px;height:50px;text-align:center}#window_mapChange #mapChange_imagearea div img{max-width:50px;max-height:50px}#window_mapChange #mapChange_imagearea div input{display:block;width:100%;text-align:center}#window_mapChange #mapChange_gridInterval,#window_mapChange #mapChange_height,#window_mapChange #mapChange_width{width:2em}#window_mapChange #mapChange_password{display:none}#window_mapChange #mapChange_preview{width:50%;height:400px;transform-origin:left top;position:relative;float:left}#window_mapChange #mapChange_preview img,#window_mapChange #mapChange_preview object{position:absolute;left:0;top:0}#window_mapChange #mapChange_image{float:left;width:50%;text-align:center;margin-top:150px}#window_mapChange #mapChange_imageSelect{float:left;width:50%;display:none}#window_imageDelete{display:none;position:absolute;top:30%;left:30%;width:600px;height:450px;z-index:60}#window_imageDelete:after{content:"";clear:both;display:block;width:100%}#window_imageDelete .bg{border-radius:4px;border:2px solid #ccc;position:absolute;top:0;left:0;right:0;bottom:0;background:#eee;opacity:.8}#window_imageDelete .bg>div{background:linear-gradient(180deg,#eee,#99ebc2);margin:0;font-weight:700;padding:2px 4px}#window_imageDelete .body{position:absolute;top:0;left:0;right:0;bottom:0;top:26px;padding:.3em}#window_imageDelete .body button~button{margin-left:3em}#window_imageDelete .body .r{padding:8px;width:100%}#window_imageDelete #imageDelete_imagearea{width:100%;height:200px;border:1px solid #666;overflow:scroll}#window_imageDelete #imageDelete_imagearea div{display:inline-block;width:50px;height:76px;text-align:center}#window_imageDelete #imageDelete_imagearea div img{max-width:50px;max-height:50px}#window_imageDelete #imageDelete_imagearea div input{display:block;width:100%;text-align:center}#window_imageDelete #imageDelete_password{display:none}#window_upload{display:none;position:absolute;top:30%;left:30%;width:600px;height:450px;z-index:60}#window_upload:after{content:"";clear:both;display:block;width:100%}#window_upload .bg{border-radius:4px;border:2px solid #ccc;position:absolute;top:0;left:0;right:0;bottom:0;background:#eee;opacity:.8}#window_upload .bg>div{background:linear-gradient(180deg,#eee,#99ebc2);margin:0;font-weight:700;padding:2px 4px}#window_upload .body{position:absolute;top:0;left:0;right:0;bottom:0;top:26px;padding:.3em}#window_upload .body button~button{margin-left:3em}#window_upload .body .r{padding:8px;width:100%}#window_upload #upload_droparea{width:100%;height:200px;border:1px solid #666;overflow:scroll;z-index:55}#window_upload #upload_droparea.is-dragover{background:#fff}#window_upload #upload_droparea.is-dragover img,#window_upload #upload_droparea.is-dragover~.overwrap{display:none}#window_upload #upload_droparea.is-dragover:before{content:"ここにドロップ";display:block;width:100%;text-align:center}#window_upload #upload_droparea div{display:inline-block;width:50px;height:50px;text-align:center}#window_upload #upload_droparea div img{max-width:50px;max-height:50px}#window_upload #upload_droparea~.overwrap{position:absolute;width:100%;text-align:center;top:8px;left:0;z-index:54}#window_upload #upload_droparea~.overwrap input{overflow:hidden;width:0}#window_upload #upload_password{display:none}#window_upload #upload_result{overflow:scorll;width:100%;height:50px}.pull-right{float:right}#window_graveyard{display:none;position:absolute;top:30%;left:30%;width:380px;height:125px;z-index:60}#window_graveyard:after{content:"";clear:both;display:block;width:100%}#window_graveyard .bg{border-radius:4px;border:2px solid #ccc;position:absolute;top:0;left:0;right:0;bottom:0;background:#eee;opacity:.8}#window_graveyard .bg>div{background:linear-gradient(180deg,#eee,#99ebc2);margin:0;font-weight:700;padding:2px 4px}#window_graveyard .body{position:absolute;top:0;left:0;right:0;bottom:0;top:26px;padding:.3em}#window_graveyard .body button~button{margin-left:3em}#window_graveyard .body .row{padding:8px;height:50px;width:100%}#window_graveyard #graveyard_reload{float:right}#window_chat{display:none;position:absolute;top:70%;left:0;width:80%;height:30%;z-index:60;display:block}#window_chat:after{content:"";clear:both;display:block;width:100%}#window_chat .bg{border-radius:4px;border:2px solid #ccc;position:absolute;top:0;left:0;right:0;bottom:0;background:#eee;opacity:.8}#window_chat .body{position:absolute;top:0;left:0;right:0;bottom:0;top:22px;padding:.3em;bottom:125px}#window_chat .body #tab{padding-left:10px}#window_chat .body #tab>p{background:linear-gradient(180deg,#ccc,transparent 120%);float:left;margin:0;padding:.2em 1em;margin-right:4px}#window_chat .body #tab>p.active{background:#fff}#window_chat .body #log{position:absolute;top:0;left:0;right:0;bottom:0;top:2.2em;left:10px;right:10px;background:#fff;overflow:hidden}#window_chat .body #log div{display:none;position:absolute;top:0;left:0;right:0;bottom:0;bottom:-18px;overflow:scroll}#window_chat .body #log div.active{display:block}#window_chat .body2{position:absolute;height:125px;padding:.3em;bottom:0}#window_chat .body2 textarea{vertical-align:top;width:750px;height:70px}#window_chat .body2 button.fix{float:right;width:100px}#window_chat .body2 .btn_area{width:120px;float:right}#window_chat .wrap{margin-left:10px;margin-right:10px}#window_chat .r{padding:6px}#window_chat #log p{margin:0}#window_version{display:none;position:absolute;top:40%;left:40%;width:300px;height:110px;z-index:60}#window_version:after{content:"";clear:both;display:block;width:100%}#window_version .bg{border-radius:4px;border:2px solid #ccc;position:absolute;top:0;left:0;right:0;bottom:0;background:#eee;opacity:.8}#window_version .wrap{margin-left:10px;margin-right:10px}#window_version .body{position:absolute;background:#fff;top:22px;padding:.3em}#window_version #version_close{position:absolute;bottom:4px;right:10px}#window_loginNumber{display:none;position:absolute;top:400px;left:200px;width:200px;height:150px;z-index:60;z-index:9999}#window_loginNumber:after{content:"";clear:both;display:block;width:100%}#window_loginNumber .bg{border-radius:4px;border:2px solid #ccc;position:absolute;top:0;left:0;right:0;bottom:0;background:#eee;opacity:.8}#window_loginNumber .body{position:absolute;top:22px;padding:.3em;text-align:center;left:0;right:0;bottm:0}#window_loginNumber .btn{position:absolute;bottom:4px;left:40%;width:20%}#window_createPlayRoom{display:none;position:absolute;top:200px;left:200px;width:500px;height:140px;z-index:60}#window_createPlayRoom:after{content:"";clear:both;display:block;width:100%}#window_createPlayRoom .bg{border-radius:4px;border:2px solid #ccc;position:absolute;top:0;left:0;right:0;bottom:0;background:#eee;opacity:.8}#window_createPlayRoom .body{position:absolute;top:22px;padding:.3em;text-align:center;left:0;right:0;bottm:0}#window_createPlayRoom .i4{display:inline-block;width:45%}#window_createPlayRoom .i6{display:inline-block;width:50%}#window_createPlayRoom .r{text-align:left}#window_createPlayRoom select{height:1.8em}#main2 #menu{z-index:9999;position:fixed;top:0;width:100%;height:36px;background:linear-gradient(180deg,#efefef,transparent);box-shadow:0 2px 4px #333}#main2 #menu .menuarea{display:inline-block;background:linear-gradient(180deg,#eee,transparent 120%);margin:4px;border:1px solid #aaa}#main2 #menu .menuarea .dropdown{width:5em;border:0;background:transparent;border-radius:0}#main2 #menu .menuarea .dropdown .dropdown-content{left:0}#main2 #menu .menuarea .dropdown:hover{background:linear-gradient(0deg,#eee,#fff 120%)}#main2 #menu .dropdown-content{inline-size:max-content}#main2 #menu .dropdown-content button{font-size:9pt}#main2 #menu .dropdown-content button.checked{padding-left:0}#main2 #menu .dropdown-content button.checked:before{content:url(../image/icons/tick.png);position:relative;top:2px}#map{top:36px;z-index:10}#mapGrid{z-index:20}#mapDraw,#mapGrid{position:absolute;top:0;left:0;right:0;bottom:0}#mapDraw{display:none;z-index:22}#drawPanel{z-index:23}#drawPanel,#mapSurface{position:absolute;top:0;left:0;right:0;bottom:0}#mapSurface{z-index:30}#drawsPanel{position:absolute;top:0;left:0;right:0;bottom:0;z-index:25} +@charset "UTF-8";@import url(//fonts.googleapis.com/earlyaccess/notosansjapanese.css);*{box-sizing:border-box}body{font-family:Noto Sans Japanese,sans-serif;padding:0;margin:0;background:#eee;font-size:12px}#container{overflow:hidden;position:absolute;top:0;left:0;right:0;bottom:0;background:#94aab5}.row{margin:0;padding:0;padding-left:10px}.btn{float:left;border:1px solid #999;background:#ccc;border-radius:4px;font-weight:700;padding:0 8px;margin:0 4px}.btn:hover{background:#eee;box-shadow:0 0 1px 2px #ccf}.dropdown{position:relative;display:inline-block;padding:3px;background:#eee;border:1px solid #ccc;border-radius:4px;width:6em;text-align:center}.dropdown:hover .dropdown-content{display:block}.dropdown .dropdown-content{display:none;position:absolute;background-color:#f9f9f9;min-width:160px;box-shadow:0 8px 16px 0 rgba(0,0,0,.2);z-index:1;right:0}.dropdown .dropdown-content button{border:0;background:transparent;display:block;width:100%;text-indent:1em;text-align:left}.dropdown .dropdown-content button:hover{background:#cff}.dropdown2{position:relative;display:inline-block;padding:1px 6px;width:100%;text-align:left;text-indent:1em}.dropdown2:hover .dropdown-content2{display:block;transition-delay:1s}.dropdown2 .dropdown-content2{display:none;position:absolute;background-color:#f9f9f9;min-width:160px;box-shadow:0 8px 16px 0 rgba(0,0,0,.2);z-index:1;top:0;left:100%}.dropdown2 .dropdown-content2 button{border:0;background:transparent;display:block;width:100%;text-indent:1em;text-align:left}.dropdown2 .dropdown-content2 button:hover{background:#cff}button{position:relative;border-radius:4px;border:2px solid #ccc;background:#eee}button .helptext{display:none}button:hover .helptext{z-index:200;display:block;position:absolute;top:20px;left:20px;background:#ff9;opacity:.8;border:1px solid #663;inline-size:max-content}button.img{border-radius:0;border:0;background:transparent;padding:0;margin-left:8px;margin-right:8px}button.img+button.img{margin-left:0}input{border-radius:4px}label{display:inline-block}.clearfix:after{content:"";clear:both;display:block;width:100%}.disabled{filter:grayscale(100%);-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.disabled .helptext{filter:grayscale(100%);z-index:200}.i{display:inline-block}.left{text-align:left}.center{text-align:center}.right{text-align:right}.pull-left{float:left}.pull-right{float:right}.mirrored{transform:rotateY(180deg)}.hide{display:none}#main{position:absolute;top:0;left:0;right:0;bottom:0;background:#eee;padding-top:22px}#loginMessage_wrap{height:133px;background:#fff;border:1px solid #ccc;margin:10px;overflow:hidden}#loginMessage{border:0;overflow:scroll;height:150px;font-size:12px;padding:.5em}#loginMessage font{font-size:14pt!important}#loginMessage h2{font-size:18px;text-align:center}#playRoomInfos{margin:.5em;height:60%;overflow:scroll}#playRoomInfos table{width:100%;border-collapse:collapse;cell-spacing:0;border-left:1px solid #ccc;border-top:1px solid #ccc}#playRoomInfos thead{background:linear-gradient(180deg,#fff,#ccc);font-size:12px}#playRoomInfos td,#playRoomInfos th{border-right:1px solid #ccc;border-bottom:1px solid #ccc}#playRoomInfos td{text-align:center;background:#fff}#playRoomInfos tr:nth-child(odd) td{background:#f9f9f9}#playRoomInfos tr:hover td{background:#eef}#main2{display:none}#main2 #menu{z-index:9999;position:fixed;top:0;width:100%;height:36px;background:linear-gradient(180deg,#efefef,transparent);box-shadow:0 2px 4px #333}#main2 #menu .menuarea{display:inline-block;background:linear-gradient(180deg,#eee,transparent 120%);margin:4px 20px;border:1px solid #aaa}#main2 #menu .menuarea .dropdown{width:5em;border:0;background:transparent;border-radius:0}#main2 #menu .menuarea .dropdown .dropdown-content{left:0}#main2 #menu .menuarea .dropdown:hover{background:linear-gradient(0deg,#eee,#fff 120%)}#main2 #menu .dropdown-content{inline-size:max-content}#main2 #menu .dropdown-content button{font-size:9pt}#main2 #menu .dropdown-content button.checked{padding-left:0}#main2 #menu .dropdown-content button.checked:before{content:url(../img/icons/tick.png);position:relative;top:2px}#main2 #menu #btn_zoomin{margin-left:20px;margin-top:3px}#main2 #menu #btn_zoomout{margin-right:20px;margin-top:3px}#main2 #menu #btn_screenshot{margin-top:4px;margin-right:8px}#main2 #menu #btn_logout2{margin-top:4px;margin-right:20px}#map{top:36px;z-index:10}#mapGrid{z-index:52}#mapDraw,#mapGrid{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none}#mapDraw{display:none;z-index:16}#mapSurface{z-index:18}#drawsPanel,#mapSurface{position:absolute;top:0;left:0;right:0;bottom:0}#drawsPanel{z-index:14;pointer-events:none}#diceResult{position:absolute;left:0;bottom:100%;height:105px;z-index:110}#diceResult .total{position:absolute;left:10px;bottom:70px;background:#61dbdb;font-weight:700;min-width:120px;text-align:center;border:1px solid #000;border-radius:8px;font-size:16pt;inline-size:max-content;max-inline-size:600px}#diceResult .total:hover{opacity:.5}#diceResult img{display:block;margin-top:35px;height:70px;float:left}#diceResult img:hover{opacity:.5}#characterCutIn{position:absolute;left:0;right:0;bottom:100%;z-index:100}#characterCutIn img{position:absolute;bottom:0}#characterCutIn img.pos1{left:0}#characterCutIn img.pos2{left:7%}#characterCutIn img.pos3{left:14%}#characterCutIn img.pos4{left:21%}#characterCutIn img.pos5{left:28%}#characterCutIn img.pos6{left:35%}#characterCutIn img.pos7{left:42%}#characterCutIn img.pos8{left:49%}#characterCutIn img.pos9{left:56%}#characterCutIn img.pos10{left:63%}#characterCutIn img.pos11{left:70%}#characterCutIn img.pos12{left:77%}#characterCutIn img.mirrored{transform:rotateY(180deg)}#characterCutIn img:hover{opacity:.3}#characterCutIn.adjust img{min-width:14%;max-height:400px;max-width:35%}#list_memo{position:absolute;left:0;top:40px;bottom:0;padding-left:5px;width:60px}#list_memo>div{position:relative;float:left;width:50px;height:50px;background:#fff;border:2px solid #61dbdb;border-radius:4px;text-align:center;z-index:120;margin-top:5px;overflow:hidden}#list_memo>div img{position:absolute;left:0;top:0;width:46px;height:46px;z-index:125}#list_memo>div span{font-weight:700;position:absolute;z-index:126;left:0;width:100%}#list_memo>div:hover{overflow:visible;z-index:200}#list_memo>div:hover div{position:absolute;left:40px;top:20px;display:block;border:1px solid #000;background:#ffc;max-width:800px;max-height:600px;overflow:scroll;text-align:left;padding:0 5px}#list_memo>div div{display:none}.magicRangeFrame{z-index:40;position:absolute;text-align:center}.magicRangeFrame object{pointer-events:none}.magicRangeFrame.rangeCenterMarker:after{left:50%}.magicRangeFrame.rangeCenterMarker:after,.magicRangeFrame.rangeLeftMarker:after{content:url(../img/centerMarker.png);position:absolute;top:50%;margin-left:-25px;margin-top:-25px}.magicRangeFrame.rangeLeftMarker:after{left:0}.magicRangeFrame.rangeRightMarker:after{content:url(../img/centerMarker.png);position:absolute;top:50%;right:0;margin-left:25px;margin-top:-25px}.magicRangeFrame.rangeTopMarker:after{top:0;margin-top:-25px}.magicRangeFrame.rangeBottomMarker:after,.magicRangeFrame.rangeTopMarker:after{content:url(../img/centerMarker.png);position:absolute;left:50%;margin-left:-25px}.magicRangeFrame.rangeBottomMarker:after{bottom:0;margin-top:25px}.magicRangeFrame.rangeTopLeftMarker:after{content:url(../img/centerMarker.png);position:absolute;top:0;left:0;margin-left:-25px;margin-top:-25px}.magicRangeFrame.rangeTopRightMarker:after{content:url(../img/centerMarker.png);position:absolute;top:0;right:0;margin-left:25px;margin-top:-25px}.magicRangeFrame.rangeBottomLeftMarker:after{content:url(../img/centerMarker.png);position:absolute;bottom:0;left:0;margin-left:-25px;margin-top:25px}.magicRangeFrame.rangeBottomRightMarker:after{content:url(../img/centerMarker.png);position:absolute;bottom:0;right:0;margin-left:25px;margin-top:25px}.mapMaskFrame{z-index:30;position:absolute;text-align:center;display:table;border:4px solid #f99}.mapMaskFrame.draggableObj{z-index:35;border:4px solid #ff9}.mapMaskFrame .name{color:#fff;vertical-align:middle;display:table-cell;height:100%;font-size:18pt}.characterFrame{z-index:55;position:absolute;text-align:center}.characterFrame.isHide{z-index:25}.characterFrame .dogtag{position:absolute;top:0;left:0;background:#fff;opacity:.7;font-size:14pt}.characterFrame .name{position:relative;top:-1.6em;background:#fff;opacity:.7;inline-size:max-content;display:inline}.characterFrame .inner{position:absolute;top:0;left:0;right:0;bottom:0;background-size:contain;background-position:50%;background-repeat:no-repeat;border:4px solid #bb0;box-shadow:0 0 0 2px #000}#initiative:after{content:"";clear:both;display:block;width:100%}#initiative_bg{border-radius:4px;border:2px solid #ccc;position:absolute;top:0;left:0;right:0;bottom:0;background:#eee;opacity:.7;font-size:12px;font-weight:700}#initiative{z-index:150;position:absolute;top:40px;right:0;width:400px;height:400px;display:none}#initiative #wrap{position:absolute;left:6px;right:6px}#initiative table{background:#fff;position:absolute;top:50px;bottom:0;border-collapse:collapse;font-size:12px;width:100%;border-top:1px solid #ccc;border-left:1px solid #ccc}#initiative table tr{background:#fff}#initiative table tr:hover,#initiative table tr:hover input:not([type=checkbox]){background:#cff}#initiative table td,#initiative table th{position:relative;border-right:1px solid #ccc;border-bottom:1px solid #ccc}#initiative table td:nth-child(n+2):not(:last-child),#initiative table th:nth-child(n+2):not(:last-child){min-width:3.2em}#initiative table td input[type=number],#initiative table th input[type=number]{text-align:right}#initiative table td input[type=number] input[type=number]::-webkit-inner-spin-button,#initiative table td input[type=number] input[type=number]::-webkit-outer-spin-button,#initiative table th input[type=number] input[type=number]::-webkit-inner-spin-button,#initiative table th input[type=number] input[type=number]::-webkit-outer-spin-button{width:.3em}#initiative table td input:not([type=checkbox]),#initiative table td textarea,#initiative table th input:not([type=checkbox]),#initiative table th textarea{position:absolute;top:0;left:0;right:0;bottom:0;border:0;width:100%}#initiative table th p{overflow:hidden;margin:0;height:1.5em}#window_initiative_edit{display:none;position:absolute;top:40%;left:40%;width:500px;height:220px;z-index:150}#window_initiative_edit:after{content:"";clear:both;display:block;width:100%}#window_initiative_edit .bg{border-radius:4px;border:2px solid #ccc;position:absolute;top:0;left:0;right:0;bottom:0;background:#eee;opacity:.8}#window_initiative_edit .bg>div{background:linear-gradient(180deg,#eee,#99ebc2);margin:0;font-weight:700;padding:2px 4px}#window_initiative_edit .body{position:absolute;top:0;left:0;right:0;bottom:0;top:26px;padding:.3em}#window_initiative_edit .body button{margin:.3em .5em}#window_saveChatLog{display:none;position:absolute;top:40%;left:40%;width:340px;height:220px;z-index:150}#window_saveChatLog:after{content:"";clear:both;display:block;width:100%}#window_saveChatLog .bg{border-radius:4px;border:2px solid #ccc;position:absolute;top:0;left:0;right:0;bottom:0;background:#eee;opacity:.8}#window_saveChatLog .bg>div{background:linear-gradient(180deg,#eee,#99ebc2);margin:0;font-weight:700;padding:2px 4px}#window_saveChatLog .body{position:absolute;top:0;left:0;right:0;bottom:0;top:26px;padding:.3em}#window_saveChatLog .body button{margin:.3em .5em}#window_memo{display:none;position:absolute;top:40%;left:40%;width:600px;height:400px;z-index:150}#window_memo:after{content:"";clear:both;display:block;width:100%}#window_memo .bg{border-radius:4px;border:2px solid #ccc;position:absolute;top:0;left:0;right:0;bottom:0;background:#eee;opacity:.8}#window_memo .bg>div{background:linear-gradient(180deg,#eee,#99ebc2);margin:0;font-weight:700;padding:2px 4px}#window_memo .body{position:absolute;top:0;left:0;right:0;bottom:0;top:26px;padding:.3em}#window_memo .body #memo_listTab{overflow:hidden;height:18px}#window_memo .body .tab{position:relative;text-overflow:ellipsis;overflow:hidden;min-width:4em;border:1px solid #ccc;border-radius:4px;text-align:center;float:left;height:1.4em;padding-right:16px}#window_memo .body .tab img{display:none}#window_memo .body .tab:hover img{display:inline-block;position:absolute;width:12px;top:2px;right:2px}#window_memo .body .tab.active{background:#fff}#window_memo .body textarea{display:none;min-width:100%;max-width:100%;height:310px}#window_memo .body textarea.active{display:inline-block}#window_help{display:none;position:absolute;top:40%;left:40%;width:600px;height:400px;z-index:150}#window_help:after{content:"";clear:both;display:block;width:100%}#window_help .bg{border-radius:4px;border:2px solid #ccc;position:absolute;top:0;left:0;right:0;bottom:0;background:#eee;opacity:.8}#window_help .bg>div{background:linear-gradient(180deg,#eee,#99ebc2);margin:0;font-weight:700;padding:2px 4px}#window_help .body{position:absolute;top:0;left:0;right:0;bottom:0;top:26px;padding:.3em;overflow:scroll}#window_help .body pre{margin:0;background:#fff}#window_mapMask{display:none;position:absolute;top:40%;left:40%;width:400px;height:300px;z-index:150}#window_mapMask:after{content:"";clear:both;display:block;width:100%}#window_mapMask .bg{border-radius:4px;border:2px solid #ccc;position:absolute;top:0;left:0;right:0;bottom:0;background:#eee;opacity:.8}#window_mapMask .bg>div{background:linear-gradient(180deg,#eee,#99ebc2);margin:0;font-weight:700;padding:2px 4px}#window_mapMask .body{position:absolute;top:0;left:0;right:0;bottom:0;right:40%;top:26px;padding:.3em}#window_mapMask .body button~button{margin-left:3em}#window_mapMask .body label{width:3em;text-align:right;display:inline-block}#window_mapMask .body .slider{width:120px}#window_mapMask .body .r{padding:8px;width:100%}#window_mapMask .body2{position:absolute;top:0;left:0;right:0;bottom:0;left:40%;top:26px;padding:.3em}#window_mapMask .body2 #mapMask_preview{transform-origin:top left}#window_mapMask #mapMask_name{width:7em}#window_mapMask #mapMask_height,#window_mapMask #mapMask_width{width:3em}#window_magicRangeDD4th{display:none;position:absolute;top:40%;left:40%;width:400px;height:350px;z-index:150}#window_magicRangeDD4th:after{content:"";clear:both;display:block;width:100%}#window_magicRangeDD4th .bg{border-radius:4px;border:2px solid #ccc;position:absolute;top:0;left:0;right:0;bottom:0;background:#eee;opacity:.8}#window_magicRangeDD4th .bg>div{background:linear-gradient(180deg,#eee,#99ebc2);margin:0;font-weight:700;padding:2px 4px}#window_magicRangeDD4th .body{position:absolute;top:0;left:0;right:0;bottom:0;top:26px;padding:.3em}#window_magicRangeDD4th .body button~button{margin-left:3em}#window_magicRangeDD4th .body label{width:8em;display:inline-block;text-align:right}#window_magicRangeDD4th .body .r{padding:8px;width:100%}#window_magicRangeDD4th .body #magicRangeDD4th_info,#window_magicRangeDD4th .body #magicRangeDD4th_name{width:10em}#window_magicRangeDD4th .body #magicRangeDD4th_feets,#window_magicRangeDD4th .body #magicRangeDD4th_timeRange{width:3em}#window_magicRangeLH{display:none;position:absolute;top:40%;left:40%;width:400px;height:200px;z-index:150}#window_magicRangeLH:after{content:"";clear:both;display:block;width:100%}#window_magicRangeLH .bg{border-radius:4px;border:2px solid #ccc;position:absolute;top:0;left:0;right:0;bottom:0;background:#eee;opacity:.8}#window_magicRangeLH .bg>div{background:linear-gradient(180deg,#eee,#99ebc2);margin:0;font-weight:700;padding:2px 4px}#window_magicRangeLH .body{position:absolute;top:0;left:0;right:0;bottom:0;top:26px;padding:.3em}#window_magicRangeLH .body button~button{margin-left:3em}#window_magicRangeLH .body label{width:8em;display:inline-block;text-align:right}#window_magicRangeLH .body .r{padding:8px;width:100%}#window_magicRangeLH .body #magicRangeLH_name{width:10em}#window_characterCutin{display:none;position:absolute;top:30%;left:30%;width:500px;height:300px;z-index:150}#window_characterCutin:after{content:"";clear:both;display:block;width:100%}#window_characterCutin .bg{border-radius:4px;border:2px solid #ccc;position:absolute;top:0;left:0;right:0;bottom:0;background:#eee;opacity:.8}#window_characterCutin .bg>div{background:linear-gradient(180deg,#eee,#99ebc2);margin:0;font-weight:700;padding:2px 4px}#window_characterCutin .body{position:absolute;top:0;left:0;right:0;bottom:0;top:26px;padding:.3em}#window_characterCutin .body .r:nth-child(2){height:210px;overflow:hidden}#window_characterCutin .body .table_wrap{height:217px;overflow:scroll}#window_characterCutin .body table{width:100%;border-collapse:collapse;cell-spacing:0;border-left:1px solid #ccc;border-top:1px solid #ccc}#window_characterCutin .body table tr:first-child{background:linear-gradient(180deg,#fff,#ccc);font-size:12px}#window_characterCutin .body table th:nth-child(5){column-width:6em}#window_characterCutin .body td,#window_characterCutin .body th{border-right:1px solid #ccc;border-bottom:1px solid #ccc;mex-inline-width:6em}#window_characterCutin .body td{text-align:center;background:#fff}#window_characterCutin .body td p{overflow:hidden;margin:0;height:1.5em;width:6em}#window_characterCutin .body tr:nth-child(odd) td{background:#f9f9f9}#window_characterCutin .body button~button{margin-left:3em}#window_characterCutin .body .r{padding:8px;width:100%}#window_characterCutin_create{display:none;position:absolute;top:10%;left:10%;width:600px;height:480px;z-index:150}#window_characterCutin_create:after{content:"";clear:both;display:block;width:100%}#window_characterCutin_create .bg{border-radius:4px;border:2px solid #ccc;position:absolute;top:0;left:0;right:0;bottom:0;background:#eee;opacity:.8}#window_characterCutin_create .bg>div{background:linear-gradient(180deg,#eee,#99ebc2);margin:0;font-weight:700;padding:2px 4px}#window_characterCutin_create .body{position:absolute;top:0;left:0;right:0;bottom:0;top:26px;padding:.3em}#window_characterCutin_create .body .r{padding:8px;width:100%}#window_characterCutin_create #characterCutin_create_password{display:none}#window_characterCutin_create #characterCutin_create_preview{width:25%;height:250px;position:relative;float:left}#window_characterCutin_create #characterCutin_create_preview #characterCutin_create_image{position:absolute;top:0;left:0;right:0;bottom:0;background-size:contain;background-position:50%;background-repeat:no-repeat}#window_characterCutin_create #characterCutin_create_preview #characterCutin_create_image.mirrored{transform:rotateY(180deg)}#window_characterCutin_create #characterCutin_create_imageSelect{width:75%;height:250px;float:left}#window_characterCutin_create #characterCutin_create_imagearea{width:100%;height:200px;border:1px solid #666;overflow:scroll}#window_characterCutin_create #characterCutin_create_imagearea div{display:inline-block;width:50px;height:50px;text-align:center}#window_characterCutin_create #characterCutin_create_imagearea div img{max-width:50px;max-height:50px}#window_characterCutin_create #characterCutin_create_imagearea div input{display:block;width:100%;text-align:center}#window_characterCutin_create label{text-align:right;width:18em}#window_characterCutin_create .slider{width:15em;display:inline-block}#window_addCharacter{display:none;position:absolute;top:10%;left:10%;width:800px;height:620px;z-index:150}#window_addCharacter:after{content:"";clear:both;display:block;width:100%}#window_addCharacter .bg{border-radius:4px;border:2px solid #ccc;position:absolute;top:0;left:0;right:0;bottom:0;background:#eee;opacity:.8}#window_addCharacter .bg>div{background:linear-gradient(180deg,#eee,#99ebc2);margin:0;font-weight:700;padding:2px 4px}#window_addCharacter .body{position:absolute;top:0;left:0;right:0;bottom:0;top:26px;padding:.3em}#window_addCharacter .body button~button{margin-left:3em}#window_addCharacter .body .r{padding:8px;width:100%}#window_addCharacter #addCharacter_password{display:none}#window_addCharacter #addCharacter_preview{width:25%;height:250px;position:relative;float:left}#window_addCharacter #addCharacter_preview #addCharacter_image{position:absolute;top:0;left:0;right:0;bottom:0;background-size:contain;background-position:50%;background-repeat:no-repeat}#window_addCharacter #addCharacter_preview #addCharacter_image.mirrored{transform:rotateY(180deg)}#window_addCharacter #addCharacter_imageSelect{width:75%;height:250px;float:left}#window_addCharacter #addCharacter_imagearea{width:100%;height:200px;border:1px solid #666;overflow:scroll}#window_addCharacter #addCharacter_imagearea div{display:inline-block;width:50px;height:50px;text-align:center}#window_addCharacter #addCharacter_imagearea div img{max-width:50px;max-height:50px}#window_addCharacter #addCharacter_imagearea div input{display:block;width:100%;text-align:center}#window_addCharacter #addCharacter_counters{width:100%;border-top:1px solid #ccc;border-left:1px solid #ccc;border-collapse:collapse}#window_addCharacter #addCharacter_counters th{background:linear-gradient(180deg,#fff,transparent);border-bottom:1px solid #ccc;border-right:1px solid #000;min-width:5em}#window_addCharacter #addCharacter_counters td{background:#fff;border-bottom:1px solid #ccc;border-right:1px solid #ccc}#window_addCharacter #addCharacter_counters td input{border:0;width:100%}#window_addCharacter .left-block,#window_addCharacter .right-block{width:50%;float:left}#window_addCharacter label{width:5em}#window_addCharacter #addCharacter_info{width:100%;height:120px}#window_addCharacter button .helptext,#window_addCharacter label .helptext{display:none}#window_addCharacter button:hover .helptext,#window_addCharacter label:hover .helptext{z-index:200;display:block;position:absolute;top:20px;left:20px;background:#ff9;opacity:.8;border:1px solid #663;inline-size:max-content}#window_addCharacter_sub{display:none;position:absolute;top:40%;left:40%;width:150px;height:200px;z-index:150}#window_addCharacter_sub:after{content:"";clear:both;display:block;width:100%}#window_addCharacter_sub .bg{border-radius:4px;border:2px solid #ccc;position:absolute;top:0;left:0;right:0;bottom:0;background:#eee;opacity:.8}#window_addCharacter_sub .bg>div{background:linear-gradient(180deg,#eee,#99ebc2);margin:0;font-weight:700;padding:2px 4px}#window_addCharacter_sub .body{position:absolute;top:0;left:0;right:0;bottom:0;top:26px;padding:.3em}#window_addCharacter_sub .body #addCharacter_sub_character{width:50px;height:50px;margin:auto;background-size:contain;background-position:50%;background-repeat:no-repeat}#window_addCharacter_sub .body .r{padding:8px;width:100%}#window_playRoomInfo{display:none;position:absolute;top:30%;left:30%;width:400px;height:300px;z-index:150}#window_playRoomInfo:after{content:"";clear:both;display:block;width:100%}#window_playRoomInfo .bg{border-radius:4px;border:2px solid #ccc;position:absolute;top:0;left:0;right:0;bottom:0;background:#eee;opacity:.8}#window_playRoomInfo .bg>div{background:linear-gradient(180deg,#eee,#99ebc2);margin:0;font-weight:700;padding:2px 4px}#window_playRoomInfo .body{position:absolute;top:0;left:0;right:0;bottom:0;top:26px;padding:.3em}#window_playRoomInfo .body button~button{margin-left:3em}#window_playRoomInfo .body #playRoomInfo_main{height:200px;width:100%}#window_mapChange{display:none;position:absolute;top:10%;left:10%;width:800px;height:530px;z-index:150}#window_mapChange:after{content:"";clear:both;display:block;width:100%}#window_mapChange .bg{border-radius:4px;border:2px solid #ccc;position:absolute;top:0;left:0;right:0;bottom:0;background:#eee;opacity:.8}#window_mapChange .bg>div{background:linear-gradient(180deg,#eee,#99ebc2);margin:0;font-weight:700;padding:2px 4px}#window_mapChange .body{position:absolute;top:0;left:0;right:0;bottom:0;top:26px;padding:.3em}#window_mapChange .body button~button{margin-left:3em}#window_mapChange .body .r{padding:8px;width:100%}#window_mapChange #mapChange_imagearea{width:100%;height:200px;border:1px solid #666;overflow:scroll}#window_mapChange #mapChange_imagearea div{display:inline-block;width:50px;height:50px;text-align:center}#window_mapChange #mapChange_imagearea div img{max-width:50px;max-height:50px}#window_mapChange #mapChange_imagearea div input{display:block;width:100%;text-align:center}#window_mapChange #mapChange_gridInterval,#window_mapChange #mapChange_height,#window_mapChange #mapChange_width{width:2em}#window_mapChange #mapChange_password{display:none}#window_mapChange #mapChange_preview{width:50%;height:400px;transform-origin:left top;position:relative;float:left}#window_mapChange #mapChange_preview img,#window_mapChange #mapChange_preview object{position:absolute;left:0;top:0}#window_mapChange #mapChange_image{float:left;width:50%;text-align:center;margin-top:150px}#window_mapChange #mapChange_imageSelect{float:left;width:50%;display:none}#window_imageDelete{display:none;position:absolute;top:30%;left:30%;width:600px;height:450px;z-index:150}#window_imageDelete:after{content:"";clear:both;display:block;width:100%}#window_imageDelete .bg{border-radius:4px;border:2px solid #ccc;position:absolute;top:0;left:0;right:0;bottom:0;background:#eee;opacity:.8}#window_imageDelete .bg>div{background:linear-gradient(180deg,#eee,#99ebc2);margin:0;font-weight:700;padding:2px 4px}#window_imageDelete .body{position:absolute;top:0;left:0;right:0;bottom:0;top:26px;padding:.3em}#window_imageDelete .body button~button{margin-left:3em}#window_imageDelete .body .r{padding:8px;width:100%}#window_imageDelete #imageDelete_imagearea{width:100%;height:200px;border:1px solid #666;overflow:scroll}#window_imageDelete #imageDelete_imagearea div{display:inline-block;width:50px;height:76px;text-align:center}#window_imageDelete #imageDelete_imagearea div img{max-width:50px;max-height:50px}#window_imageDelete #imageDelete_imagearea div input{display:block;width:100%;text-align:center}#window_imageDelete #imageDelete_password{display:none}#window_upload{display:none;position:absolute;top:30%;left:30%;width:600px;height:450px;z-index:150}#window_upload:after{content:"";clear:both;display:block;width:100%}#window_upload .bg{border-radius:4px;border:2px solid #ccc;position:absolute;top:0;left:0;right:0;bottom:0;background:#eee;opacity:.8}#window_upload .bg>div{background:linear-gradient(180deg,#eee,#99ebc2);margin:0;font-weight:700;padding:2px 4px}#window_upload .body{position:absolute;top:0;left:0;right:0;bottom:0;top:26px;padding:.3em}#window_upload .body button~button{margin-left:3em}#window_upload .body .r{padding:8px;width:100%}#window_upload #upload_droparea{width:100%;height:200px;border:1px solid #666;overflow:scroll;z-index:55}#window_upload #upload_droparea.is-dragover{background:#fff}#window_upload #upload_droparea.is-dragover img,#window_upload #upload_droparea.is-dragover~.overwrap{display:none}#window_upload #upload_droparea.is-dragover:before{content:"ここにドロップ";display:block;width:100%;text-align:center}#window_upload #upload_droparea div{display:inline-block;width:50px;height:50px;text-align:center}#window_upload #upload_droparea div img{max-width:50px;max-height:50px}#window_upload #upload_droparea~.overwrap{position:absolute;width:100%;text-align:center;top:8px;left:0;z-index:54}#window_upload #upload_droparea~.overwrap input{overflow:hidden;width:0}#window_upload #upload_password{display:none}#window_upload #upload_result{overflow:scorll;width:100%;height:50px}#window_graveyard{display:none;position:absolute;top:30%;left:30%;width:380px;height:125px;z-index:150}#window_graveyard:after{content:"";clear:both;display:block;width:100%}#window_graveyard .bg{border-radius:4px;border:2px solid #ccc;position:absolute;top:0;left:0;right:0;bottom:0;background:#eee;opacity:.8}#window_graveyard .bg>div{background:linear-gradient(180deg,#eee,#99ebc2);margin:0;font-weight:700;padding:2px 4px}#window_graveyard .body{position:absolute;top:0;left:0;right:0;bottom:0;top:26px;padding:.3em}#window_graveyard .body button~button{margin-left:3em}#window_graveyard .body .row{padding:8px;height:50px;width:100%}#window_graveyard #graveyard_reload{float:right}#window_chat{display:none;position:absolute;top:70%;left:0;width:80%;height:30%;z-index:150;display:block}#window_chat:after{content:"";clear:both;display:block;width:100%}#window_chat .bg{border-radius:4px;border:2px solid #ccc;position:absolute;top:0;left:0;right:0;bottom:0;background:#eee;opacity:.8}#window_chat .body{position:absolute;top:0;left:0;right:0;bottom:0;top:22px;padding:.3em;bottom:125px}#window_chat .body #tab{padding-left:10px}#window_chat .body #tab>p{background:linear-gradient(180deg,#ccc,transparent 120%);float:left;margin:0;padding:.2em 1em;margin-right:4px}#window_chat .body #tab>p.active{background:#fff}#window_chat .body #log{position:absolute;top:0;left:0;right:0;bottom:0;top:2.2em;left:10px;right:10px;background:#fff;overflow:hidden}#window_chat .body #log div{display:none;position:absolute;top:0;left:0;right:0;bottom:0;bottom:-18px;overflow:scroll}#window_chat .body #log div .time{color:#000}#window_chat .body #log div.active{display:block}#window_chat .body2{position:absolute;height:125px;padding:.3em;bottom:0}#window_chat .body2 textarea{vertical-align:top;width:750px;height:70px}#window_chat .body2 button.fix{float:right;width:100px}#window_chat .body2 .btn_area{width:120px;float:right}#window_chat .wrap{margin-left:10px;margin-right:10px}#window_chat .r{padding:6px}#window_chat #log p{margin:0}#window_version{display:none;position:absolute;top:40%;left:40%;width:300px;height:110px;z-index:150}#window_version:after{content:"";clear:both;display:block;width:100%}#window_version .bg{border-radius:4px;border:2px solid #ccc;position:absolute;top:0;left:0;right:0;bottom:0;background:#eee;opacity:.8}#window_version .wrap{margin-left:10px;margin-right:10px}#window_version .body{position:absolute;background:#fff;top:22px;padding:.3em}#window_version #version_close{position:absolute;bottom:4px;right:10px}#window_loginNumber{display:none;position:absolute;top:400px;left:200px;width:200px;height:150px;z-index:150;z-index:9999}#window_loginNumber:after{content:"";clear:both;display:block;width:100%}#window_loginNumber .bg{border-radius:4px;border:2px solid #ccc;position:absolute;top:0;left:0;right:0;bottom:0;background:#eee;opacity:.8}#window_loginNumber .body{position:absolute;top:22px;padding:.3em;text-align:center;left:0;right:0;bottm:0}#window_loginNumber .btn{position:absolute;bottom:4px;left:40%;width:20%}#window_chatFont{display:none;position:absolute;top:200px;left:200px;width:300px;height:310px;z-index:150}#window_chatFont:after{content:"";clear:both;display:block;width:100%}#window_chatFont .bg{border-radius:4px;border:2px solid #ccc;position:absolute;top:0;left:0;right:0;bottom:0;background:#eee;opacity:.8}#window_chatFont .bg>div{background:linear-gradient(180deg,#eee,#99ebc2);margin:0;font-weight:700;padding:2px 4px}#window_chatFont .body{position:absolute;top:0;left:0;right:0;bottom:0;top:22px;padding:.3em}#window_chatFont .body .row{padding:8px;width:100%}#window_chatFont .body label{width:9em}#window_loginCheck{display:none;position:absolute;top:200px;left:200px;width:400px;height:190px;z-index:150}#window_loginCheck:after{content:"";clear:both;display:block;width:100%}#window_loginCheck .bg{border-radius:4px;border:2px solid #ccc;position:absolute;top:0;left:0;right:0;bottom:0;background:#eee;opacity:.8}#window_loginCheck .bg>div{background:linear-gradient(180deg,#eee,#99ebc2);margin:0;font-weight:700;padding:2px 4px}#window_loginCheck .body{position:absolute;top:0;left:0;right:0;bottom:0;top:22px;padding:.3em}#window_loginCheck .body .row{padding:8px;width:100%}#window_roomDelete{display:none;position:absolute;top:200px;left:200px;width:400px;height:150px;z-index:150}#window_roomDelete:after{content:"";clear:both;display:block;width:100%}#window_roomDelete .bg{border-radius:4px;border:2px solid #ccc;position:absolute;top:0;left:0;right:0;bottom:0;background:#eee;opacity:.8}#window_roomDelete .bg>div{background:linear-gradient(180deg,#eee,#99ebc2);margin:0;font-weight:700;padding:2px 4px}#window_roomDelete .body{position:absolute;top:0;left:0;right:0;bottom:0;top:22px;padding:.3em}#window_roomDelete .body .row{padding:8px;width:100%}#window_chatPalette{display:none;position:absolute;top:200px;left:200px;width:500px;height:540px;z-index:150}#window_chatPalette:after{content:"";clear:both;display:block;width:100%}#window_chatPalette .bg{border-radius:4px;border:2px solid #ccc;position:absolute;top:0;left:0;right:0;bottom:0;background:#eee;opacity:.8}#window_chatPalette .bg>div{margin:0;font-weight:700;padding:2px 4px}#window_chatPalette .body{position:absolute;top:0;bottom:0;top:22px;padding:.3em;text-align:center;left:0;right:0;bottm:0}#window_chatPalette .body .wrap{position:relative;height:100%}#window_chatPalette .body #chatPalette_tabs{height:1.8em;overflow:hidden;padding-left:10px}#window_chatPalette .body #chatPalette_tabs>p{background:linear-gradient(180deg,#ccc,transparent 120%);float:left;margin:0;padding:.2em 1em;margin-right:4px}#window_chatPalette .body #chatPalette_tabs>p.active{background:#fff}#window_chatPalette .body #chatPalette_name{width:6em}#window_chatPalette .body #chatPalette_tabName{width:4em}#window_chatPalette .body #chatPalette_chattext{width:440px}#window_chatPalette .body .wrap{position:absolute;top:0;left:0;right:0;bottom:0;overflow:hidden}#window_chatPalette .body #chatPalette_main{position:absolute;top:0;left:0;right:0;bottom:0;bottom:-17px;overflow:scroll;background:#fff}#window_chatPalette .body #chatPalette_main p{margin:0;text-align:left;overflow:hidden;min-height:1em}#window_chatPalette .body #chatPalette_main p:hover{background:#cff}#window_chatPalette .body #chatPalette_text{position:absolute;top:0;left:0;right:0;bottom:0;display:none;width:100%}#window_chatPalette .body .r:nth-child(4){position:absolute;top:0;left:0;right:0;bottom:0;top:88px;bottom:40px;left:8px;right:8px}#window_chatPalette .body .r:last-child{position:absolute;bottom:10px;width:100%;padding:0 8px}#window_chatPalette_import{display:none;position:absolute;top:40%;left:40%;width:250px;height:152px;z-index:150}#window_chatPalette_import:after{content:"";clear:both;display:block;width:100%}#window_chatPalette_import .bg{border-radius:4px;border:2px solid #ccc;position:absolute;top:0;left:0;right:0;bottom:0;background:#eee;opacity:.8}#window_chatPalette_import .bg>div{margin:0;font-weight:700;padding:2px 4px}#window_chatPalette_import .body{position:absolute;top:0;bottom:0;top:22px;padding:.3em;text-align:center;left:0;right:0;bottm:0}#window_chatPalette_import #chatPalette_import_droparea{width:100%;height:120px;border:1px solid #666;z-index:55;background:#fff}#window_chatPalette_import #chatPalette_import_droparea.is-dragover{background:#ccf}#window_chatPalette_import #chatPalette_import_droparea.is-dragover img,#window_chatPalette_import #chatPalette_import_droparea.is-dragover~.overwrap{display:none}#window_chatPalette_import #chatPalette_import_droparea.is-dragover:before{content:"ここにドロップ";display:block;width:100%;text-align:center}#window_chatPalette_import #chatPalette_import_droparea div{display:inline-block;width:50px;height:50px;text-align:center}#window_chatPalette_import #chatPalette_import_droparea div img{max-width:50px;max-height:50px}#window_chatPalette_import #chatPalette_import_droparea~.overwrap{position:absolute;width:100%;text-align:center;top:8px;left:0;z-index:54}#window_chatPalette_import #chatPalette_import_droparea~.overwrap input{overflow:hidden;width:0}#window_loadSaveData{display:none;position:absolute;top:200px;left:200px;width:500px;height:540px;z-index:150}#window_loadSaveData:after{content:"";clear:both;display:block;width:100%}#window_loadSaveData .bg{border-radius:4px;border:2px solid #ccc;position:absolute;top:0;left:0;right:0;bottom:0;background:#eee;opacity:.8}#window_loadSaveData .bg>div{margin:0;font-weight:700;padding:2px 4px}#window_loadSaveData .body{position:absolute;top:0;bottom:0;top:22px;padding:.3em;left:0;right:0;bottm:0;line-height:2.4}#window_loadSaveData .body input[type=checkbox]{margin-left:2em}#window_loadSaveData_import{display:none;position:absolute;top:40%;left:40%;width:250px;height:152px;z-index:150}#window_loadSaveData_import:after{content:"";clear:both;display:block;width:100%}#window_loadSaveData_import .bg{border-radius:4px;border:2px solid #ccc;position:absolute;top:0;left:0;right:0;bottom:0;background:#eee;opacity:.8}#window_loadSaveData_import .bg>div{margin:0;font-weight:700;padding:2px 4px}#window_loadSaveData_import .body{position:absolute;top:0;bottom:0;top:22px;padding:.3em;text-align:center;left:0;right:0;bottm:0}#window_loadSaveData_import #loadSaveData_import_droparea{width:100%;height:120px;border:1px solid #666;z-index:55;background:#fff}#window_loadSaveData_import #loadSaveData_import_droparea.is-dragover{background:#ccf}#window_loadSaveData_import #loadSaveData_import_droparea.is-dragover img,#window_loadSaveData_import #loadSaveData_import_droparea.is-dragover~.overwrap{display:none}#window_loadSaveData_import #loadSaveData_import_droparea.is-dragover:before{content:"ここにドロップ";display:block;width:100%;text-align:center}#window_loadSaveData_import #loadSaveData_import_droparea div{display:inline-block;width:50px;height:50px;text-align:center}#window_loadSaveData_import #loadSaveData_import_droparea div img{max-width:50px;max-height:50px}#window_loadSaveData_import #loadSaveData_import_droparea~.overwrap{position:absolute;width:100%;text-align:center;top:8px;left:0;z-index:54}#window_loadSaveData_import #loadSaveData_import_droparea~.overwrap input{overflow:hidden;width:0}#window_createPlayRoom{display:none;position:absolute;top:200px;left:200px;width:500px;height:140px;z-index:150}#window_createPlayRoom:after{content:"";clear:both;display:block;width:100%}#window_createPlayRoom .bg{border-radius:4px;border:2px solid #ccc;position:absolute;top:0;left:0;right:0;bottom:0;background:#eee;opacity:.8}#window_createPlayRoom .body{position:absolute;top:22px;padding:.3em;text-align:center;left:0;right:0;bottm:0}#window_createPlayRoom .i4{display:inline-block;width:45%}#window_createPlayRoom .i6{display:inline-block;width:50%}#window_createPlayRoom .r{text-align:left}#window_createPlayRoom select{height:1.8em} /*# sourceMappingURL=style.css.map */ diff --git a/build/css/style.css.map b/build/css/style.css.map index 51256f6..1395491 100644 --- a/build/css/style.css.map +++ b/build/css/style.css.map @@ -1 +1 @@ -{"version":3,"sources":["style.css"],"names":[],"mappings":"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","file":"style.css","sourcesContent":["@charset \"UTF-8\";\n@import url(//fonts.googleapis.com/earlyaccess/notosansjapanese.css);\n.disabled {\n filter: grayscale(100%);\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -khtml-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n -o-user-select: none;\n user-select: none; }\n .disabled .helptext {\n filter: grayscale(100%);\n z-index: 120; }\n\n.clearfix::after {\n content: \"\";\n clear: both;\n display: block;\n width: 100%; }\n\nbody {\n font-family: 'Noto Sans Japanese', sans-serif; }\n\n#loginMessage font {\n font-size: 14pt !important; }\n\n* {\n box-sizing: border-box; }\n\n.i {\n display: inline-block; }\n\n.center {\n text-align: center; }\n\n.mirrored {\n transform: rotateY(180deg); }\n\n.hide {\n display: none; }\n\n.row {\n margin: 0;\n padding: 0;\n padding-left: 10px; }\n\n.btn {\n float: left;\n border: solid #999 1px;\n background: #ccc;\n border-radius: 4px;\n font-weight: bold;\n padding: 0 8px;\n margin: 0 4px; }\n\n.btn:hover {\n background: #eee;\n box-shadow: 0 0 1px 2px #ccf; }\n\n.dropdown {\n position: relative;\n display: inline-block;\n padding: 3px;\n background: #eee;\n border: solid 1px #ccc;\n border-radius: 4px;\n width: 6em;\n text-align: center; }\n .dropdown:hover .dropdown-content {\n display: block; }\n .dropdown .dropdown-content {\n display: none;\n position: absolute;\n background-color: #f9f9f9;\n min-width: 160px;\n box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);\n z-index: 1;\n right: 0; }\n .dropdown .dropdown-content button {\n border: 0;\n background: transparent;\n display: block;\n width: 100%;\n text-indent: 1em;\n text-align: left; }\n .dropdown .dropdown-content button:hover {\n background: #cff; }\n\n#characterCutIn {\n position: absolute;\n left: 0;\n right: 0;\n bottom: 100%; }\n #characterCutIn img {\n position: absolute;\n bottom: 0; }\n #characterCutIn img.pos1 {\n left: 0; }\n #characterCutIn img.pos2 {\n left: 7%; }\n #characterCutIn img.pos3 {\n left: 14%; }\n #characterCutIn img.pos4 {\n left: 21%; }\n #characterCutIn img.pos5 {\n left: 28%; }\n #characterCutIn img.pos6 {\n left: 35%; }\n #characterCutIn img.pos7 {\n left: 42%; }\n #characterCutIn img.pos8 {\n left: 49%; }\n #characterCutIn img.pos9 {\n left: 56%; }\n #characterCutIn img.pos10 {\n left: 63%; }\n #characterCutIn img.pos11 {\n left: 70%; }\n #characterCutIn img.pos12 {\n left: 77%; }\n #characterCutIn img.mirrored {\n transform: rotateY(180deg); }\n #characterCutIn img:hover {\n opacity: 0.3; }\n #characterCutIn.adjust img {\n min-width: 14%;\n max-height: 400px;\n max-width: 35%; }\n\n#list_memo {\n position: absolute;\n left: 0;\n top: 40px;\n bottom: 0;\n padding-left: 5px;\n width: 60px; }\n #list_memo > div {\n position: relative;\n float: left;\n width: 50px;\n height: 50px;\n background: #fff;\n border: solid 2px #61dbdb;\n border-radius: 4px;\n text-align: center;\n z-index: 54;\n margin-top: 5px;\n overflow: hidden; }\n #list_memo > div img {\n position: absolute;\n left: 0;\n top: 0;\n width: 46px;\n height: 46px;\n z-index: 55; }\n #list_memo > div span {\n font-weight: bold;\n position: absolute;\n z-index: 80;\n left: 0;\n width: 100%; }\n #list_memo > div:hover {\n overflow: visible;\n z-index: 120; }\n #list_memo > div:hover div {\n position: absolute;\n left: 40px;\n top: 20px;\n display: block;\n border: solid black 1px;\n background: #ffc;\n max-width: 800px;\n max-height: 600px;\n overflow: scroll;\n text-align: left;\n padding: 0 5px; }\n #list_memo > div div {\n display: none; }\n\n#diceResult {\n position: absolute;\n left: 0;\n bottom: 100%;\n height: 105px; }\n #diceResult .total {\n position: absolute;\n left: 10px;\n bottom: 70px;\n background: #61dbdb;\n font-weight: bold;\n min-width: 120px;\n text-align: center;\n border: solid black 1px;\n border-radius: 8px;\n font-size: 16pt;\n inline-size: max-content;\n max-inline-size: 600px; }\n #diceResult .total:hover {\n opacity: 0.5; }\n #diceResult img {\n display: block;\n margin-top: 35px;\n height: 70px;\n float: left;\n z-index: 55; }\n #diceResult img:hover {\n opacity: 0.5; }\n\n.dropdown2 {\n position: relative;\n display: inline-block;\n padding: 1px 6px;\n width: 100%;\n text-align: left;\n text-indent: 1em; }\n .dropdown2:hover .dropdown-content2 {\n display: block;\n transition-delay: 1s; }\n .dropdown2 .dropdown-content2 {\n display: none;\n position: absolute;\n background-color: #f9f9f9;\n min-width: 160px;\n box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);\n z-index: 1;\n top: 0;\n left: 100%; }\n .dropdown2 .dropdown-content2 button {\n border: 0;\n background: transparent;\n display: block;\n width: 100%;\n text-indent: 1em;\n text-align: left; }\n .dropdown2 .dropdown-content2 button:hover {\n background: #cff; }\n\nbody {\n padding: 0;\n margin: 0;\n background: #eee;\n font-size: 12px; }\n\n#container {\n overflow: hidden;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: #94aab5; }\n\n#main {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: #eee;\n padding-top: 22px; }\n\n#main2 {\n display: none; }\n\n#loginMessage {\n border: 0;\n overflow: scroll;\n height: 150px;\n font-size: 12px;\n padding: 0.5em; }\n #loginMessage h2 {\n font-size: 18px;\n text-align: center; }\n\n.magicRangeFrame {\n z-index: 36;\n position: absolute;\n text-align: center; }\n .magicRangeFrame.rangeCenterMarker::after {\n content: url(../image/centerMarker.png);\n position: absolute;\n top: 50%;\n margin-left: -25px;\n margin-top: -25px; }\n\n.mapMaskFrame {\n z-index: 35;\n position: absolute;\n text-align: center;\n display: table;\n border: solid #ff9999 4px; }\n .mapMaskFrame.draggableObj {\n z-index: 40;\n border: solid #ffff99 4px; }\n .mapMaskFrame .name {\n color: white;\n vertical-align: middle;\n display: table-cell;\n height: 100%;\n font-size: 18pt; }\n\n.characterFrame {\n z-index: 42;\n position: absolute;\n text-align: center; }\n .characterFrame.isHide {\n z-index: 32; }\n .characterFrame .dogtag {\n position: absolute;\n top: 0;\n left: 0;\n background: white;\n opacity: 0.7;\n font-size: 14pt; }\n .characterFrame .name {\n position: relative;\n top: -1.6em;\n background: white;\n opacity: 0.7;\n inline-size: max-content;\n display: inline; }\n .characterFrame .inner {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-size: contain;\n background-position: center;\n background-repeat: no-repeat;\n border: solid #bbbb00 4px;\n box-shadow: black 0 0px 0px 2px; }\n\nbutton {\n position: relative;\n border-radius: 4px;\n border: solid 2px #ccc;\n background: #eee; }\n button .helptext {\n display: none; }\n button:hover .helptext {\n z-index: 120;\n display: block;\n position: absolute;\n top: 20px;\n left: 20px;\n background: #ffff99;\n opacity: 0.8;\n border: solid #666633 1px;\n inline-size: max-content; }\n\nbutton.img {\n border-radius: 0;\n border: 0;\n background: transparent;\n padding: 0;\n margin-left: 8px;\n margin-right: 8px; }\n button.img + button.img {\n margin-left: 0; }\n\ninput {\n border-radius: 4px; }\n\n#loginMessage_wrap {\n height: 133px;\n background: white;\n border: solid #ccc 1px;\n margin: 10px;\n overflow: hidden; }\n\n#playRoomInfos {\n margin: 0.5em;\n height: 60%;\n overflow: scroll; }\n #playRoomInfos table {\n width: 100%;\n border-collapse: collapse;\n cell-spacing: 0;\n border-left: solid 1px #ccc;\n border-top: solid 1px #ccc; }\n #playRoomInfos thead {\n background: linear-gradient(to bottom, #fff, #ccc);\n font-size: 12px; }\n #playRoomInfos td, #playRoomInfos th {\n border-right: solid 1px #ccc;\n border-bottom: solid 1px #ccc; }\n #playRoomInfos td {\n text-align: center;\n background: white; }\n #playRoomInfos tr:nth-child(odd) td {\n background: #f9f9f9; }\n #playRoomInfos tr:hover td {\n background: #eef; }\n\n#initiative::after {\n content: \"\";\n clear: both;\n display: block;\n width: 100%; }\n\n#initiative_bg {\n border-radius: 4px;\n border: solid #ccc 2px;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: #eee;\n opacity: 0.7;\n font-size: 12px;\n font-weight: bold; }\n\n#initiative {\n z-index: 60;\n position: absolute;\n top: 40px;\n right: 0;\n width: 400px;\n height: 400px;\n display: none; }\n #initiative #wrap {\n position: absolute;\n left: 6px;\n right: 6px; }\n #initiative table {\n background: white;\n position: absolute;\n top: 50px;\n bottom: 0px;\n border-collapse: collapse;\n font-size: 12px;\n width: 100%;\n border-top: solid #ccc 1px;\n border-left: solid #ccc 1px; }\n #initiative table th,\n #initiative table td {\n border-right: solid #ccc 1px;\n border-bottom: solid #ccc 1px;\n position: relative; }\n #initiative table th:not(:last),\n #initiative table td:not(:last) {\n max-width: 3em; }\n #initiative table th input:not(:checkbox),\n #initiative table td input:not(:checkbox) {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0; }\n #initiative table th p {\n overflow: hidden;\n margin: 0;\n height: 1.5em; }\n\n#window_help {\n display: none;\n position: absolute;\n top: 40%;\n left: 40%;\n width: 600px;\n height: 400px;\n z-index: 60; }\n #window_help::after {\n content: \"\";\n clear: both;\n display: block;\n width: 100%; }\n #window_help .bg {\n border-radius: 4px;\n border: solid #ccc 2px;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: #eee;\n opacity: 0.8; }\n #window_help .bg > div {\n background: linear-gradient(to bottom, #eee, #99ebc2);\n margin: 0;\n font-weight: bold;\n padding: 2px 4px; }\n #window_help .body {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n top: 26px;\n padding: 0.3em;\n overflow: scroll; }\n #window_help .body pre {\n margin: 0;\n background: #fff; }\n\n#window_mapMask {\n display: none;\n position: absolute;\n top: 40%;\n left: 40%;\n width: 400px;\n height: 300px;\n z-index: 60; }\n #window_mapMask::after {\n content: \"\";\n clear: both;\n display: block;\n width: 100%; }\n #window_mapMask .bg {\n border-radius: 4px;\n border: solid #ccc 2px;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: #eee;\n opacity: 0.8; }\n #window_mapMask .bg > div {\n background: linear-gradient(to bottom, #eee, #99ebc2);\n margin: 0;\n font-weight: bold;\n padding: 2px 4px; }\n #window_mapMask .body {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n right: 40%;\n top: 26px;\n padding: 0.3em; }\n #window_mapMask .body button ~ button {\n margin-left: 3em; }\n #window_mapMask .body label {\n width: 3em;\n display: inline-block; }\n #window_mapMask .body .slider {\n width: 120px; }\n #window_mapMask .body .r {\n padding: 8px;\n width: 100%; }\n #window_mapMask .body2 {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n left: 40%;\n top: 26px;\n padding: 0.3em; }\n #window_mapMask .body2 #mapMask_preview {\n transform-origin: top left; }\n #window_mapMask #mapMask_name {\n width: 7em; }\n #window_mapMask #mapMask_width, #window_mapMask #mapMask_height {\n width: 3em; }\n\n#window_mapChange {\n display: none;\n position: absolute;\n top: 10%;\n left: 10%;\n width: 800px;\n height: 530px;\n z-index: 60; }\n #window_mapChange::after {\n content: \"\";\n clear: both;\n display: block;\n width: 100%; }\n #window_mapChange .bg {\n border-radius: 4px;\n border: solid #ccc 2px;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: #eee;\n opacity: 0.8; }\n #window_mapChange .bg > div {\n background: linear-gradient(to bottom, #eee, #99ebc2);\n margin: 0;\n font-weight: bold;\n padding: 2px 4px; }\n #window_mapChange .body {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n top: 26px;\n padding: 0.3em; }\n #window_mapChange .body button ~ button {\n margin-left: 3em; }\n #window_mapChange .body .r {\n padding: 8px;\n width: 100%; }\n #window_mapChange #mapChange_imagearea {\n width: 100%;\n height: 200px;\n border: solid #666 1px;\n overflow: scroll; }\n #window_mapChange #mapChange_imagearea div {\n display: inline-block;\n width: 50px;\n height: 50px;\n text-align: center; }\n #window_mapChange #mapChange_imagearea div img {\n max-width: 50px;\n max-height: 50px; }\n #window_mapChange #mapChange_imagearea div input {\n display: block;\n width: 100%;\n text-align: center; }\n #window_mapChange #mapChange_width, #window_mapChange #mapChange_height, #window_mapChange #mapChange_gridInterval {\n width: 2em; }\n #window_mapChange #mapChange_password {\n display: none; }\n #window_mapChange #mapChange_preview {\n width: 50%;\n height: 400px;\n transform-origin: left top;\n position: relative;\n float: left; }\n #window_mapChange #mapChange_preview object {\n position: absolute;\n left: 0;\n top: 0; }\n #window_mapChange #mapChange_preview img {\n position: absolute;\n left: 0;\n top: 0; }\n #window_mapChange #mapChange_image {\n float: left;\n width: 50%;\n text-align: center;\n margin-top: 150px; }\n #window_mapChange #mapChange_imageSelect {\n float: left;\n width: 50%;\n display: none; }\n\n#window_imageDelete {\n display: none;\n position: absolute;\n top: 30%;\n left: 30%;\n width: 600px;\n height: 450px;\n z-index: 60; }\n #window_imageDelete::after {\n content: \"\";\n clear: both;\n display: block;\n width: 100%; }\n #window_imageDelete .bg {\n border-radius: 4px;\n border: solid #ccc 2px;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: #eee;\n opacity: 0.8; }\n #window_imageDelete .bg > div {\n background: linear-gradient(to bottom, #eee, #99ebc2);\n margin: 0;\n font-weight: bold;\n padding: 2px 4px; }\n #window_imageDelete .body {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n top: 26px;\n padding: 0.3em; }\n #window_imageDelete .body button ~ button {\n margin-left: 3em; }\n #window_imageDelete .body .r {\n padding: 8px;\n width: 100%; }\n #window_imageDelete #imageDelete_imagearea {\n width: 100%;\n height: 200px;\n border: solid #666 1px;\n overflow: scroll; }\n #window_imageDelete #imageDelete_imagearea div {\n display: inline-block;\n width: 50px;\n height: 76px;\n text-align: center; }\n #window_imageDelete #imageDelete_imagearea div img {\n max-width: 50px;\n max-height: 50px; }\n #window_imageDelete #imageDelete_imagearea div input {\n display: block;\n width: 100%;\n text-align: center; }\n #window_imageDelete #imageDelete_password {\n display: none; }\n\n#window_upload {\n display: none;\n position: absolute;\n top: 30%;\n left: 30%;\n width: 600px;\n height: 450px;\n z-index: 60; }\n #window_upload::after {\n content: \"\";\n clear: both;\n display: block;\n width: 100%; }\n #window_upload .bg {\n border-radius: 4px;\n border: solid #ccc 2px;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: #eee;\n opacity: 0.8; }\n #window_upload .bg > div {\n background: linear-gradient(to bottom, #eee, #99ebc2);\n margin: 0;\n font-weight: bold;\n padding: 2px 4px; }\n #window_upload .body {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n top: 26px;\n padding: 0.3em; }\n #window_upload .body button ~ button {\n margin-left: 3em; }\n #window_upload .body .r {\n padding: 8px;\n width: 100%; }\n #window_upload #upload_droparea {\n width: 100%;\n height: 200px;\n border: solid #666 1px;\n overflow: scroll;\n z-index: 55; }\n #window_upload #upload_droparea.is-dragover {\n background: white; }\n #window_upload #upload_droparea.is-dragover ~ .overwrap, #window_upload #upload_droparea.is-dragover img {\n display: none; }\n #window_upload #upload_droparea.is-dragover::before {\n content: \"ここにドロップ\";\n display: block;\n width: 100%;\n text-align: center; }\n #window_upload #upload_droparea div {\n display: inline-block;\n width: 50px;\n height: 50px;\n text-align: center; }\n #window_upload #upload_droparea div img {\n max-width: 50px;\n max-height: 50px; }\n #window_upload #upload_droparea ~ .overwrap {\n position: absolute;\n width: 100%;\n text-align: center;\n top: 8px;\n left: 0;\n z-index: 54; }\n #window_upload #upload_droparea ~ .overwrap input {\n overflow: hidden;\n width: 0; }\n #window_upload #upload_password {\n display: none; }\n #window_upload #upload_result {\n overflow: scorll;\n width: 100%;\n height: 50px; }\n\n.pull-right {\n float: right; }\n\n#window_graveyard {\n display: none;\n position: absolute;\n top: 30%;\n left: 30%;\n width: 380px;\n height: 125px;\n z-index: 60; }\n #window_graveyard::after {\n content: \"\";\n clear: both;\n display: block;\n width: 100%; }\n #window_graveyard .bg {\n border-radius: 4px;\n border: solid #ccc 2px;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: #eee;\n opacity: 0.8; }\n #window_graveyard .bg > div {\n background: linear-gradient(to bottom, #eee, #99ebc2);\n margin: 0;\n font-weight: bold;\n padding: 2px 4px; }\n #window_graveyard .body {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n top: 26px;\n padding: 0.3em; }\n #window_graveyard .body button ~ button {\n margin-left: 3em; }\n #window_graveyard .body .row {\n padding: 8px;\n height: 50px;\n width: 100%; }\n #window_graveyard #graveyard_reload {\n float: right; }\n\n#window_chat {\n display: none;\n position: absolute;\n top: 70%;\n left: 0;\n width: 80%;\n height: 30%;\n z-index: 60;\n display: block; }\n #window_chat::after {\n content: \"\";\n clear: both;\n display: block;\n width: 100%; }\n #window_chat .bg {\n border-radius: 4px;\n border: solid #ccc 2px;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: #eee;\n opacity: 0.8; }\n #window_chat .body {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n top: 22px;\n padding: 0.3em;\n bottom: 125px; }\n #window_chat .body #tab {\n padding-left: 10px; }\n #window_chat .body #tab > p {\n background: linear-gradient(to bottom, #ccc, transparent 120%);\n float: left;\n margin: 0;\n padding: 0.2em 1em;\n margin-right: 4px; }\n #window_chat .body #tab > p.active {\n background: #fff; }\n #window_chat .body #log {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n top: 2.2em;\n left: 10px;\n right: 10px;\n background: #fff;\n overflow: hidden; }\n #window_chat .body #log div {\n display: none;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n bottom: -18px;\n overflow: scroll; }\n #window_chat .body #log div.active {\n display: block; }\n #window_chat .body2 {\n position: absolute;\n height: 125px;\n padding: 0.3em;\n bottom: 0; }\n #window_chat .body2 textarea {\n vertical-align: top;\n width: 750px;\n height: 70px; }\n #window_chat .body2 button.fix {\n float: right;\n width: 100px; }\n #window_chat .body2 .btn_area {\n width: 120px;\n float: right; }\n #window_chat .wrap {\n margin-left: 10px;\n margin-right: 10px; }\n #window_chat .r {\n padding: 6px; }\n #window_chat #log p {\n margin: 0; }\n\n#window_version {\n display: none;\n position: absolute;\n top: 40%;\n left: 40%;\n width: 300px;\n height: 110px;\n z-index: 60; }\n #window_version::after {\n content: \"\";\n clear: both;\n display: block;\n width: 100%; }\n #window_version .bg {\n border-radius: 4px;\n border: solid #ccc 2px;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: #eee;\n opacity: 0.8; }\n #window_version .wrap {\n margin-left: 10px;\n margin-right: 10px; }\n #window_version .body {\n position: absolute;\n background: #fff;\n top: 22px;\n padding: 0.3em; }\n #window_version #version_close {\n position: absolute;\n bottom: 4px;\n right: 10px; }\n\n#window_loginNumber {\n display: none;\n position: absolute;\n top: 400px;\n left: 200px;\n width: 200px;\n height: 150px;\n z-index: 60;\n z-index: 9999; }\n #window_loginNumber::after {\n content: \"\";\n clear: both;\n display: block;\n width: 100%; }\n #window_loginNumber .bg {\n border-radius: 4px;\n border: solid #ccc 2px;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: #eee;\n opacity: 0.8; }\n #window_loginNumber .body {\n position: absolute;\n top: 22px;\n padding: 0.3em;\n text-align: center;\n left: 0;\n right: 0;\n bottm: 0; }\n #window_loginNumber .btn {\n position: absolute;\n bottom: 4px;\n left: 40%;\n width: 20%; }\n\n#window_createPlayRoom {\n display: none;\n position: absolute;\n top: 200px;\n left: 200px;\n width: 500px;\n height: 140px;\n z-index: 60; }\n #window_createPlayRoom::after {\n content: \"\";\n clear: both;\n display: block;\n width: 100%; }\n #window_createPlayRoom .bg {\n border-radius: 4px;\n border: solid #ccc 2px;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: #eee;\n opacity: 0.8; }\n #window_createPlayRoom .body {\n position: absolute;\n top: 22px;\n padding: 0.3em;\n text-align: center;\n left: 0;\n right: 0;\n bottm: 0; }\n #window_createPlayRoom .i4 {\n display: inline-block;\n width: 45%; }\n #window_createPlayRoom .i6 {\n display: inline-block;\n width: 50%; }\n #window_createPlayRoom .r {\n text-align: left; }\n #window_createPlayRoom select {\n height: 1.8em; }\n\n#main2 #menu {\n z-index: 9999;\n position: fixed;\n top: 0;\n width: 100%;\n height: 36px;\n background: linear-gradient(to bottom, #efefef, transparent);\n box-shadow: #333 0 2px 4px; }\n #main2 #menu .menuarea {\n display: inline-block;\n background: linear-gradient(to bottom, #eee, transparent 120%);\n margin: 4px;\n border: #aaa solid 1px; }\n #main2 #menu .menuarea .dropdown {\n width: 5em;\n border: 0;\n background: transparent;\n border-radius: 0; }\n #main2 #menu .menuarea .dropdown .dropdown-content {\n left: 0; }\n #main2 #menu .menuarea .dropdown:hover {\n background: linear-gradient(to top, #eee, #fff 120%); }\n #main2 #menu .dropdown-content {\n inline-size: max-content; }\n #main2 #menu .dropdown-content button {\n font-size: 9pt; }\n #main2 #menu .dropdown-content button.checked {\n padding-left: 0; }\n #main2 #menu .dropdown-content button.checked::before {\n content: url(../image/icons/tick.png);\n position: relative;\n top: 2px; }\n\n#map {\n top: 36px;\n z-index: 10; }\n\n#mapGrid {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 20; }\n\n#mapDraw {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: none;\n z-index: 22; }\n\n#drawPanel {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 23; }\n\n#mapSurface {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 30; }\n\n#drawsPanel {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 25; }\n"]} \ No newline at end of file +{"version":3,"sources":["style.css"],"names":[],"mappings":"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","file":"style.css","sourcesContent":["@charset \"UTF-8\";\n@import url(//fonts.googleapis.com/earlyaccess/notosansjapanese.css);\n/*--- common styles ---*/\n* {\n box-sizing: border-box; }\n\nbody {\n font-family: 'Noto Sans Japanese', sans-serif;\n padding: 0;\n margin: 0;\n background: #eee;\n font-size: 12px; }\n\n#container {\n overflow: hidden;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: #94aab5; }\n\n.row {\n margin: 0;\n padding: 0;\n padding-left: 10px; }\n\n.btn {\n float: left;\n border: solid #999 1px;\n background: #ccc;\n border-radius: 4px;\n font-weight: bold;\n padding: 0 8px;\n margin: 0 4px; }\n .btn:hover {\n background: #eee;\n box-shadow: 0 0 1px 2px #ccf; }\n\n.dropdown {\n position: relative;\n display: inline-block;\n padding: 3px;\n background: #eee;\n border: solid 1px #ccc;\n border-radius: 4px;\n width: 6em;\n text-align: center; }\n .dropdown:hover .dropdown-content {\n display: block; }\n .dropdown .dropdown-content {\n display: none;\n position: absolute;\n background-color: #f9f9f9;\n min-width: 160px;\n box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);\n z-index: 1;\n right: 0; }\n .dropdown .dropdown-content button {\n border: 0;\n background: transparent;\n display: block;\n width: 100%;\n text-indent: 1em;\n text-align: left; }\n .dropdown .dropdown-content button:hover {\n background: #cff; }\n\n.dropdown2 {\n position: relative;\n display: inline-block;\n padding: 1px 6px;\n width: 100%;\n text-align: left;\n text-indent: 1em; }\n .dropdown2:hover .dropdown-content2 {\n display: block;\n transition-delay: 1s; }\n .dropdown2 .dropdown-content2 {\n display: none;\n position: absolute;\n background-color: #f9f9f9;\n min-width: 160px;\n box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);\n z-index: 1;\n top: 0;\n left: 100%; }\n .dropdown2 .dropdown-content2 button {\n border: 0;\n background: transparent;\n display: block;\n width: 100%;\n text-indent: 1em;\n text-align: left; }\n .dropdown2 .dropdown-content2 button:hover {\n background: #cff; }\n\nbutton {\n position: relative;\n border-radius: 4px;\n border: solid 2px #ccc;\n background: #eee; }\n button .helptext {\n display: none; }\n button:hover .helptext {\n z-index: 200;\n display: block;\n position: absolute;\n top: 20px;\n left: 20px;\n background: #ffff99;\n opacity: 0.8;\n border: solid #666633 1px;\n inline-size: max-content; }\n\nbutton.img {\n border-radius: 0;\n border: 0;\n background: transparent;\n padding: 0;\n margin-left: 8px;\n margin-right: 8px; }\n button.img + button.img {\n margin-left: 0; }\n\ninput {\n border-radius: 4px; }\n\nlabel {\n display: inline-block; }\n\n/*--- util classes ---*/\n.clearfix::after {\n content: \"\";\n clear: both;\n display: block;\n width: 100%; }\n\n.disabled {\n filter: grayscale(100%);\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -khtml-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n -o-user-select: none;\n user-select: none; }\n .disabled .helptext {\n filter: grayscale(100%);\n z-index: 200; }\n\n.i {\n display: inline-block; }\n\n.left {\n text-align: left; }\n\n.center {\n text-align: center; }\n\n.right {\n text-align: right; }\n\n.pull-left {\n float: left; }\n\n.pull-right {\n float: right; }\n\n.mirrored {\n transform: rotateY(180deg); }\n\n.hide {\n display: none; }\n\n/*--- content lobby ---*/\n#main {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: #eee;\n padding-top: 22px; }\n\n#loginMessage_wrap {\n height: 133px;\n background: white;\n border: solid #ccc 1px;\n margin: 10px;\n overflow: hidden; }\n\n#loginMessage {\n border: 0;\n overflow: scroll;\n height: 150px;\n font-size: 12px;\n padding: 0.5em; }\n #loginMessage font {\n font-size: 14pt !important; }\n #loginMessage h2 {\n font-size: 18px;\n text-align: center; }\n\n#playRoomInfos {\n margin: 0.5em;\n height: 60%;\n overflow: scroll; }\n #playRoomInfos table {\n width: 100%;\n border-collapse: collapse;\n cell-spacing: 0;\n border-left: solid 1px #ccc;\n border-top: solid 1px #ccc; }\n #playRoomInfos thead {\n background: linear-gradient(to bottom, #fff, #ccc);\n font-size: 12px; }\n #playRoomInfos td, #playRoomInfos th {\n border-right: solid 1px #ccc;\n border-bottom: solid 1px #ccc; }\n #playRoomInfos td {\n text-align: center;\n background: white; }\n #playRoomInfos tr:nth-child(odd) td {\n background: #f9f9f9; }\n #playRoomInfos tr:hover td {\n background: #eef; }\n\n/*--- content playRoom ---*/\n#main2 {\n display: none; }\n #main2 #menu {\n z-index: 9999;\n position: fixed;\n top: 0;\n width: 100%;\n height: 36px;\n background: linear-gradient(to bottom, #efefef, transparent);\n box-shadow: #333 0 2px 4px; }\n #main2 #menu .menuarea {\n display: inline-block;\n background: linear-gradient(to bottom, #eee, transparent 120%);\n margin: 4px 20px;\n border: #aaa solid 1px; }\n #main2 #menu .menuarea .dropdown {\n width: 5em;\n border: 0;\n background: transparent;\n border-radius: 0; }\n #main2 #menu .menuarea .dropdown .dropdown-content {\n left: 0; }\n #main2 #menu .menuarea .dropdown:hover {\n background: linear-gradient(to top, #eee, #fff 120%); }\n #main2 #menu .dropdown-content {\n inline-size: max-content; }\n #main2 #menu .dropdown-content button {\n font-size: 9pt; }\n #main2 #menu .dropdown-content button.checked {\n padding-left: 0; }\n #main2 #menu .dropdown-content button.checked::before {\n content: url(../img/icons/tick.png);\n position: relative;\n top: 2px; }\n #main2 #menu #btn_zoomin {\n margin-left: 20px;\n margin-top: 3px; }\n #main2 #menu #btn_zoomout {\n margin-right: 20px;\n margin-top: 3px; }\n #main2 #menu #btn_screenshot {\n margin-top: 4px;\n margin-right: 8px; }\n #main2 #menu #btn_logout2 {\n margin-top: 4px;\n margin-right: 20px; }\n\n#map {\n top: 36px;\n z-index: 10; }\n\n#mapGrid {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 52;\n pointer-events: none; }\n\n#mapDraw {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: none;\n z-index: 16;\n pointer-events: none; }\n\n#mapSurface {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 18; }\n\n#drawsPanel {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 14;\n pointer-events: none; }\n\n#diceResult {\n position: absolute;\n left: 0;\n bottom: 100%;\n height: 105px;\n z-index: 110; }\n #diceResult .total {\n position: absolute;\n left: 10px;\n bottom: 70px;\n background: #61dbdb;\n font-weight: bold;\n min-width: 120px;\n text-align: center;\n border: solid black 1px;\n border-radius: 8px;\n font-size: 16pt;\n inline-size: max-content;\n max-inline-size: 600px; }\n #diceResult .total:hover {\n opacity: 0.5; }\n #diceResult img {\n display: block;\n margin-top: 35px;\n height: 70px;\n float: left; }\n #diceResult img:hover {\n opacity: 0.5; }\n\n#characterCutIn {\n position: absolute;\n left: 0;\n right: 0;\n bottom: 100%;\n z-index: 100; }\n #characterCutIn img {\n position: absolute;\n bottom: 0; }\n #characterCutIn img.pos1 {\n left: 0; }\n #characterCutIn img.pos2 {\n left: 7%; }\n #characterCutIn img.pos3 {\n left: 14%; }\n #characterCutIn img.pos4 {\n left: 21%; }\n #characterCutIn img.pos5 {\n left: 28%; }\n #characterCutIn img.pos6 {\n left: 35%; }\n #characterCutIn img.pos7 {\n left: 42%; }\n #characterCutIn img.pos8 {\n left: 49%; }\n #characterCutIn img.pos9 {\n left: 56%; }\n #characterCutIn img.pos10 {\n left: 63%; }\n #characterCutIn img.pos11 {\n left: 70%; }\n #characterCutIn img.pos12 {\n left: 77%; }\n #characterCutIn img.mirrored {\n transform: rotateY(180deg); }\n #characterCutIn img:hover {\n opacity: 0.3; }\n #characterCutIn.adjust img {\n min-width: 14%;\n max-height: 400px;\n max-width: 35%; }\n\n#list_memo {\n position: absolute;\n left: 0;\n top: 40px;\n bottom: 0;\n padding-left: 5px;\n width: 60px; }\n #list_memo > div {\n position: relative;\n float: left;\n width: 50px;\n height: 50px;\n background: #fff;\n border: solid 2px #61dbdb;\n border-radius: 4px;\n text-align: center;\n z-index: 120;\n margin-top: 5px;\n overflow: hidden; }\n #list_memo > div img {\n position: absolute;\n left: 0;\n top: 0;\n width: 46px;\n height: 46px;\n z-index: 125; }\n #list_memo > div span {\n font-weight: bold;\n position: absolute;\n z-index: 126;\n left: 0;\n width: 100%; }\n #list_memo > div:hover {\n overflow: visible;\n z-index: 200; }\n #list_memo > div:hover div {\n position: absolute;\n left: 40px;\n top: 20px;\n display: block;\n border: solid black 1px;\n background: #ffc;\n max-width: 800px;\n max-height: 600px;\n overflow: scroll;\n text-align: left;\n padding: 0 5px; }\n #list_memo > div div {\n display: none; }\n\n/*--- objects ---*/\n.magicRangeFrame {\n z-index: 40;\n position: absolute;\n text-align: center; }\n .magicRangeFrame object {\n pointer-events: none; }\n .magicRangeFrame.rangeCenterMarker::after {\n content: url(../img/centerMarker.png);\n position: absolute;\n top: 50%;\n left: 50%;\n margin-left: -25px;\n margin-top: -25px; }\n .magicRangeFrame.rangeLeftMarker::after {\n content: url(../img/centerMarker.png);\n position: absolute;\n top: 50%;\n left: 0;\n margin-left: -25px;\n margin-top: -25px; }\n .magicRangeFrame.rangeRightMarker::after {\n content: url(../img/centerMarker.png);\n position: absolute;\n top: 50%;\n right: 0;\n margin-left: 25px;\n margin-top: -25px; }\n .magicRangeFrame.rangeTopMarker::after {\n content: url(../img/centerMarker.png);\n position: absolute;\n top: 0;\n left: 50%;\n margin-left: -25px;\n margin-top: -25px; }\n .magicRangeFrame.rangeBottomMarker::after {\n content: url(../img/centerMarker.png);\n position: absolute;\n bottom: 0;\n left: 50%;\n margin-left: -25px;\n margin-top: 25px; }\n .magicRangeFrame.rangeTopLeftMarker::after {\n content: url(../img/centerMarker.png);\n position: absolute;\n top: 0;\n left: 0;\n margin-left: -25px;\n margin-top: -25px; }\n .magicRangeFrame.rangeTopRightMarker::after {\n content: url(../img/centerMarker.png);\n position: absolute;\n top: 0;\n right: 0;\n margin-left: 25px;\n margin-top: -25px; }\n .magicRangeFrame.rangeBottomLeftMarker::after {\n content: url(../img/centerMarker.png);\n position: absolute;\n bottom: 0;\n left: 0;\n margin-left: -25px;\n margin-top: 25px; }\n .magicRangeFrame.rangeBottomRightMarker::after {\n content: url(../img/centerMarker.png);\n position: absolute;\n bottom: 0;\n right: 0;\n margin-left: 25px;\n margin-top: 25px; }\n\n.mapMaskFrame {\n z-index: 30;\n position: absolute;\n text-align: center;\n display: table;\n border: solid #ff9999 4px; }\n .mapMaskFrame.draggableObj {\n z-index: 35;\n border: solid #ffff99 4px; }\n .mapMaskFrame .name {\n color: white;\n vertical-align: middle;\n display: table-cell;\n height: 100%;\n font-size: 18pt; }\n\n.characterFrame {\n z-index: 55;\n position: absolute;\n text-align: center; }\n .characterFrame.isHide {\n z-index: 25; }\n .characterFrame .dogtag {\n position: absolute;\n top: 0;\n left: 0;\n background: white;\n opacity: 0.7;\n font-size: 14pt; }\n .characterFrame .name {\n position: relative;\n top: -1.6em;\n background: white;\n opacity: 0.7;\n inline-size: max-content;\n display: inline; }\n .characterFrame .inner {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-size: contain;\n background-position: center;\n background-repeat: no-repeat;\n border: solid #bbbb00 4px;\n box-shadow: black 0 0px 0px 2px; }\n\n/*--- window ---*/\n#initiative::after {\n content: \"\";\n clear: both;\n display: block;\n width: 100%; }\n\n#initiative_bg {\n border-radius: 4px;\n border: solid #ccc 2px;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: #eee;\n opacity: 0.7;\n font-size: 12px;\n font-weight: bold; }\n\n#initiative {\n z-index: 150;\n position: absolute;\n top: 40px;\n right: 0;\n width: 400px;\n height: 400px;\n display: none; }\n #initiative #wrap {\n position: absolute;\n left: 6px;\n right: 6px; }\n #initiative table {\n background: white;\n position: absolute;\n top: 50px;\n bottom: 0px;\n border-collapse: collapse;\n font-size: 12px;\n width: 100%;\n border-top: solid #ccc 1px;\n border-left: solid #ccc 1px; }\n #initiative table tr {\n background: white; }\n #initiative table tr:hover {\n background: #cff; }\n #initiative table tr:hover input:not([type=\"checkbox\"]) {\n background: #cff; }\n #initiative table th,\n #initiative table td {\n position: relative;\n border-right: solid #ccc 1px;\n border-bottom: solid #ccc 1px; }\n #initiative table th:nth-child(n+2):not(:last-child),\n #initiative table td:nth-child(n+2):not(:last-child) {\n min-width: 3.2em; }\n #initiative table th input[type=\"number\"],\n #initiative table td input[type=\"number\"] {\n text-align: right; }\n #initiative table th input[type=\"number\"] input[type=\"number\"]::-webkit-outer-spin-button,\n #initiative table th input[type=\"number\"] input[type=\"number\"]::-webkit-inner-spin-button,\n #initiative table td input[type=\"number\"] input[type=\"number\"]::-webkit-outer-spin-button,\n #initiative table td input[type=\"number\"] input[type=\"number\"]::-webkit-inner-spin-button {\n width: 0.3em; }\n #initiative table th input:not([type=\"checkbox\"]), #initiative table th textarea,\n #initiative table td input:not([type=\"checkbox\"]),\n #initiative table td textarea {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border: 0;\n width: 100%; }\n #initiative table th p {\n overflow: hidden;\n margin: 0;\n height: 1.5em; }\n\n#window_initiative_edit {\n display: none;\n position: absolute;\n top: 40%;\n left: 40%;\n width: 500px;\n height: 220px;\n z-index: 150; }\n #window_initiative_edit::after {\n content: \"\";\n clear: both;\n display: block;\n width: 100%; }\n #window_initiative_edit .bg {\n border-radius: 4px;\n border: solid #ccc 2px;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: #eee;\n opacity: 0.8; }\n #window_initiative_edit .bg > div {\n background: linear-gradient(to bottom, #eee, #99ebc2);\n margin: 0;\n font-weight: bold;\n padding: 2px 4px; }\n #window_initiative_edit .body {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n top: 26px;\n padding: 0.3em; }\n #window_initiative_edit .body button {\n margin: 0.3em 0.5em; }\n\n#window_saveChatLog {\n display: none;\n position: absolute;\n top: 40%;\n left: 40%;\n width: 340px;\n height: 220px;\n z-index: 150; }\n #window_saveChatLog::after {\n content: \"\";\n clear: both;\n display: block;\n width: 100%; }\n #window_saveChatLog .bg {\n border-radius: 4px;\n border: solid #ccc 2px;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: #eee;\n opacity: 0.8; }\n #window_saveChatLog .bg > div {\n background: linear-gradient(to bottom, #eee, #99ebc2);\n margin: 0;\n font-weight: bold;\n padding: 2px 4px; }\n #window_saveChatLog .body {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n top: 26px;\n padding: 0.3em; }\n #window_saveChatLog .body button {\n margin: 0.3em 0.5em; }\n\n#window_memo {\n display: none;\n position: absolute;\n top: 40%;\n left: 40%;\n width: 600px;\n height: 400px;\n z-index: 150; }\n #window_memo::after {\n content: \"\";\n clear: both;\n display: block;\n width: 100%; }\n #window_memo .bg {\n border-radius: 4px;\n border: solid #ccc 2px;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: #eee;\n opacity: 0.8; }\n #window_memo .bg > div {\n background: linear-gradient(to bottom, #eee, #99ebc2);\n margin: 0;\n font-weight: bold;\n padding: 2px 4px; }\n #window_memo .body {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n top: 26px;\n padding: 0.3em; }\n #window_memo .body #memo_listTab {\n overflow: hidden;\n height: 18px; }\n #window_memo .body .tab {\n position: relative;\n text-overflow: ellipsis;\n overflow: hidden;\n min-width: 4em;\n border: solid #ccc 1px;\n border-radius: 4px;\n text-align: center;\n float: left;\n height: 1.4em;\n padding-right: 16px; }\n #window_memo .body .tab img {\n display: none; }\n #window_memo .body .tab:hover img {\n display: inline-block;\n position: absolute;\n width: 12px;\n top: 2px;\n right: 2px; }\n #window_memo .body .tab.active {\n background: white; }\n #window_memo .body textarea {\n display: none;\n min-width: 100%;\n max-width: 100%;\n height: 310px; }\n #window_memo .body textarea.active {\n display: inline-block; }\n\n#window_help {\n display: none;\n position: absolute;\n top: 40%;\n left: 40%;\n width: 600px;\n height: 400px;\n z-index: 150; }\n #window_help::after {\n content: \"\";\n clear: both;\n display: block;\n width: 100%; }\n #window_help .bg {\n border-radius: 4px;\n border: solid #ccc 2px;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: #eee;\n opacity: 0.8; }\n #window_help .bg > div {\n background: linear-gradient(to bottom, #eee, #99ebc2);\n margin: 0;\n font-weight: bold;\n padding: 2px 4px; }\n #window_help .body {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n top: 26px;\n padding: 0.3em;\n overflow: scroll; }\n #window_help .body pre {\n margin: 0;\n background: #fff; }\n\n#window_mapMask {\n display: none;\n position: absolute;\n top: 40%;\n left: 40%;\n width: 400px;\n height: 300px;\n z-index: 150; }\n #window_mapMask::after {\n content: \"\";\n clear: both;\n display: block;\n width: 100%; }\n #window_mapMask .bg {\n border-radius: 4px;\n border: solid #ccc 2px;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: #eee;\n opacity: 0.8; }\n #window_mapMask .bg > div {\n background: linear-gradient(to bottom, #eee, #99ebc2);\n margin: 0;\n font-weight: bold;\n padding: 2px 4px; }\n #window_mapMask .body {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n right: 40%;\n top: 26px;\n padding: 0.3em; }\n #window_mapMask .body button ~ button {\n margin-left: 3em; }\n #window_mapMask .body label {\n width: 3em;\n text-align: right;\n display: inline-block; }\n #window_mapMask .body .slider {\n width: 120px; }\n #window_mapMask .body .r {\n padding: 8px;\n width: 100%; }\n #window_mapMask .body2 {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n left: 40%;\n top: 26px;\n padding: 0.3em; }\n #window_mapMask .body2 #mapMask_preview {\n transform-origin: top left; }\n #window_mapMask #mapMask_name {\n width: 7em; }\n #window_mapMask #mapMask_width, #window_mapMask #mapMask_height {\n width: 3em; }\n\n#window_magicRangeDD4th {\n display: none;\n position: absolute;\n top: 40%;\n left: 40%;\n width: 400px;\n height: 350px;\n z-index: 150; }\n #window_magicRangeDD4th::after {\n content: \"\";\n clear: both;\n display: block;\n width: 100%; }\n #window_magicRangeDD4th .bg {\n border-radius: 4px;\n border: solid #ccc 2px;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: #eee;\n opacity: 0.8; }\n #window_magicRangeDD4th .bg > div {\n background: linear-gradient(to bottom, #eee, #99ebc2);\n margin: 0;\n font-weight: bold;\n padding: 2px 4px; }\n #window_magicRangeDD4th .body {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n top: 26px;\n padding: 0.3em; }\n #window_magicRangeDD4th .body button ~ button {\n margin-left: 3em; }\n #window_magicRangeDD4th .body label {\n width: 8em;\n display: inline-block;\n text-align: right; }\n #window_magicRangeDD4th .body .r {\n padding: 8px;\n width: 100%; }\n #window_magicRangeDD4th .body #magicRangeDD4th_name, #window_magicRangeDD4th .body #magicRangeDD4th_info {\n width: 10em; }\n #window_magicRangeDD4th .body #magicRangeDD4th_timeRange, #window_magicRangeDD4th .body #magicRangeDD4th_feets {\n width: 3em; }\n\n#window_magicRangeLH {\n display: none;\n position: absolute;\n top: 40%;\n left: 40%;\n width: 400px;\n height: 200px;\n z-index: 150; }\n #window_magicRangeLH::after {\n content: \"\";\n clear: both;\n display: block;\n width: 100%; }\n #window_magicRangeLH .bg {\n border-radius: 4px;\n border: solid #ccc 2px;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: #eee;\n opacity: 0.8; }\n #window_magicRangeLH .bg > div {\n background: linear-gradient(to bottom, #eee, #99ebc2);\n margin: 0;\n font-weight: bold;\n padding: 2px 4px; }\n #window_magicRangeLH .body {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n top: 26px;\n padding: 0.3em; }\n #window_magicRangeLH .body button ~ button {\n margin-left: 3em; }\n #window_magicRangeLH .body label {\n width: 8em;\n display: inline-block;\n text-align: right; }\n #window_magicRangeLH .body .r {\n padding: 8px;\n width: 100%; }\n #window_magicRangeLH .body #magicRangeLH_name {\n width: 10em; }\n\n#window_characterCutin {\n display: none;\n position: absolute;\n top: 30%;\n left: 30%;\n width: 500px;\n height: 300px;\n z-index: 150; }\n #window_characterCutin::after {\n content: \"\";\n clear: both;\n display: block;\n width: 100%; }\n #window_characterCutin .bg {\n border-radius: 4px;\n border: solid #ccc 2px;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: #eee;\n opacity: 0.8; }\n #window_characterCutin .bg > div {\n background: linear-gradient(to bottom, #eee, #99ebc2);\n margin: 0;\n font-weight: bold;\n padding: 2px 4px; }\n #window_characterCutin .body {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n top: 26px;\n padding: 0.3em; }\n #window_characterCutin .body .r:nth-child(2) {\n height: 210px;\n overflow: hidden; }\n #window_characterCutin .body .table_wrap {\n height: 217px;\n overflow: scroll; }\n #window_characterCutin .body table {\n width: 100%;\n border-collapse: collapse;\n cell-spacing: 0;\n border-left: solid 1px #ccc;\n border-top: solid 1px #ccc; }\n #window_characterCutin .body table tr:first-child {\n background: linear-gradient(to bottom, #fff, #ccc);\n font-size: 12px; }\n #window_characterCutin .body table th:nth-child(5) {\n column-width: 6em; }\n #window_characterCutin .body td, #window_characterCutin .body th {\n border-right: solid 1px #ccc;\n border-bottom: solid 1px #ccc;\n mex-inline-width: 6em; }\n #window_characterCutin .body td {\n text-align: center;\n background: white; }\n #window_characterCutin .body td p {\n overflow: hidden;\n margin: 0;\n height: 1.5em;\n width: 6em; }\n #window_characterCutin .body tr:nth-child(odd) td {\n background: #f9f9f9; }\n #window_characterCutin .body button ~ button {\n margin-left: 3em; }\n #window_characterCutin .body .r {\n padding: 8px;\n width: 100%; }\n\n#window_characterCutin_create {\n display: none;\n position: absolute;\n top: 10%;\n left: 10%;\n width: 600px;\n height: 480px;\n z-index: 150; }\n #window_characterCutin_create::after {\n content: \"\";\n clear: both;\n display: block;\n width: 100%; }\n #window_characterCutin_create .bg {\n border-radius: 4px;\n border: solid #ccc 2px;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: #eee;\n opacity: 0.8; }\n #window_characterCutin_create .bg > div {\n background: linear-gradient(to bottom, #eee, #99ebc2);\n margin: 0;\n font-weight: bold;\n padding: 2px 4px; }\n #window_characterCutin_create .body {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n top: 26px;\n padding: 0.3em; }\n #window_characterCutin_create .body .r {\n padding: 8px;\n width: 100%; }\n #window_characterCutin_create #characterCutin_create_password {\n display: none; }\n #window_characterCutin_create #characterCutin_create_preview {\n width: 25%;\n height: 250px;\n position: relative;\n float: left; }\n #window_characterCutin_create #characterCutin_create_preview #characterCutin_create_image {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-size: contain;\n background-position: center;\n background-repeat: no-repeat; }\n #window_characterCutin_create #characterCutin_create_preview #characterCutin_create_image.mirrored {\n transform: rotateY(180deg); }\n #window_characterCutin_create #characterCutin_create_imageSelect {\n width: 75%;\n height: 250px;\n float: left; }\n #window_characterCutin_create #characterCutin_create_imagearea {\n width: 100%;\n height: 200px;\n border: solid #666 1px;\n overflow: scroll; }\n #window_characterCutin_create #characterCutin_create_imagearea div {\n display: inline-block;\n width: 50px;\n height: 50px;\n text-align: center; }\n #window_characterCutin_create #characterCutin_create_imagearea div img {\n max-width: 50px;\n max-height: 50px; }\n #window_characterCutin_create #characterCutin_create_imagearea div input {\n display: block;\n width: 100%;\n text-align: center; }\n #window_characterCutin_create label {\n text-align: right;\n width: 18em; }\n #window_characterCutin_create .slider {\n width: 15em;\n display: inline-block; }\n\n#window_addCharacter {\n display: none;\n position: absolute;\n top: 10%;\n left: 10%;\n width: 800px;\n height: 620px;\n z-index: 150; }\n #window_addCharacter::after {\n content: \"\";\n clear: both;\n display: block;\n width: 100%; }\n #window_addCharacter .bg {\n border-radius: 4px;\n border: solid #ccc 2px;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: #eee;\n opacity: 0.8; }\n #window_addCharacter .bg > div {\n background: linear-gradient(to bottom, #eee, #99ebc2);\n margin: 0;\n font-weight: bold;\n padding: 2px 4px; }\n #window_addCharacter .body {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n top: 26px;\n padding: 0.3em; }\n #window_addCharacter .body button ~ button {\n margin-left: 3em; }\n #window_addCharacter .body .r {\n padding: 8px;\n width: 100%; }\n #window_addCharacter #addCharacter_password {\n display: none; }\n #window_addCharacter #addCharacter_preview {\n width: 25%;\n height: 250px;\n position: relative;\n float: left; }\n #window_addCharacter #addCharacter_preview #addCharacter_image {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-size: contain;\n background-position: center;\n background-repeat: no-repeat; }\n #window_addCharacter #addCharacter_preview #addCharacter_image.mirrored {\n transform: rotateY(180deg); }\n #window_addCharacter #addCharacter_imageSelect {\n width: 75%;\n height: 250px;\n float: left; }\n #window_addCharacter #addCharacter_imagearea {\n width: 100%;\n height: 200px;\n border: solid #666 1px;\n overflow: scroll; }\n #window_addCharacter #addCharacter_imagearea div {\n display: inline-block;\n width: 50px;\n height: 50px;\n text-align: center; }\n #window_addCharacter #addCharacter_imagearea div img {\n max-width: 50px;\n max-height: 50px; }\n #window_addCharacter #addCharacter_imagearea div input {\n display: block;\n width: 100%;\n text-align: center; }\n #window_addCharacter #addCharacter_counters {\n width: 100%;\n border-top: solid #ccc 1px;\n border-left: solid #ccc 1px;\n border-collapse: collapse; }\n #window_addCharacter #addCharacter_counters th {\n background: linear-gradient(to bottom, #fff, transparent);\n border-bottom: solid #ccc 1px;\n border-right: solid black 1px;\n min-width: 5em; }\n #window_addCharacter #addCharacter_counters td {\n background: #fff;\n border-bottom: solid #ccc 1px;\n border-right: solid #ccc 1px; }\n #window_addCharacter #addCharacter_counters td input {\n border: 0;\n width: 100%; }\n #window_addCharacter .left-block, #window_addCharacter .right-block {\n width: 50%;\n float: left; }\n #window_addCharacter label {\n width: 5em; }\n #window_addCharacter #addCharacter_info {\n width: 100%;\n height: 120px; }\n #window_addCharacter label .helptext, #window_addCharacter button .helptext {\n display: none; }\n #window_addCharacter label:hover .helptext, #window_addCharacter button:hover .helptext {\n z-index: 200;\n display: block;\n position: absolute;\n top: 20px;\n left: 20px;\n background: #ffff99;\n opacity: 0.8;\n border: solid #666633 1px;\n inline-size: max-content; }\n\n#window_addCharacter_sub {\n display: none;\n position: absolute;\n top: 40%;\n left: 40%;\n width: 150px;\n height: 200px;\n z-index: 150; }\n #window_addCharacter_sub::after {\n content: \"\";\n clear: both;\n display: block;\n width: 100%; }\n #window_addCharacter_sub .bg {\n border-radius: 4px;\n border: solid #ccc 2px;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: #eee;\n opacity: 0.8; }\n #window_addCharacter_sub .bg > div {\n background: linear-gradient(to bottom, #eee, #99ebc2);\n margin: 0;\n font-weight: bold;\n padding: 2px 4px; }\n #window_addCharacter_sub .body {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n top: 26px;\n padding: 0.3em; }\n #window_addCharacter_sub .body #addCharacter_sub_character {\n width: 50px;\n height: 50px;\n margin: auto;\n background-size: contain;\n background-position: center;\n background-repeat: no-repeat; }\n #window_addCharacter_sub .body .r {\n padding: 8px;\n width: 100%; }\n\n#window_playRoomInfo {\n display: none;\n position: absolute;\n top: 30%;\n left: 30%;\n width: 400px;\n height: 300px;\n z-index: 150; }\n #window_playRoomInfo::after {\n content: \"\";\n clear: both;\n display: block;\n width: 100%; }\n #window_playRoomInfo .bg {\n border-radius: 4px;\n border: solid #ccc 2px;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: #eee;\n opacity: 0.8; }\n #window_playRoomInfo .bg > div {\n background: linear-gradient(to bottom, #eee, #99ebc2);\n margin: 0;\n font-weight: bold;\n padding: 2px 4px; }\n #window_playRoomInfo .body {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n top: 26px;\n padding: 0.3em; }\n #window_playRoomInfo .body button ~ button {\n margin-left: 3em; }\n #window_playRoomInfo .body #playRoomInfo_main {\n height: 200px;\n width: 100%; }\n\n#window_mapChange {\n display: none;\n position: absolute;\n top: 10%;\n left: 10%;\n width: 800px;\n height: 530px;\n z-index: 150; }\n #window_mapChange::after {\n content: \"\";\n clear: both;\n display: block;\n width: 100%; }\n #window_mapChange .bg {\n border-radius: 4px;\n border: solid #ccc 2px;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: #eee;\n opacity: 0.8; }\n #window_mapChange .bg > div {\n background: linear-gradient(to bottom, #eee, #99ebc2);\n margin: 0;\n font-weight: bold;\n padding: 2px 4px; }\n #window_mapChange .body {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n top: 26px;\n padding: 0.3em; }\n #window_mapChange .body button ~ button {\n margin-left: 3em; }\n #window_mapChange .body .r {\n padding: 8px;\n width: 100%; }\n #window_mapChange #mapChange_imagearea {\n width: 100%;\n height: 200px;\n border: solid #666 1px;\n overflow: scroll; }\n #window_mapChange #mapChange_imagearea div {\n display: inline-block;\n width: 50px;\n height: 50px;\n text-align: center; }\n #window_mapChange #mapChange_imagearea div img {\n max-width: 50px;\n max-height: 50px; }\n #window_mapChange #mapChange_imagearea div input {\n display: block;\n width: 100%;\n text-align: center; }\n #window_mapChange #mapChange_width, #window_mapChange #mapChange_height, #window_mapChange #mapChange_gridInterval {\n width: 2em; }\n #window_mapChange #mapChange_password {\n display: none; }\n #window_mapChange #mapChange_preview {\n width: 50%;\n height: 400px;\n transform-origin: left top;\n position: relative;\n float: left; }\n #window_mapChange #mapChange_preview object {\n position: absolute;\n left: 0;\n top: 0; }\n #window_mapChange #mapChange_preview img {\n position: absolute;\n left: 0;\n top: 0; }\n #window_mapChange #mapChange_image {\n float: left;\n width: 50%;\n text-align: center;\n margin-top: 150px; }\n #window_mapChange #mapChange_imageSelect {\n float: left;\n width: 50%;\n display: none; }\n\n#window_imageDelete {\n display: none;\n position: absolute;\n top: 30%;\n left: 30%;\n width: 600px;\n height: 450px;\n z-index: 150; }\n #window_imageDelete::after {\n content: \"\";\n clear: both;\n display: block;\n width: 100%; }\n #window_imageDelete .bg {\n border-radius: 4px;\n border: solid #ccc 2px;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: #eee;\n opacity: 0.8; }\n #window_imageDelete .bg > div {\n background: linear-gradient(to bottom, #eee, #99ebc2);\n margin: 0;\n font-weight: bold;\n padding: 2px 4px; }\n #window_imageDelete .body {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n top: 26px;\n padding: 0.3em; }\n #window_imageDelete .body button ~ button {\n margin-left: 3em; }\n #window_imageDelete .body .r {\n padding: 8px;\n width: 100%; }\n #window_imageDelete #imageDelete_imagearea {\n width: 100%;\n height: 200px;\n border: solid #666 1px;\n overflow: scroll; }\n #window_imageDelete #imageDelete_imagearea div {\n display: inline-block;\n width: 50px;\n height: 76px;\n text-align: center; }\n #window_imageDelete #imageDelete_imagearea div img {\n max-width: 50px;\n max-height: 50px; }\n #window_imageDelete #imageDelete_imagearea div input {\n display: block;\n width: 100%;\n text-align: center; }\n #window_imageDelete #imageDelete_password {\n display: none; }\n\n#window_upload {\n display: none;\n position: absolute;\n top: 30%;\n left: 30%;\n width: 600px;\n height: 450px;\n z-index: 150; }\n #window_upload::after {\n content: \"\";\n clear: both;\n display: block;\n width: 100%; }\n #window_upload .bg {\n border-radius: 4px;\n border: solid #ccc 2px;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: #eee;\n opacity: 0.8; }\n #window_upload .bg > div {\n background: linear-gradient(to bottom, #eee, #99ebc2);\n margin: 0;\n font-weight: bold;\n padding: 2px 4px; }\n #window_upload .body {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n top: 26px;\n padding: 0.3em; }\n #window_upload .body button ~ button {\n margin-left: 3em; }\n #window_upload .body .r {\n padding: 8px;\n width: 100%; }\n #window_upload #upload_droparea {\n width: 100%;\n height: 200px;\n border: solid #666 1px;\n overflow: scroll;\n z-index: 55; }\n #window_upload #upload_droparea.is-dragover {\n background: white; }\n #window_upload #upload_droparea.is-dragover ~ .overwrap, #window_upload #upload_droparea.is-dragover img {\n display: none; }\n #window_upload #upload_droparea.is-dragover::before {\n content: \"ここにドロップ\";\n display: block;\n width: 100%;\n text-align: center; }\n #window_upload #upload_droparea div {\n display: inline-block;\n width: 50px;\n height: 50px;\n text-align: center; }\n #window_upload #upload_droparea div img {\n max-width: 50px;\n max-height: 50px; }\n #window_upload #upload_droparea ~ .overwrap {\n position: absolute;\n width: 100%;\n text-align: center;\n top: 8px;\n left: 0;\n z-index: 54; }\n #window_upload #upload_droparea ~ .overwrap input {\n overflow: hidden;\n width: 0; }\n #window_upload #upload_password {\n display: none; }\n #window_upload #upload_result {\n overflow: scorll;\n width: 100%;\n height: 50px; }\n\n#window_graveyard {\n display: none;\n position: absolute;\n top: 30%;\n left: 30%;\n width: 380px;\n height: 125px;\n z-index: 150; }\n #window_graveyard::after {\n content: \"\";\n clear: both;\n display: block;\n width: 100%; }\n #window_graveyard .bg {\n border-radius: 4px;\n border: solid #ccc 2px;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: #eee;\n opacity: 0.8; }\n #window_graveyard .bg > div {\n background: linear-gradient(to bottom, #eee, #99ebc2);\n margin: 0;\n font-weight: bold;\n padding: 2px 4px; }\n #window_graveyard .body {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n top: 26px;\n padding: 0.3em; }\n #window_graveyard .body button ~ button {\n margin-left: 3em; }\n #window_graveyard .body .row {\n padding: 8px;\n height: 50px;\n width: 100%; }\n #window_graveyard #graveyard_reload {\n float: right; }\n\n#window_chat {\n display: none;\n position: absolute;\n top: 70%;\n left: 0;\n width: 80%;\n height: 30%;\n z-index: 150;\n display: block; }\n #window_chat::after {\n content: \"\";\n clear: both;\n display: block;\n width: 100%; }\n #window_chat .bg {\n border-radius: 4px;\n border: solid #ccc 2px;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: #eee;\n opacity: 0.8; }\n #window_chat .body {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n top: 22px;\n padding: 0.3em;\n bottom: 125px; }\n #window_chat .body #tab {\n padding-left: 10px; }\n #window_chat .body #tab > p {\n background: linear-gradient(to bottom, #ccc, transparent 120%);\n float: left;\n margin: 0;\n padding: 0.2em 1em;\n margin-right: 4px; }\n #window_chat .body #tab > p.active {\n background: #fff; }\n #window_chat .body #log {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n top: 2.2em;\n left: 10px;\n right: 10px;\n background: #fff;\n overflow: hidden; }\n #window_chat .body #log div {\n display: none;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n bottom: -18px;\n overflow: scroll; }\n #window_chat .body #log div .time {\n color: black; }\n #window_chat .body #log div.active {\n display: block; }\n #window_chat .body2 {\n position: absolute;\n height: 125px;\n padding: 0.3em;\n bottom: 0; }\n #window_chat .body2 textarea {\n vertical-align: top;\n width: 750px;\n height: 70px; }\n #window_chat .body2 button.fix {\n float: right;\n width: 100px; }\n #window_chat .body2 .btn_area {\n width: 120px;\n float: right; }\n #window_chat .wrap {\n margin-left: 10px;\n margin-right: 10px; }\n #window_chat .r {\n padding: 6px; }\n #window_chat #log p {\n margin: 0; }\n\n#window_version {\n display: none;\n position: absolute;\n top: 40%;\n left: 40%;\n width: 300px;\n height: 110px;\n z-index: 150; }\n #window_version::after {\n content: \"\";\n clear: both;\n display: block;\n width: 100%; }\n #window_version .bg {\n border-radius: 4px;\n border: solid #ccc 2px;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: #eee;\n opacity: 0.8; }\n #window_version .wrap {\n margin-left: 10px;\n margin-right: 10px; }\n #window_version .body {\n position: absolute;\n background: #fff;\n top: 22px;\n padding: 0.3em; }\n #window_version #version_close {\n position: absolute;\n bottom: 4px;\n right: 10px; }\n\n#window_loginNumber {\n display: none;\n position: absolute;\n top: 400px;\n left: 200px;\n width: 200px;\n height: 150px;\n z-index: 150;\n z-index: 9999; }\n #window_loginNumber::after {\n content: \"\";\n clear: both;\n display: block;\n width: 100%; }\n #window_loginNumber .bg {\n border-radius: 4px;\n border: solid #ccc 2px;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: #eee;\n opacity: 0.8; }\n #window_loginNumber .body {\n position: absolute;\n top: 22px;\n padding: 0.3em;\n text-align: center;\n left: 0;\n right: 0;\n bottm: 0; }\n #window_loginNumber .btn {\n position: absolute;\n bottom: 4px;\n left: 40%;\n width: 20%; }\n\n#window_chatFont {\n display: none;\n position: absolute;\n top: 200px;\n left: 200px;\n width: 300px;\n height: 310px;\n z-index: 150; }\n #window_chatFont::after {\n content: \"\";\n clear: both;\n display: block;\n width: 100%; }\n #window_chatFont .bg {\n border-radius: 4px;\n border: solid #ccc 2px;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: #eee;\n opacity: 0.8; }\n #window_chatFont .bg > div {\n background: linear-gradient(to bottom, #eee, #99ebc2);\n margin: 0;\n font-weight: bold;\n padding: 2px 4px; }\n #window_chatFont .body {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n top: 22px;\n padding: 0.3em; }\n #window_chatFont .body .row {\n padding: 8px;\n width: 100%; }\n #window_chatFont .body label {\n width: 9em; }\n\n#window_loginCheck {\n display: none;\n position: absolute;\n top: 200px;\n left: 200px;\n width: 400px;\n height: 190px;\n z-index: 150; }\n #window_loginCheck::after {\n content: \"\";\n clear: both;\n display: block;\n width: 100%; }\n #window_loginCheck .bg {\n border-radius: 4px;\n border: solid #ccc 2px;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: #eee;\n opacity: 0.8; }\n #window_loginCheck .bg > div {\n background: linear-gradient(to bottom, #eee, #99ebc2);\n margin: 0;\n font-weight: bold;\n padding: 2px 4px; }\n #window_loginCheck .body {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n top: 22px;\n padding: 0.3em; }\n #window_loginCheck .body .row {\n padding: 8px;\n width: 100%; }\n\n#window_roomDelete {\n display: none;\n position: absolute;\n top: 200px;\n left: 200px;\n width: 400px;\n height: 150px;\n z-index: 150; }\n #window_roomDelete::after {\n content: \"\";\n clear: both;\n display: block;\n width: 100%; }\n #window_roomDelete .bg {\n border-radius: 4px;\n border: solid #ccc 2px;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: #eee;\n opacity: 0.8; }\n #window_roomDelete .bg > div {\n background: linear-gradient(to bottom, #eee, #99ebc2);\n margin: 0;\n font-weight: bold;\n padding: 2px 4px; }\n #window_roomDelete .body {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n top: 22px;\n padding: 0.3em; }\n #window_roomDelete .body .row {\n padding: 8px;\n width: 100%; }\n\n#window_chatPalette {\n display: none;\n position: absolute;\n top: 200px;\n left: 200px;\n width: 500px;\n height: 540px;\n z-index: 150; }\n #window_chatPalette::after {\n content: \"\";\n clear: both;\n display: block;\n width: 100%; }\n #window_chatPalette .bg {\n border-radius: 4px;\n border: solid #ccc 2px;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: #eee;\n opacity: 0.8; }\n #window_chatPalette .bg > div {\n margin: 0;\n font-weight: bold;\n padding: 2px 4px; }\n #window_chatPalette .body {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n top: 22px;\n padding: 0.3em;\n text-align: center;\n left: 0;\n right: 0;\n bottm: 0; }\n #window_chatPalette .body .wrap {\n position: relative;\n height: 100%; }\n #window_chatPalette .body #chatPalette_tabs {\n height: 1.8em;\n overflow: hidden;\n padding-left: 10px; }\n #window_chatPalette .body #chatPalette_tabs > p {\n background: linear-gradient(to bottom, #ccc, transparent 120%);\n float: left;\n margin: 0;\n padding: 0.2em 1em;\n margin-right: 4px; }\n #window_chatPalette .body #chatPalette_tabs > p.active {\n background: #fff; }\n #window_chatPalette .body #chatPalette_name {\n width: 6em; }\n #window_chatPalette .body #chatPalette_tabName {\n width: 4em; }\n #window_chatPalette .body #chatPalette_chattext {\n width: 440px; }\n #window_chatPalette .body .wrap {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n overflow: hidden; }\n #window_chatPalette .body #chatPalette_main {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n bottom: -17px;\n overflow: scroll;\n background: #fff; }\n #window_chatPalette .body #chatPalette_main p {\n margin: 0;\n text-align: left;\n overflow: hidden;\n min-height: 1em; }\n #window_chatPalette .body #chatPalette_main p:hover {\n background: #cff; }\n #window_chatPalette .body #chatPalette_text {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: none;\n width: 100%; }\n #window_chatPalette .body .r:nth-child(4) {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n top: 88px;\n bottom: 40px;\n left: 8px;\n right: 8px; }\n #window_chatPalette .body .r:last-child {\n position: absolute;\n bottom: 10px;\n width: 100%;\n padding: 0 8px; }\n\n#window_chatPalette_import {\n display: none;\n position: absolute;\n top: 40%;\n left: 40%;\n width: 250px;\n height: 152px;\n z-index: 150; }\n #window_chatPalette_import::after {\n content: \"\";\n clear: both;\n display: block;\n width: 100%; }\n #window_chatPalette_import .bg {\n border-radius: 4px;\n border: solid #ccc 2px;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: #eee;\n opacity: 0.8; }\n #window_chatPalette_import .bg > div {\n margin: 0;\n font-weight: bold;\n padding: 2px 4px; }\n #window_chatPalette_import .body {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n top: 22px;\n padding: 0.3em;\n text-align: center;\n left: 0;\n right: 0;\n bottm: 0; }\n #window_chatPalette_import #chatPalette_import_droparea {\n width: 100%;\n height: 120px;\n border: solid #666 1px;\n z-index: 55;\n background: #fff; }\n #window_chatPalette_import #chatPalette_import_droparea.is-dragover {\n background: #ccf; }\n #window_chatPalette_import #chatPalette_import_droparea.is-dragover ~ .overwrap, #window_chatPalette_import #chatPalette_import_droparea.is-dragover img {\n display: none; }\n #window_chatPalette_import #chatPalette_import_droparea.is-dragover::before {\n content: \"ここにドロップ\";\n display: block;\n width: 100%;\n text-align: center; }\n #window_chatPalette_import #chatPalette_import_droparea div {\n display: inline-block;\n width: 50px;\n height: 50px;\n text-align: center; }\n #window_chatPalette_import #chatPalette_import_droparea div img {\n max-width: 50px;\n max-height: 50px; }\n #window_chatPalette_import #chatPalette_import_droparea ~ .overwrap {\n position: absolute;\n width: 100%;\n text-align: center;\n top: 8px;\n left: 0;\n z-index: 54; }\n #window_chatPalette_import #chatPalette_import_droparea ~ .overwrap input {\n overflow: hidden;\n width: 0; }\n\n#window_loadSaveData {\n display: none;\n position: absolute;\n top: 200px;\n left: 200px;\n width: 500px;\n height: 540px;\n z-index: 150; }\n #window_loadSaveData::after {\n content: \"\";\n clear: both;\n display: block;\n width: 100%; }\n #window_loadSaveData .bg {\n border-radius: 4px;\n border: solid #ccc 2px;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: #eee;\n opacity: 0.8; }\n #window_loadSaveData .bg > div {\n margin: 0;\n font-weight: bold;\n padding: 2px 4px; }\n #window_loadSaveData .body {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n top: 22px;\n padding: 0.3em;\n left: 0;\n right: 0;\n bottm: 0;\n line-height: 2.4; }\n #window_loadSaveData .body input[type=checkbox] {\n margin-left: 2em; }\n\n#window_loadSaveData_import {\n display: none;\n position: absolute;\n top: 40%;\n left: 40%;\n width: 250px;\n height: 152px;\n z-index: 150; }\n #window_loadSaveData_import::after {\n content: \"\";\n clear: both;\n display: block;\n width: 100%; }\n #window_loadSaveData_import .bg {\n border-radius: 4px;\n border: solid #ccc 2px;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: #eee;\n opacity: 0.8; }\n #window_loadSaveData_import .bg > div {\n margin: 0;\n font-weight: bold;\n padding: 2px 4px; }\n #window_loadSaveData_import .body {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n top: 22px;\n padding: 0.3em;\n text-align: center;\n left: 0;\n right: 0;\n bottm: 0; }\n #window_loadSaveData_import #loadSaveData_import_droparea {\n width: 100%;\n height: 120px;\n border: solid #666 1px;\n z-index: 55;\n background: #fff; }\n #window_loadSaveData_import #loadSaveData_import_droparea.is-dragover {\n background: #ccf; }\n #window_loadSaveData_import #loadSaveData_import_droparea.is-dragover ~ .overwrap, #window_loadSaveData_import #loadSaveData_import_droparea.is-dragover img {\n display: none; }\n #window_loadSaveData_import #loadSaveData_import_droparea.is-dragover::before {\n content: \"ここにドロップ\";\n display: block;\n width: 100%;\n text-align: center; }\n #window_loadSaveData_import #loadSaveData_import_droparea div {\n display: inline-block;\n width: 50px;\n height: 50px;\n text-align: center; }\n #window_loadSaveData_import #loadSaveData_import_droparea div img {\n max-width: 50px;\n max-height: 50px; }\n #window_loadSaveData_import #loadSaveData_import_droparea ~ .overwrap {\n position: absolute;\n width: 100%;\n text-align: center;\n top: 8px;\n left: 0;\n z-index: 54; }\n #window_loadSaveData_import #loadSaveData_import_droparea ~ .overwrap input {\n overflow: hidden;\n width: 0; }\n\n#window_createPlayRoom {\n display: none;\n position: absolute;\n top: 200px;\n left: 200px;\n width: 500px;\n height: 140px;\n z-index: 150; }\n #window_createPlayRoom::after {\n content: \"\";\n clear: both;\n display: block;\n width: 100%; }\n #window_createPlayRoom .bg {\n border-radius: 4px;\n border: solid #ccc 2px;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: #eee;\n opacity: 0.8; }\n #window_createPlayRoom .body {\n position: absolute;\n top: 22px;\n padding: 0.3em;\n text-align: center;\n left: 0;\n right: 0;\n bottm: 0; }\n #window_createPlayRoom .i4 {\n display: inline-block;\n width: 45%; }\n #window_createPlayRoom .i6 {\n display: inline-block;\n width: 50%; }\n #window_createPlayRoom .r {\n text-align: left; }\n #window_createPlayRoom select {\n height: 1.8em; }\n"]} \ No newline at end of file diff --git a/build/index.html b/build/index.html index cdaab3c..5d406e6 100644 --- a/build/index.html +++ b/build/index.html @@ -12,6 +12,7 @@ + @@ -190,11 +191,11 @@
@@ -388,8 +389,8 @@
-
- +
+
@@ -1001,6 +1002,82 @@ +
+
+
ロード +
×
+
+
+
+ 全データをロードする(現在のデータはすべて破棄されます) +
+
+ 一部データのみをロードする。 +
+
+ マップを変更する +
+
以下は現状に該当データを追加します(現在のデータは保持されます)
+
+ フロアタイル +
+
+ マップマスク +
+
+ マップマーカー +
+
+ キャラクター +
+
+ キャラクター待合室 +
+
+ 魔法範囲 +
+
+ 共有メモ +
+
+ 立ち絵 +
+
+ カットイン +
+
+ カード +
+
+ イニシアティブ表 +
+
+ リソース +
+
+ ダイスボット表 +
+
+ + +
+
+
+
+
+
+
ロード +
×
+
+
+ +
+
+ ファイルを選択
 または 
ファイルをドラッグアンドドロップ +
+
+
+
バージョン
diff --git a/build/js/.maps/index.js.map b/build/js/.maps/index.js.map index 7676983..444be83 100644 --- a/build/js/.maps/index.js.map +++ b/build/js/.maps/index.js.map @@ -1 +1 @@ -{"version":3,"names":[],"mappings":"","sources":["index.js"],"sourcesContent":["ddf.cmd = {};\r\nchatlog = [];\r\n\r\nvar version = require('../../package.json').version;\r\n\r\nvar store = require('store');\r\nvar screenshot = require('./screenshot.js').generate;\r\nvar lang = \"Japanese\";\r\n\r\nrequire(\"./contextMenu/.loading.js\");\r\nrequire(\"./window/.loading.js\");\r\nrequire(\"./room_menu.js\");\r\n\r\nwindow_focus = true;\r\nrunning = false;\r\nwindow.onblur = function() { window_focus = false; }\r\nwindow.onfocus = function() { window_focus = true; }\r\n\r\nframe = 0;\r\nfunction titleAnimation(){\r\n list = \"─/|\\";\r\n if(window_focus){\r\n document.title = \"どどんとふ\";\r\n running = false;\r\n }else{\r\n frame = (frame + 1) % 4;\r\n document.title = list[frame] + \" どどんとふ\";\r\n setTimeout(titleAnimation, 300);\r\n }\r\n}\r\n\r\nwindow.addEventListener('popstate', (e) => {\r\n //console.log(e);\r\n});\r\nvar click = {x:0,y:0};\r\n\r\nddf.roomInfos = [];\r\nvar pageBuffer, diceRollBuffer, context;\r\n\r\nfunction playSound(buffer) {\r\n if(ddf.roomState.playSound){\r\n var source = context.createBufferSource();\r\n source.buffer = buffer;\r\n source.connect(context.destination);\r\n source.start(0);\r\n }\r\n}\r\n\r\n$(() => {\r\n ddf.base_url = config.base_url;\r\n\r\n window.AudioContext = window.AudioContext||window.webkitAudioContext;\r\n context = new AudioContext();\r\n var request = new XMLHttpRequest();\r\n request.open('GET', \"sound/page.mp3\", true);\r\n request.responseType = 'arraybuffer';\r\n request.onload = function() {\r\n context.decodeAudioData(request.response, function(buffer) {\r\n pageBuffer = buffer;\r\n });\r\n }\r\n request.send();\r\n var request2 = new XMLHttpRequest();\r\n request2.open('GET', \"sound/diceRoll.mp3\", true);\r\n request2.responseType = 'arraybuffer';\r\n request2.onload = function() {\r\n context.decodeAudioData(request2.response, function(buffer) {\r\n diceRollBuffer = buffer;\r\n });\r\n }\r\n request2.send();\r\n \r\n ddf.dragOption = {\r\n start: (event) => {\r\n click.x = event.clientX - parseInt($(event.target).css(\"marginLeft\")) / 2;\r\n click.y = event.clientY - parseInt($(event.target).css(\"marginTop\")) / 2;\r\n },\r\n drag: (event, ui) => {\r\n var zoom = ddf.roomState.zoom;\r\n\r\n var original = ui.originalPosition;\r\n\r\n ui.position = {\r\n left: (event.clientX - click.x + original.left) / zoom,\r\n top: (event.clientY - click.y + original.top ) / zoom\r\n };\r\n if(ddf.roomState.viewStateInfo.isSnapMovablePiece){\r\n if(ddf.roomState.mapData.isAlternately && ddf.roomState.mapData.gridInterval % 2 == 1){\r\n if((Math.floor(ui.position.top / 50 / ddf.roomState.mapData.gridInterval) & 1)){\r\n ui.position = {\r\n left: ((Math.floor(ui.position.left / 25) | 1) ^ 1) * 25,\r\n top: Math.floor(ui.position.top / 50) * 50\r\n };\r\n }else{\r\n ui.position = {\r\n left: (Math.floor(ui.position.left / 25) | 1) * 25,\r\n top: Math.floor(ui.position.top / 50) * 50\r\n };\r\n }\r\n }else{\r\n ui.position = {\r\n left: Math.floor(ui.position.left / 50) * 50,\r\n top: Math.floor(ui.position.top / 50) * 50\r\n };\r\n }\r\n }\r\n },\r\n stop: (event, ui) => {\r\n character = ddf.characters[ui.helper.attr(\"id\")];\r\n if(character){\r\n data = character.data;\r\n data.x = ui.position.left / 50;\r\n data.y = ui.position.top / 50;\r\n ddf.moveCharacter(data.imgId, data.x, data.y);\r\n }\r\n console.log(ui);\r\n }\r\n };\r\n\r\n\r\n /*共通コンポーネント向け*/\r\n $(\".draggable\").draggable({\r\n cancel: \".dragprev, .draggableObj\",\r\n stack: \".draggable\"\r\n });\r\n $(\".draggabletail\").draggable({\r\n cancel: \".dragprev, .draggableObj\"\r\n });\r\n\r\n $(document).on('mouseover', \".mapMaskFrame.draggableObj\", (e) => {\r\n $(\".mapMaskFrame.draggableObj\").css('zIndex', 35);\r\n $(e.currentTarget).css('zIndex', 36);\r\n });\r\n $(document).on('mouseover', \".magicRangeFrame\", (e) => {\r\n $(\".magicRangeFrame\").css('zIndex', 40);\r\n $(e.currentTarget).css('zIndex', 41);\r\n });\r\n $(document).on('mouseover', \".mapMarkerFrame\", (e) => {\r\n $(\".mapMarkerFrame\").css('zIndex', 45);\r\n $(e.currentTarget).css('zIndex', 46);\r\n });\r\n $(document).on('mouseover', \".cardFrame\", (e) => {\r\n $(\".cardFrame\").css('zIndex', 50);\r\n $(e.currentTarget).css('zIndex', 51);\r\n });\r\n $(document).on('mouseover', \".characterFrame:not(.isHide)\", (e) => {\r\n $(\".characterFrame:not(.isHide)\").css('zIndex', 55);\r\n $(e.currentTarget).css('zIndex', 56);\r\n });\r\n $(document).on('mouseover', \".chitFrame\", (e) => {\r\n $(\".chitFrame\").css('zIndex', 60);\r\n $(e.currentTarget).css('zIndex', 61);\r\n });\r\n \r\n $(\".resizable\").resizable({\r\n ghost: true,\r\n handles: 'n, e, s, w, ne, se, sw, nw'\r\n });\r\n $('.loader-inner').loaders();\r\n\r\n $(document).on('click', \"#diceResult *\", (e) => {\r\n $(\"#diceResult\").empty();\r\n });\r\n $(document).on('click', \"#characterCutIn img\", (e) => {\r\n $(\"#characterCutIn\").empty();\r\n });\r\n \r\n /*ページ移動の停止処理*/\r\n window.onbeforeunload = (e) => {\r\n e.returnValue = '他のページに移動しようとしています。\\n移動しますか?';\r\n };\r\n \r\n getLoginInfo();\r\n \r\n /*待合室コマンド*/\r\n \r\n $(\"#btn_loginNumber\").on('click', (e) => {\r\n $(\"#window_loginNumber\").show().css(\"zIndex\", 151);\r\n $(\".draggable:not(#window_loginNumber)\").css(\"zIndex\", 150);\r\n });\r\n $(\"#window_loginNumber .btn\").on('click', (e) => {\r\n $(\"#window_loginNumber\").hide();\r\n });\r\n \r\n /*$(\"#btn_version\").on(\"click\", (e) => {\r\n });*/\r\n $(\"#btn_manual, #btn_manual2\").on('click', (e) => {\r\n window.open(ddf.base_url + \"README.html\");\r\n });\r\n /*$(\"#btn_tutorial\").on(\"click\", (e) => {\r\n });*/\r\n $(\"#btn_site, #btn_site2\").on('click', () => {\r\n window.open(\"http://www.dodontof.com/\");\r\n });\r\n \r\n $(\"#btn_removePlayRoom\").on('click', (e) => {\r\n removePlayRoom(parseInt($(\"#playRoomNo\").val().trim()));\r\n });\r\n \r\n \r\n $(\"#btn_createPlayRoom\").on('click', (e) => {\r\n ddf.userState.room = -1;\r\n $(\"#window_createPlayRoom\").show().css(\"zIndex\", 151);\r\n $(\".draggable:not(#window_createPlayRoom)\").css(\"zIndex\", 150);\r\n });\r\n $(\"#createPlayRoom_create\").on('click', (e) => {\r\n createPlayRoom();\r\n });\r\n $(\"#createPlayRoom_close\").on('click', (e) => {\r\n $(\"#window_createPlayRoom\").hide();\r\n });\r\n\r\n $(\"#btn_login\").on('click', (e) => {\r\n checkRoomStatus(parseInt($(\"#playRoomNo\").val()));\r\n });\r\n\r\n $(\"#playddf.roomInfos table\").tablesorter();\r\n\r\n var mousewheelevent = 'onwheel' in document ? 'wheel' : 'onmousewheel' in document ? 'mousewheel' : 'DOMMouseScroll';\r\n $(\"#mapSurface\").on(mousewheelevent,(e) => {\r\n e.preventDefault();\r\n var delta = e.originalEvent.deltaY ? -(e.originalEvent.deltaY) : e.originalEvent.wheelDelta ? e.originalEvent.wheelDelta : -(e.originalEvent.detail);\r\n if (delta < 0){\r\n ddf.cmd.setZoom(-0.1);\r\n } else {\r\n ddf.cmd.setZoom(0.1);\r\n }\r\n });\r\n \r\n});\r\n\r\nddf.safeDragDestoroy = () => {\r\n try{\r\n $(\".draggableObj\").draggable(\"destroy\");\r\n }catch(e){}\r\n}\r\n\r\nddf.cmd.setZoom = setZoom;\r\nfunction setZoom(amount, relative = true){\r\n if(relative){\r\n ddf.roomState.zoom += amount;\r\n }else{\r\n ddf.roomState.zoom = amount;\r\n }\r\n ddf.roomState.zoom < 0.1 && (ddf.roomState.zoom = 0.1);\r\n ddf.roomState.zoom > 3.0 && (ddf.roomState.zoom = 3.0);\r\n $(\"#map\").css(\"transform\", \"scale(\"+ddf.roomState.zoom+\")\");\r\n}\r\n\r\nfunction getDiceBotInfos(){\r\n return ddf.getDiceBotInfos().then((r)=>{\r\n ddf.patterns = {};\r\n ddf.info.diceBotInfos = r;\r\n });\r\n}\r\n\r\nfunction getLoginInfo(){\r\n return ddf.getLoginInfo().then((r) => {\r\n ddf.info = r;\r\n $(\"#loginMessage\").html(ddf.info.loginMessage);\r\n total = 0;\r\n str = \"\";\r\n for(item of ddf.info.loginUserCountList){\r\n total += item[1];\r\n str += \"No.\"+item[0]+\":\"+item[1]+\"人
\";\r\n }\r\n $(\"#window_loginNumber .body\").html(str);\r\n $(\"#btn_loginNumber\").text(\"現状:\"+ddf.info.loginUserCountList.length+\"/上限:\"+ddf.info.limitLoginCount+\"人\");\r\n for(item of ddf.info.diceBotInfos){\r\n $(\"#playRoomGameType\").append($(''));\r\n }\r\n \r\n if(store.get('userState')){\r\n ddf.userState = store.get('userState');\r\n ddf.userState.room = -1;\r\n ddf.userState.backgroundColor = \"FFFFFF\";\r\n }else{\r\n ddf.userState = {\r\n room: -1,\r\n own: \"\\t\"+ddf.util.getUniqueId(),\r\n name: ddf.info.defaultUserNames.length==0?\"ななしさん\":ddf.info.defaultUserNames[Math.random()*ddf.info.defaultUserNames.length|0],\r\n fontSize: 10,\r\n chatColor: \"000000\",\r\n backgroundColor: \"FFFFFF\",\r\n showTime: false,\r\n chatPalette: []\r\n };\r\n saveUserState();\r\n }\r\n $(\"#login_name\").val(ddf.userState.name);\r\n\r\n ddf.cmd.getPlayRoomInfo();\r\n return r;\r\n });\r\n}\r\n\r\nddf.cmd.getPlayRoomInfo = getPlayRoomInfo;\r\nfunction getPlayRoomInfo(){\r\n promises = [];\r\n for(i = 0;i * ddf.info.playRoomGetRangeMax < ddf.info.playRoomMaxNumber;i++){\r\n promises.push(\r\n ddf.getPlayRoomInfo(i * ddf.info.playRoomGetRangeMax, ddf.info.playRoomGetRangeMax * (i+1) - 1 > ddf.info.playRoomMaxNumber ? ddf.info.playRoomMaxNumber : ddf.info.playRoomGetRangeMax * (i+1) - 1)\r\n );\r\n }\r\n callback = (r) => {\r\n roominfo = r;\r\n for(key in roominfo.playRoomStates){\r\n room = roominfo.playRoomStates[key];\r\n ddf.roomInfos[parseInt(room.index.trim())] = room;\r\n \r\n var row = \"
\";\r\n row += ``\r\n row += ``\r\n row += ``\r\n row += ``\r\n row += ``;\r\n row += ``;\r\n row += ``;\r\n row += \"\";\r\n tr = $(row);\r\n button = $(\"\");\r\n if(room.lastUpdateTime){\r\n button.on('click', ((roomNumber) => {\r\n return (e) => {\r\n e.stopPropagation && e.stopPropagation();\r\n removePlayRoom(roomNumber)\r\n };\r\n })(parseInt(room.index.trim()) ));\r\n }else{\r\n button.prop(\"disabled\", true);\r\n } \r\n tr.children(\"td:last\").append(button);\r\n $(\"#playddf.roomInfos tbody\").append(tr);\r\n tr.on('dblclick', ((roomNumber) => {return (e) => {\r\n checkRoomStatus(roomNumber);\r\n }})(parseInt(room.index)));\r\n tr.on('click', ((roomNumber) => {return (e) => {\r\n $(\"#playRoomNo\").val(roomNumber);\r\n }})(parseInt(room.index)));\r\n $(\"#playRoomInfos table tbody\").append(tr);\r\n }\r\n $(\"#playddf.roomInfos table\").trigger( 'update');\r\n return r;\r\n };\r\n\r\n promises.reduce((current, next) => {\r\n var p = current.then((v) => {\r\n return next;\r\n });\r\n p.then(callback);\r\n return p;\r\n }, Promise.resolve());\r\n \r\n $(\"#loading\").hide();\r\n}\r\n\r\nfunction createPlayRoom(){\r\n ddf.createPlayRoom(\r\n ddf.userState.room,\r\n $(\"#playRoomName\").val(),\r\n $(\"#playRoomPassword\").val(),\r\n $(\"#playRoomGameType\").val(),\r\n true,\r\n false,\r\n [\"雑談\"],\r\n {\r\n isCardPickUpVisible:false,\r\n isChatPaletteVisible:false,\r\n isSnapMovablePiece:true,\r\n isCardHandleLogVisible:true,\r\n isCounterRemoconVisible:false,\r\n isStandingGraphicVisible:true,\r\n isRotateMarkerVisible:true,\r\n isDiceVisible:true,\r\n isAdjustImageSize:true,\r\n isChatVisible:true,\r\n isGridVisible:true,\r\n isInitiativeListVisible:true,\r\n isPositionVisible:true,\r\n isCutInVisible:true,\r\n isResourceWindowVisible:false\r\n },\r\n \"\"\r\n ).then((r) => {\r\n if(r.resultText == \"OK\"){\r\n ddf.getPlayRoomInfo(r.playRoomIndex, r.playRoomIndex).then(\r\n ((roomNumber) => {\r\n return (r) => {\r\n ddf.roomInfos[roomNumber] = r.playRoomStates[0];\r\n checkRoomStatus(roomNumber);\r\n };\r\n })(r.playRoomIndex)\r\n );\r\n\r\n }else{\r\n }\r\n });\r\n}\r\n\r\nddf.cmd.checkRoomStatus = checkRoomStatus;\r\nfunction checkRoomStatus(roomNumber, isVisit = null, password = null){\r\n room = ddf.roomInfos[roomNumber];\r\n if(room){\r\n if(room.lastUpdateTime==\"\"){\r\n /*ルーム未作成*/\r\n ddf.userState.room = roomNumber;\r\n $(\"#window_createPlayRoom\").show().css(\"zIndex\", 151);\r\n $(\".draggable:not(#window_createPlayRoom)\").css(\"zIndex\", 150);\r\n }else if((room.passwordLockState && password == null) || (room.canVisit && isVisit == null)){\r\n /*見学可・パスワード付きルーム1回目*/\r\n ddf.cmd.loginCheck_show(roomNumber);\r\n }else{\r\n /*ログイン*/\r\n return ddf.checkRoomStatus(roomNumber, password).then((r) => {\r\n roominfo=r;\r\n if(roominfo.isRoomExist){\r\n ddf.userState.room = roominfo.roomNumber;\r\n ddf.userState.name = $(\"#login_name\").val();\r\n saveUserState();\r\n ddf.sendChatMessage(0, \"どどんとふ\\t\", \"「\"+ddf.userState.name+\"」がログインしました。(htmlddf \"+version+\")\", \"00aa00\", true);\r\n $(\"#main\").hide();\r\n //history.pushState({roomNumber: roomNumber}, \"room=\"+roomNumber, \"index.html?room=\"+roomNumber);\r\n $(\"#main2\").show();\r\n $(\"#chatname\").val(ddf.userState.name);\r\n ddf.userState.room = roominfo.roomNumber;\r\n ddf.userState.lastUpdateTimes = {\r\n effects: 0,\r\n time: 0,\r\n map: 0,\r\n chatMessageDataLog: 0,\r\n recordIndex: 0,\r\n characters: 0,\r\n playRoomInfo: 0,\r\n record: 0\r\n };\r\n if(ddf.userState.chatPalette[ddf.base_url+roominfo.roomNumber]){\r\n for(item in ddf.userState.chatPalette[ddf.base_url+roominfo.roomNumber]){\r\n palette = ddf.userState.chatPalette[ddf.base_url+roominfo.roomNumber][item];\r\n palette && $(\"#chatPalette_tabs\").append($(`

${/^id/.test(palette.tabName)?$(\"#chatPalette_tabs p\").length+1:palette.tabName}

`))\r\n }\r\n }else{\r\n item = {\r\n tabName: \"id\"+ddf.util.getUniqueId(),\r\n text: \"\",\r\n name: \"\",\r\n color: 0xFFFFFF\r\n };\r\n ddf.userState.chatPalette[ddf.base_url+roominfo.roomNumber] = [];\r\n ddf.userState.chatPalette[ddf.base_url+roominfo.roomNumber][item.tabName] = item;\r\n $(\"#chatPalette_tabs\").append($(`

1

`))\r\n\r\n ddf.cmd.saveUserState();\r\n }\r\n $(\"#chatPalette_tabs > p:eq(0)\").click();\r\n getDiceBotInfos();\r\n ddf.characters = [];\r\n ddf.roomState = {};\r\n ddf.roomState.roomNumber = roomNumber;\r\n ddf.roomState.zoom = 1;\r\n ddf.roomState.roundTimeData = {};\r\n ddf.roomState.ini_characters = [];\r\n ddf.roomState.roundTimeData.counterNames = [];\r\n ddf.userState.rIndex = 0;\r\n var count = 0;\r\n ddf.roomState.unread = [];\r\n ddf.roomState.effects = [];\r\n ddf.roomState.playSound = true;\r\n ddf.roomState.chatChannelNames = roominfo.chatChannelNames;\r\n ddf.roomState.viewStateInfo = {\r\n isCardPickUpVisible:false,\r\n isChatPaletteVisible:false,\r\n isSnapMovablePiece:true,\r\n isCardHandleLogVisible:true,\r\n isCounterRemoconVisible:false,\r\n isStandingGraphicVisible:true,\r\n isRotateMarkerVisible:true,\r\n isDiceVisible:true,\r\n isAdjustImageSize:true,\r\n isChatVisible:true,\r\n isGridVisible:true,\r\n isInitiativeListVisible:true,\r\n isPositionVisible:true,\r\n isCutInVisible:true,\r\n isResourceWindowVisible:false\r\n };\r\n for(tab of roominfo.chatChannelNames){\r\n ddf.roomState.unread.push(0);\r\n var obj = $(`

${encode(tab)}/0

`);\r\n obj.on(\"click\", ((index) => {\r\n return (e) => {\r\n if(!$(e.currentTarget).hasClass(\"active\")){\r\n setChatTab(index)\r\n }\r\n }\r\n })(count++));\r\n $(\"#tab\").append(obj);\r\n $(\"#log\").append($(\"

\"));\r\n }\r\n for(item of ddf.info.diceBotInfos){\r\n if(/^[^:]*$/.test(item.gameType) && item.gameType != \"BaseDiceBot\"){\r\n $(\"#dicebot\").append($(``));\r\n }\r\n }\r\n $(\"#log > div, #chattext\").css({\r\n backgroundColor: \"#\"+ddf.userState.backgroundColor,\r\n fontSize: ddf.userState.fontSize+\"pt\"\r\n });\r\n setChatTab(\"0\");\r\n refresh();\r\n }\r\n });\r\n }\r\n }\r\n};\r\n\r\nddf.cmd.removePlayRoom = removePlayRoom;\r\nfunction removePlayRoom(roomNumber){\r\n room = ddf.roomInfos[roomNumber];\r\n if(room && room.lastUpdateTime){\r\n if(room.passwordLockState){\r\n ddf.cmd.roomDelete_show(roomNumber);\r\n }else{\r\n body = `No.${room.index}:${room.playRoomName}\\nを削除しますか?`;\r\n if(password != null || confirm(body)){\r\n ddf.removePlayRoom(roomNumber, false, password).then((r) => {\r\n $(\"#playRoomInfos tbody\").empty();\r\n ddf.cmd.getPlayRoomInfo();\r\n });\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction setChatTab(index){\r\n ddf.userState.channel = index;\r\n $(\"#tab p.active, #log div.active\").removeClass('active');\r\n $(`#tab p:eq(${index}), #log div:eq(${index})`).addClass('active');\r\n ddf.roomState.unread[index] = 0;\r\n $(`#tab p:eq(${index}) span`).text(0);\r\n}\r\n\r\nfunction refresh(){\r\n ddf.refresh().then((r) => {\r\n try{\r\n refreshData = r;\r\n //console.log(refreshData);\r\n refreshData.lastUpdateTimes && (ddf.userState.lastUpdateTimes = refreshData.lastUpdateTimes);\r\n if(refreshData.viewStateInfo){\r\n ddf.roomState.viewStateInfo = refreshData.viewStateInfo;\r\n }\r\n if(refreshData.gameType){\r\n if($(\"#dicebot\").children(`[value=${refreshData.gameType}]`).length==1){\r\n $(\"#dicebot\").val($(refreshData.gameType));\r\n }else{\r\n $(\"#dicebot\").append($(``));\r\n $(\"#dicebot\").val(refreshData.gameType);\r\n }\r\n }\r\n if(refreshData.mapData) {\r\n ddf.cmd.refresh_parseMapData(refreshData);\r\n }\r\n if(refreshData.characters){\r\n refresh_parseCharacters(refreshData);\r\n }\r\n if(refreshData.roundTimeData){\r\n refresh_parseRoundTimeData(refreshData);\r\n }\r\n if(refreshData.gameType){\r\n ddf.roomState.gameType = refreshData.gameType;\r\n }\r\n if(refreshData.viewStateInfo){\r\n refresh_parseViewStateInfo(refreshData);\r\n }\r\n if(refreshData.effects){\r\n refresh_parseEffects(refreshData);\r\n }\r\n if(refreshData.chatChannelNames && !refreshData.isFirstChatRefresh){\r\n $(`#tab > p:gt(${refreshData.chatChannelNames.length - 1}),#log > div:gt(${refreshData.chatChannelNames.length - 1})`).remove();\r\n ddf.roomState.unread.splice(refreshData.chatChannelNames.length);\r\n for(i = 0;i < refreshData.chatChannelNames.length;i++){\r\n if(ddf.roomState.chatChannelNames.length <= i){\r\n ddf.roomState.unread.push(0);\r\n var obj = $(`

${encode(tab)}/0

`);\r\n obj.on(\"click\", ((index) => {\r\n return (e) => {\r\n if(!$(e.currentTarget).hasClass(\"active\")){\r\n setChatTab(index)\r\n }\r\n }\r\n })(i));\r\n $(\"#tab\").append(obj);\r\n $(\"#log\").append($(\"

\"));\r\n }else{\r\n $(`#tab:eq(${refreshData.chatChannelNames - 1})`).html(`${encode(refreshData.chatChannelNames[i])}/${ddf.roomState.unread[i]}`);\r\n }\r\n }\r\n if($(\"#tab .active\").length == 0){\r\n setChatTab(0);\r\n }\r\n ddf.roomState.chatChannelNames = refreshData.chatChannelNames;\r\n }\r\n if(refreshData.chatMessageDataLog){\r\n refresh_parseChatMessageDataLog(refreshData);\r\n }\r\n if(refreshData.record) {\r\n ddf.cmd.refresh_parseRecordData(refreshData);\r\n }\r\n if(refreshData.gameType){\r\n $(\"#dicebot\").val(refreshData.gameType);\r\n }\r\n if(refreshData.playRoomName){\r\n ddf.roomState.playRoomName = refreshData.playRoomName;\r\n }\r\n if(refreshData.loginUserInfo){\r\n ddf.roomState.loginUserInfo = refreshData.loginUserInfo;\r\n $(\"#btn_member\").text(`ルームNo.${ddf.roomState.roomNumber}:${refreshData.loginUserInfo.length}名`);\r\n }\r\n r = refreshData = null;\r\n }catch(e){\r\n console.log(e);\r\n }finally{\r\n if(ddf.userState.room != -1){\r\n setTimeout(refresh, ddf.info.refreshInterval * 1000);\r\n }\r\n }\r\n });\r\n}\r\n\r\nfunction refresh_parseEffects(refreshData){\r\n ddf.roomState.effects = refreshData.effects;\r\n ddf.cmd.effectList_create();\r\n}\r\n\r\nfunction refresh_parseChatMessageDataLog(refreshData){\r\n let prevheight = $(\"#log .active\")[0].scrollHeight - $(\"#log .active\").height();\r\n lastRandResult = false;\r\n lastCutIn = false;\r\n sound = false;\r\n for(item of refreshData.chatMessageDataLog){\r\n if(item[0] <= ddf.roomState.lastMessageTime){continue;}\r\n sound = true;\r\n if(!window_focus && !running){\r\n titleAnimation();\r\n }\r\n ddf.roomState.lastMessageTime = item[0];\r\n if(matches = /^(.*)@([^@]+)@([^@]+)$/.exec(item[1].message)){\r\n item[1].message = matches[1];\r\n item[1].senderName = matches[2];\r\n item[1].state = matches[3];\r\n }else if(matches = /^(.*)@([^@]+)$/.exec(item[1].message)){\r\n item[1].message = matches[1];\r\n item[1].senderName = matches[2];\r\n }else if(matches = /^(.*)\\t(.*)$/.exec(item[1].senderName)){\r\n item[1].senderName = matches[1];\r\n item[1].state = matches[2];\r\n }\r\n item[1].uniqueId != 'dummy' && (lastCutIn = [item[1].senderName, item[1].state]);\r\n if(matches = /^###CutInCommand:([a-zA-Z]+)###(.+)$/.exec(item[1].message)){\r\n switch(matches[1]){\r\n case \"getDiceBotInfos\":\r\n if(!refreshData.isFirstChatRefresh){\r\n getDiceBotInfos();\r\n }\r\n continue;\r\n break;\r\n case \"rollVisualDice\":\r\n param = JSON.parse(matches[2]);\r\n $(`#log div:eq(${item[1].channel})`).append($(`

${ddf.userState.showTime?''+dateFormat(new Date(item[0]*1000), \"HH:MM\")+\":\":\"\"}${encode(item[1].senderName)}:${encode(param.chatMessage).replace(/\\n/, \"
\")}

`));\r\n chatlog.push([item[1].channel, ddf.roomState.chatChannelNames[item[1].channel], item[0],\"#\"+item[1].color,item[1].senderName, param.chatMessage]);\r\n $(`#log div:eq(${item[1].channel})`).hasClass(\"active\") || ddf.roomState.unread[item[1].channel]++;\r\n lastRandResult = [param.chatMessage, param.randResults];\r\n continue;\r\n break;\r\n }\r\n }else if(matches = /^###CutInMovie###(.+)$/.exec(item[1].message)){\r\n param = JSON.parse(matches[1]);\r\n $(`#log div:eq(${item[1].channel})`).append($(`

${ddf.userState.showTime?''+dateFormat(new Date(item[0]*1000), \"HH:MM\")+\":\":\"\"}${encode(item[1].senderName)}:【${encode(param.message)}】

`));\r\n chatlog.push([item[1].channel, ddf.roomState.chatChannelNames[item[1].channel], item[0],\"#\"+item[1].color,item[1].senderName, param.chatMessage]);\r\n $(`#log div:eq(${item[1].channel})`).hasClass(\"active\") || ddf.roomState.unread[item[1].channel]++;\r\n }else{\r\n $(`#log div:eq(${item[1].channel})`).append($(`

${ddf.userState.showTime?''+dateFormat(new Date(item[0]*1000), \"HH:MM\")+\":\":\"\"}${encode(item[1].senderName)}:${encode(item[1].message).replace(/\\n/, \"
\")}

`));\r\n chatlog.push([item[1].channel, ddf.roomState.chatChannelNames[item[1].channel], item[0],\"#\"+item[1].color,item[1].senderName, item[1].message]);\r\n $(`#log div:eq(${item[1].channel})`).hasClass(\"active\") || ddf.roomState.unread[item[1].channel]++;\r\n }\r\n }\r\n if(refreshData.isFirstChatRefresh){\r\n for(div of $(\"#log\").children(\"div\")){\r\n div.scrollTop = $(div).children(\":last\").offset().top;\r\n }\r\n ddf.roomState.unread = ddf.roomState.unread.map(()=>{return 0;});\r\n }else{\r\n if(prevheight < $(\"#log .active\").scrollTop()){\r\n $(\"#log .active\").scrollTop($(\"#log .active\")[0].scrollHeight);\r\n }\r\n for(index in $(\"#tab\").children(\"p\")){\r\n $(\"#tab\").children(\"p\").eq(index).children(\"span\").text(ddf.roomState.unread[index]);\r\n }\r\n }\r\n if(lastCutIn){\r\n let found = false;\r\n if(!found){\r\n for(item of ddf.roomState.effects){\r\n if(item.type = \"standingGraphicInfos\"){\r\n if(lastCutIn[0] == item.name && lastCutIn[1] == item.state){\r\n $(\"#characterCutIn\").empty();\r\n $(\"#characterCutIn\").append($(``));\r\n }\r\n }\r\n }\r\n }\r\n if(!found){\r\n for(id in ddf.characters){\r\n character = ddf.characters[id].data;\r\n if(character.name == lastCutIn[0]){\r\n $(\"#characterCutIn\").empty();\r\n $(\"#characterCutIn\").append($(``));\r\n found = true;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n if(lastRandResult){\r\n playSound(diceRollBuffer);\r\n $(\"#diceResult\").empty();\r\n for(item of lastRandResult[1]){\r\n if([4,6,8,10,12,20].includes(item[1])){\r\n $(\"#diceResult\").append($(`\"${item[0]}\"`));\r\n }else{\r\n $(\"#diceResult\").append($(`\"${item[0]}\"`));\r\n }\r\n }\r\n total = /\\s([^\\s]+)$/.exec(lastRandResult[0])[1];\r\n $(\"#diceResult\").append($(`
${encode(total)}
`));\r\n }else if(sound){\r\n playSound(pageBuffer);\r\n }\r\n}\r\n\r\nfunction refresh_parseViewStateInfo(refreshData){\r\n for(key in refreshData.viewStateInfo){\r\n switch(key){\r\n case \"isSnapMovablePiece\":\r\n if(refreshData.viewStateInfo[key]){\r\n $(\"#btn_gridguide\").addClass(\"checked\");\r\n }\r\n break;\r\n case \"isAdjustImageSize\":\r\n if(refreshData.viewStateInfo[key]){\r\n $(\"#btn_adjustcharacter\").addClass(\"checked\");\r\n $(\"#characterCutIn\").addClass(\"adjust\");\r\n }\r\n break;\r\n case \"isCardHandleLogVisible\":\r\n if(refreshData.viewStateInfo[key]){\r\n $(\"#btn_cardlog\").addClass(\"checked\");\r\n }\r\n break;\r\n case \"isCardPickUpVisible\":\r\n if(refreshData.viewStateInfo[key]){\r\n $(\"#btn_cardpickup\").addClass(\"checked\");\r\n }\r\n break;\r\n case \"isCutInVisible\":\r\n if(refreshData.viewStateInfo[key]){\r\n $(\"#btn_displaycutin\").addClass(\"checked\");\r\n }\r\n break;\r\n case \"isGridVisible\":\r\n if(refreshData.viewStateInfo[key]){\r\n $(\"#btn_displaygridline\").addClass(\"checked\");\r\n }\r\n break;\r\n case \"isPositionVisible\":\r\n if(refreshData.viewStateInfo[key]){\r\n $(\"#btn_displaygridnum\").addClass(\"checked\");\r\n }\r\n break;\r\n case \"isStandingGraphicVisible\":\r\n if(refreshData.viewStateInfo[key]){\r\n $(\"#btn_displaycharacter\").addClass(\"checked\");\r\n\r\n $(\"#characterCutIn\").show();\r\n }else{\r\n $(\"#characterCutIn\").hide();\r\n }\r\n break;\r\n case \"isRotateMarkerVisible\":\r\n if(refreshData.viewStateInfo[key]){\r\n $(\"#btn_rotate\").addClass(\"checked\");\r\n }\r\n break;\r\n case \"isChatVisible\":\r\n if(refreshData.viewStateInfo[key]){\r\n $(\"#btn_displaychat\").addClass(\"checked\");\r\n \r\n $(\"#window_chat .inner\").show();\r\n }else{\r\n $(\"#window_chat .inner\").hide();\r\n }\r\n break;\r\n case \"isDiceVisible\":\r\n if(refreshData.viewStateInfo[key]){\r\n $(\"#btn_displaydice\").addClass(\"checked\");\r\n \r\n $(\"#diceResult\").show();\r\n }else{\r\n $(\"#diceResult\").hide();\r\n }\r\n break;\r\n case \"isInitiativeListVisible\":\r\n if(refreshData.viewStateInfo[key]){\r\n $(\"#btn_displayinitiative\").addClass(\"checked\");\r\n \r\n $(\"#initiative\").show();\r\n }\r\n break;\r\n case \"isResourceWindowVisible\":\r\n if(refreshData.viewStateInfo[key]){\r\n $(\"#btn_displayresource\").addClass(\"checked\");\r\n \r\n //$(\"#resource\").show();\r\n /*TODO*/\r\n }\r\n break;\r\n case \"isChatPaletteVisible\":\r\n if(refreshData.viewStateInfo[key]){\r\n $(\"#btn_displaychatpalette\").addClass(\"checked\");\r\n \r\n $(\"#window_chatPalette\").show();\r\n }\r\n break;\r\n case \"isCounterRemoconVisible\":\r\n if(refreshData.viewStateInfo[key]){\r\n $(\"#btn_displaycounter\").addClass(\"checked\");\r\n \r\n //$(\"#remocon\").show();\r\n /*TODO*/\r\n }\r\n break;\r\n }\r\n }\r\n}\r\n\r\nddf.cmd.refresh_parseRecordData = refresh_parseRecordData;\r\nfunction refresh_parseRecordData(refreshData){\r\n ddf.safeDragDestoroy();\r\n iniChanged = false;\r\n force = false;\r\n for(record of refreshData.record){\r\n switch(record[1]){\r\n case \"addCharacter\":\r\n force = true;\r\n case \"changeCharacter\":\r\n data = record[2][0];\r\n character = ddf.characters[data.imgId];\r\n if(!character){\r\n refresh_parseCharacters({characters: [data]});\r\n iniChanged = true;\r\n continue;\r\n }\r\n obj = character.obj;\r\n switch(data.type){\r\n case \"LogHorizonRange\":\r\n obj.css({\r\n clipPath: `polygon(0 ${data.range*50+50}px, 0 ${data.range*50}px,${data.range*50}px 0,${data.range*50+50}px 0,${data.range*100+50}px ${data.range*50}px, ${data.range*100+50}px ${data.range*50+50}px, ${data.range*50+50}px ${data.range*100+50}px, ${data.range*50}px ${data.range*100+50}px)`,\r\n left: data.x * 50,\r\n top: data.y * 50,\r\n marginLeft: (data.range * -50) * ddf.roomState.mapData.gridInterval,\r\n marginTop: (data.range * -50) * ddf.roomState.mapData.gridInterval,\r\n width: (data.range * 100 + 50) * ddf.roomState.mapData.gridInterval,\r\n height: (data.range * 100 + 50) * ddf.roomState.mapData.gridInterval,\r\n });\r\n obj.children(\"object\").attr(\"data\", `img/rangeLH.svg?size=${data.range}&color=${data.color}`);\r\n obj.children(\"object\").css({\r\n width: (data.range * 100 + 50) * ddf.roomState.mapData.gridInterval,\r\n height: (data.range * 100 + 50) * ddf.roomState.mapData.gridInterval\r\n });\r\n break;\r\n case \"magicRangeMarkerDD4th\":\r\n iniChanged = true;\r\n obj.animate({\r\n left: data.x * 50,\r\n top: data.y * 50\r\n }, 300);\r\n if(!data.isHide){\r\n ddf.roomState.ini_characters[character.data.imgId] = ddf.characters[character.data.imgId];\r\n }else{\r\n character.row && character.row.remove();\r\n delete ddf.roomState.ini_characters[character.data.imgId];\r\n }\r\n obj.css({\r\n backgroundColor: \"rgb(\"+[data.color / 65536 & 0xFF, data.color / 256 & 0xFF, data.color & 0xFF].join()+\")\"\r\n });\r\n switch(data.rangeType){\r\n case \"closeBurstDD4th\":\r\n obj.addClass(\"rangeCenterMarker\");\r\n obj.css({\r\n marginLeft: (data.feets * -10) * ddf.roomState.mapData.gridInterval,\r\n marginTop: (data.feets * -10) * ddf.roomState.mapData.gridInterval,\r\n width: (data.feets * 20 + 50) * ddf.roomState.mapData.gridInterval,\r\n height: (data.feets * 20 + 50) * ddf.roomState.mapData.gridInterval,\r\n });\r\n break;\r\n case \"blastDD4th\":\r\n obj.removeClass(\"rangeCenterMarker\");\r\n obj.css({\r\n marginLeft: 0,\r\n marginTop: 0,\r\n width: (data.feets * 10) * ddf.roomState.mapData.gridInterval,\r\n height: (data.feets * 10) * ddf.roomState.mapData.gridInterval,\r\n });\r\n }\r\n break;\r\n case \"mapMask\":\r\n obj.children(\".name\").text(data.name);\r\n obj.animate({\r\n left: data.x * 50,\r\n top: data.y * 50\r\n }, 300);\r\n colors = [data.color / 65536 & 0xFF, data.color / 256 & 0xFF, data.color & 0xFF];\r\n sum = 255;\r\n refColor = [sum - colors[0], sum - colors[1], sum - colors[2]];\r\n obj.css({\r\n left: data.x * 50,\r\n top: data.y * 50,\r\n width: data.width * 50,\r\n height: data.height * 50,\r\n opacity: data.alpha,\r\n backgroundColor: \"rgb(\"+colors+\")\"\r\n });\r\n obj.children(\".name\").css({\r\n color: \"rgb(\"+refColor+\")\"\r\n });\r\n if(data.draggable){\r\n obj.addClass(\"draggableObj\");\r\n }else{\r\n obj.removeClass(\"draggableObj\");\r\n }\r\n break;\r\n case \"characterData\":\r\n iniChanged = true;\r\n obj.animate({\r\n left: data.x * 50,\r\n top: data.y * 50\r\n }, 300);\r\n obj.css({\r\n width: data.size * 50,\r\n height: data.size * 50\r\n });\r\n if(!data.isHide){\r\n ddf.roomState.ini_characters[character.data.imgId] = ddf.characters[character.data.imgId];\r\n obj.removeClass(\"isHide\");\r\n }else{\r\n character.row && character.row.remove();\r\n delete ddf.roomState.ini_characters[character.data.imgId];\r\n obj.addClass(\"isHide\");\r\n }\r\n obj.children(\".inner\").css({\r\n transform: \"rotateZ(\"+data.rotation+\"deg) \"+(data.mirrored?\" rotateY(180deg)\":\"\"),\r\n backgroundImage: \"url(\"+ddf.base_url+data.imageName+\")\"\r\n });\r\n obj.children(\".name\").text(data.name);\r\n obj.children(\".dogtag\").text(data.dogTag);\r\n break;\r\n case \"Memo\":\r\n title = data.message.split(\"\\r\")[0];\r\n ar = data.message.split(/\\t\\|\\t/);\r\n if(ar.length > 1){\r\n body = ar.map((v)=>{return `[${v.split(\"\\r\")[0]}]`}).join(\"
\")\r\n }else{\r\n body = data.message.replace(\"\\r\", \"
\");\r\n }\r\n obj.html(`${encode(title)}
${encode(body)}
`);\r\n }\r\n character.data = data;\r\n break;\r\n case \"removeCharacter\":\r\n iniChanged = true;\r\n data = record[2][0];\r\n character = ddf.characters[data];\r\n if(character){\r\n character.obj && character.obj.remove();\r\n character.row && character.row.remove();\r\n delete ddf.characters[data[0]];\r\n if(ddf.roomState.ini_characters[data[0]]){\r\n delete ddf.roomState.ini_characters[data[0]];\r\n }\r\n }\r\n }\r\n }\r\n iniChanged && ddf.cmd.initiative_sort(force);\r\n $(\".draggableObj\").draggable(ddf.dragOption);\r\n}\r\n\r\nfunction refresh_parseCharacters(refreshData){\r\n for(character of refreshData.characters){\r\n switch(character.type){\r\n case \"Card\":\r\n case \"CardTrushMount\":\r\n case \"CardMount\":\r\n break;\r\n case \"LogHorizonRange\":\r\n obj = $(`
`);\r\n $(\"#mapSurface\").append(obj);\r\n ddf.characters[character.imgId] = {\r\n obj: obj,\r\n data: character\r\n };\r\n obj.css({\r\n clipPath: `polygon(0 ${character.range*50+50}px, 0 ${character.range*50}px,${character.range*50}px 0,${character.range*50+50}px 0,${character.range*100+50}px ${character.range*50}px, ${character.range*100+50}px ${character.range*50+50}px, ${character.range*50+50}px ${character.range*100+50}px, ${character.range*50}px ${character.range*100+50}px)`,\r\n left: character.x * 50,\r\n top: character.y * 50,\r\n marginLeft: (character.range * -50) * ddf.roomState.mapData.gridInterval,\r\n marginTop: (character.range * -50) * ddf.roomState.mapData.gridInterval,\r\n opacity: 0.5\r\n });\r\n obj.children(\"object\").css({\r\n width: (character.range * 100 + 50) * ddf.roomState.mapData.gridInterval,\r\n height: (character.range * 100 + 50) * ddf.roomState.mapData.gridInterval\r\n });\r\n break;\r\n case \"magicRangeMarkerDD4th\":\r\n obj = $(`
`);\r\n $(\"#mapSurface\").append(obj);\r\n ddf.characters[character.imgId] = {\r\n obj: obj,\r\n data: character\r\n };\r\n if(!character.isHide){\r\n ddf.roomState.ini_characters[character.imgId] = ddf.characters[character.imgId];\r\n }\r\n obj.css({\r\n left: character.x * 50,\r\n top: character.y * 50,\r\n opacity: 0.5,\r\n backgroundColor: \"rgb(\"+[character.color / 65536 & 0xFF, character.color / 256 & 0xFF, character.color & 0xFF].join()+\")\"\r\n });\r\n switch(character.rangeType){\r\n case \"closeBurstDD4th\":\r\n obj.addClass(\"rangeCenterMarker\");\r\n obj.css({\r\n marginLeft: (character.feets * -10) * ddf.roomState.mapData.gridInterval,\r\n marginTop: (character.feets * -10) * ddf.roomState.mapData.gridInterval,\r\n width: (character.feets * 20 + 50) * ddf.roomState.mapData.gridInterval,\r\n height: (character.feets * 20 + 50) * ddf.roomState.mapData.gridInterval,\r\n });\r\n break;\r\n case \"blastDD4th\":\r\n obj.removeClass(\"rangeCenterMarker\");\r\n obj.css({\r\n marginLeft: 0,\r\n marginTop: 0,\r\n width: (character.feets * 10) * ddf.roomState.mapData.gridInterval,\r\n height: (character.feets * 10) * ddf.roomState.mapData.gridInterval,\r\n });\r\n }\r\n break;\r\n case \"mapMask\":\r\n obj = $(`
`);\r\n if(character.draggable){obj.addClass(\"draggableObj\");}\r\n obj.append($(`
${encode(character.name)}
`));\r\n ddf.characters[character.imgId] = {\r\n obj: obj,\r\n data: character\r\n };\r\n colors = [character.color / 65536 & 0xFF, character.color / 256 & 0xFF, character.color & 0xFF];\r\n sum = 255;\r\n refColor = [sum - colors[0], sum - colors[1], sum - colors[2]];\r\n obj.css({\r\n left: character.x * 50,\r\n top: character.y * 50,\r\n width: character.width * 50,\r\n height: character.height * 50,\r\n opacity: character.alpha,\r\n backgroundColor: \"rgb(\"+colors+\")\"\r\n });\r\n obj.children(\".name\").css({\r\n color: \"rgb(\"+refColor+\")\"\r\n });\r\n $(\"#mapSurface\").append(obj);\r\n break;\r\n case \"characterData\":\r\n obj = $(`
`);\r\n obj.append($(`
${encode(character.dogTag)}
${encode(character.name)}
`));\r\n ddf.characters[character.imgId] = {\r\n obj: obj,\r\n data: character\r\n };\r\n if(!character.isHide){\r\n ddf.roomState.ini_characters[character.imgId] = ddf.characters[character.imgId];\r\n }else{\r\n obj.addClass(\"isHide\");\r\n }\r\n obj.css({\r\n left: character.x * 50,\r\n top: character.y * 50,\r\n width: character.size * 50,\r\n height: character.size * 50\r\n });\r\n obj.children(\".inner\").css({\r\n transform: \"rotateZ(\"+character.rotation+\"deg) \"+(character.mirrored?\" rotateY(180deg)\":\"\"),\r\n backgroundImage: \"url(\"+ddf.base_url+character.imageName+\")\"\r\n });\r\n \r\n $(\"#mapSurface\").append(obj);\r\n break;\r\n case \"Memo\":\r\n title = character.message.split(\"\\r\")[0];\r\n ar = character.message.split(/\\t\\|\\t/);\r\n if(ar.length > 1){\r\n body = ar.map((v)=>{return `[${v.split(\"\\r\")[0]}]`}).join(\"
\")\r\n }else{\r\n body = character.message.replace(\"\\r\", \"
\");\r\n }\r\n obj = $(`
${encode(title)}
${encode(body)}
`);\r\n $(\"#list_memo\").append(obj);\r\n ddf.characters[character.imgId] = {\r\n obj: obj,\r\n data: character\r\n };\r\n break;\r\n }\r\n }\r\n $(\".draggableObj\").draggable(ddf.dragOption);\r\n}\r\n\r\nddf.cmd.refresh_parseMapData = refresh_parseMapData;\r\nfunction refresh_parseMapData(refreshData){\r\n ddf.roomState.mapData = refreshData.mapData;\r\n switch(refreshData.mapData.mapType){\r\n case \"imageGraphic\":\r\n $(\"#mapimg\").attr(\"src\", ddf.base_url + refreshData.mapData.imageSource)\r\n .css({\r\n width: refreshData.mapData.xMax * 50,\r\n height: refreshData.mapData.yMax * 50,\r\n });\r\n if(refreshData.mapData.mirrored){\r\n $(\"#mapimg\").addClass(\"mirrored\");\r\n }else{\r\n $(\"#mapimg\").removeClass(\"mirrored\");\r\n }\r\n $(\"#map\")\r\n .css({\r\n width: refreshData.mapData.xMax * 50,\r\n height: refreshData.mapData.yMax * 50,\r\n });\r\n param = {\r\n x: refreshData.mapData.xMax,\r\n y: refreshData.mapData.yMax,\r\n border: ddf.roomState.viewStateInfo.isGridVisible,\r\n alt: refreshData.mapData.isAlternately,\r\n num: ddf.roomState.viewStateInfo.isPositionVisible,\r\n size: refreshData.mapData.gridInterval,\r\n color: \"rgb(\"+[refreshData.mapData.gridColor / 65536 & 0xFF,refreshData.mapData.gridColor / 256 & 0xFF,refreshData.mapData.gridColor & 0xFF].join()+\")\",\r\n mapMarks: refreshData.mapData.mapMarks?refreshData.mapData.mapMarks.join(\"/\"):\"\",\r\n mapMarksAlpha: refreshData.mapData.mapMarksAlpha!=null?refreshData.mapData.mapMarksAlpha:1\r\n };\r\n $(\"#mapGrid\").attr(\"data\", \"img/grid.svg?\"+$.map(param, (v,k) => {return k+\"=\"+v;}).join(\"&\"));\r\n }\r\n if(refreshData.mapData.drawsImage && refreshData.mapData.drawsImage != \"\"){\r\n $(\"#mapDraw\").show();\r\n $(\"#mapDraw\").attr(\"src\", ddf.base_url + refreshData.mapData.drawsImage);\r\n }else{\r\n $(\"#mapDraw\").hide();\r\n }\r\n if(refreshData.mapData.draws){\r\n $(\"#drawsPanel\").attr(\"data\", \"img/draw.svg?width=\"+refreshData.mapData.xMax * 50+\"&height=\" + refreshData.mapData.yMax * 50 + \"&list=\"+JSON.stringify(refreshData.mapData.draws));\r\n }else{\r\n $(\"#drawsPanel param\").val(\"[]\");\r\n }\r\n redraw = [];\r\n for(item in ddf.characters){\r\n if(ddf.characters[item].data.type == \"magicRangeMarkerDD4th\"){\r\n redraw.push([0, \"changeCharacter\", [ddf.characters[item].data], \"dummy\\t\"]);\r\n }\r\n }\r\n ddf.cmd.refresh_parseRecordData({record: redraw});\r\n}\r\n\r\nddf.cmd.refresh_parseRoundTimeData = refresh_parseRoundTimeData;\r\nfunction refresh_parseRoundTimeData(refreshData, force = false){\r\n if(force || JSON.stringify(refreshData.roundTimeData.counterNames) != JSON.stringify(ddf.roomState.roundTimeData.counterNames)){\r\n $(\"#initiative table thead tr\").empty();\r\n $(\"#initiative table thead tr\").append($(\"
\"));\r\n $(\"#initiative table thead tr\").append($(\"\"));\r\n $(\"#initiative table thead tr\").append($(\"\"));\r\n $(\"#initiative table thead tr\").append($(\"\"));\r\n for(counter of refreshData.roundTimeData.counterNames){\r\n $(\"#initiative table thead tr\").append($(``));\r\n }\r\n $(\"#initiative table thead tr\").append($(\"\"));\r\n \r\n $(\"#initiative table tbody\").empty();\r\n ddf.roomState.ini_characters = ddf.util.hashSort(ddf.roomState.ini_characters, (obj) => {return obj.data.initiative});\r\n for(key in ddf.roomState.ini_characters){\r\n var character = ddf.roomState.ini_characters[key];\r\n var tmp = ``;\r\n tmp+= ``;\r\n if(character.data.initiative < 0 && Math.round((character.data.initiative % 1)*10) >= -0.1){\r\n tmp+= ``;\r\n tmp+= ``;\r\n }else if(character.data.initiative < 0){\r\n tmp+= ``;\r\n tmp+= ``;\r\n }else if(Math.round((character.data.initiative % 1) * 10) >= 9){\r\n tmp+= ``;\r\n tmp+= ``;\r\n }else{\r\n tmp+= ``;\r\n tmp+= ``;\r\n }\r\n tmp+= ``;\r\n count = 0;\r\n for(counter of refreshData.roundTimeData.counterNames){\r\n character.data.counters == null && (character.data.counters = {});\r\n character.data.statusAlias == null && (character.data.statusAlias = {});\r\n character.data.counters[counter]==undefined && (character.data.counters[counter] = 0);\r\n if(/^\\*/.test(counter)){\r\n if(character.data.statusAlias && character.data.statusAlias[counter]){\r\n tmp+= ``;\r\n }else{\r\n tmp+= ``;\r\n }\r\n }else{\r\n tmp+= ``;\r\n }\r\n count++;\r\n }\r\n tmp+= ``;\r\n tmp+= \"\";\r\n character.row = $(tmp);\r\n if($(\"#initiative table tbody tr\").length > 0){\r\n $(\"#initiative table tbody tr:eq(0)\").before(\r\n character.row\r\n );\r\n }else{\r\n $(\"#initiative table tbody\").append(\r\n character.row\r\n );\r\n }\r\n }\r\n }else{\r\n ddf.roomState.ini_characters = ddf.util.hashSort(ddf.roomState.ini_characters, (obj) => {return obj.data.initiative});\r\n for(key in ddf.roomState.ini_characters){\r\n var character = ddf.roomState.ini_characters[key];\r\n if(character != undefined){\r\n character.row.children(\"td:eq(0)\").text(character.data.initiative==refreshData.roundTimeData.initiative?\"●\":\"\");\r\n $(\"#initiative table tbody tr:eq(0)\").before(\r\n character.row\r\n );\r\n }\r\n }\r\n }\r\n $(\"#round\").text(refreshData.roundTimeData.round);\r\n $(\"#now_ini\").text(refreshData.roundTimeData.initiative);\r\n\r\n ddf.roomState.roundTimeData = refreshData.roundTimeData;\r\n}\r\n\r\nddf.cmd.sendChatMessage = sendChatMessage;\r\nfunction sendChatMessage(channel, senderName, state, gameType, message, color, isNeedResult = true){\r\n ddf.roomState.gameType = gameType;\r\n if(message.trim()==\"\"){return false;}\r\n if(!(pattern = ddf.patterns[ddf.roomState.gameType])){\r\n dicebot = ddf.info.diceBotInfos.find((r) => {return r.gameType == ddf.roomState.gameType});\r\n pattern = [].concat(\r\n ddf.info.diceBotInfos.find((r) => {return r.gameType == \"BaseDiceBot\"}).prefixs,\r\n dicebot?dicebot.prefixs:[],\r\n ).map((r) => {return new RegExp(\"^((\\\\d+)\\\\s+)?(S?\"+r+\"[^\\\\s]*)\", \"i\");});\r\n ddf.patterns[ddf.roomState.gameType] = pattern;\r\n }\r\n var match;\r\n if(!!pattern.find((r) => {return !!(match = r.exec(toHalf(message)));})){\r\n //DiceBotMessage\r\n ddf.userState.name = senderName;\r\n saveUserState();\r\n return ddf.sendDiceBotChatMessage(channel, senderName, state, match[2]?match[2]:0, match[3], color, ddf.roomState.gameType, isNeedResult);\r\n }else{\r\n //ChatMessage\r\n if(/^###CutInCommand:/.test(message)){\r\n message = \"Wrong Message -> \" + message;\r\n }\r\n ddf.userState.name = senderName;\r\n saveUserState();\r\n return ddf.sendChatMessage(channel, senderName + \"\\t\"+ state, message, color);\r\n }\r\n}\r\n\r\nddf.cmd.saveUserState = saveUserState;\r\nfunction saveUserState(){\r\n chatPalette = {};\r\n for(item in ddf.userState.chatPalette){\r\n chatPalette[item] = {};\r\n for(item2 in ddf.userState.chatPalette[item]){\r\n if(ddf.userState.chatPalette[item][item2]){\r\n chatPalette[item][item2] = ddf.userState.chatPalette[item][item2];\r\n }\r\n }\r\n }\r\n store.set('userState', {\r\n name: ddf.userState.name,\r\n own: ddf.userState.own,\r\n chatColor: ddf.userState.chatColor,\r\n showTime: ddf.userState.showTime,\r\n chatPalette: chatPalette,\r\n fontSize: ddf.userState.fontSize,\r\n });\r\n}\r\n\r\n\r\nddf.cmd.clearUserState = clearUserState;\r\nfunction clearUserState(){\r\n store.clearAll();\r\n //クリア後はリロードが必要。\r\n}\r\n"],"file":"../index.js"} \ No newline at end of file +{"version":3,"names":[],"mappings":"","sources":["index.js"],"sourcesContent":["ddf.cmd = {};\r\nchatlog = [];\r\n\r\nvar version = require('../../package.json').version;\r\n\r\nvar store = require('store');\r\nvar screenshot = require('./screenshot.js').generate;\r\nvar lang = \"Japanese\";\r\n\r\nrequire(\"./contextMenu/.loading.js\");\r\nrequire(\"./window/.loading.js\");\r\nrequire(\"./room_menu.js\");\r\n\r\nwindow_focus = true;\r\nrunning = false;\r\nwindow.onblur = function() { window_focus = false; }\r\nwindow.onfocus = function() { window_focus = true; }\r\n\r\nframe = 0;\r\nfunction titleAnimation(){\r\n list = \"─/|\\";\r\n if(window_focus){\r\n document.title = \"どどんとふ\";\r\n running = false;\r\n }else{\r\n frame = (frame + 1) % 4;\r\n document.title = list[frame] + \" どどんとふ\";\r\n setTimeout(titleAnimation, 300);\r\n }\r\n}\r\n\r\nwindow.addEventListener('popstate', (e) => {\r\n //console.log(e);\r\n});\r\nvar click = {x:0,y:0};\r\n\r\nddf.roomInfos = [];\r\nvar pageBuffer, diceRollBuffer, context;\r\n\r\nfunction playSound(buffer) {\r\n if(ddf.roomState.playSound){\r\n var source = context.createBufferSource();\r\n source.buffer = buffer;\r\n source.connect(context.destination);\r\n source.start(0);\r\n }\r\n}\r\n\r\n$(() => {\r\n ddf.base_url = config.base_url;\r\n\r\n window.AudioContext = window.AudioContext||window.webkitAudioContext;\r\n context = new AudioContext();\r\n var request = new XMLHttpRequest();\r\n request.open('GET', \"sound/page.mp3\", true);\r\n request.responseType = 'arraybuffer';\r\n request.onload = function() {\r\n context.decodeAudioData(request.response, function(buffer) {\r\n pageBuffer = buffer;\r\n });\r\n }\r\n request.send();\r\n var request2 = new XMLHttpRequest();\r\n request2.open('GET', \"sound/diceRoll.mp3\", true);\r\n request2.responseType = 'arraybuffer';\r\n request2.onload = function() {\r\n context.decodeAudioData(request2.response, function(buffer) {\r\n diceRollBuffer = buffer;\r\n });\r\n }\r\n request2.send();\r\n \r\n ddf.dragOption = {\r\n start: (event) => {\r\n click.x = event.clientX - parseInt($(event.target).css(\"marginLeft\")) / 2;\r\n click.y = event.clientY - parseInt($(event.target).css(\"marginTop\")) / 2;\r\n },\r\n drag: (event, ui) => {\r\n var zoom = ddf.roomState.zoom;\r\n\r\n var original = ui.originalPosition;\r\n\r\n ui.position = {\r\n left: (event.clientX - click.x + original.left) / zoom,\r\n top: (event.clientY - click.y + original.top ) / zoom\r\n };\r\n if(ddf.roomState.viewStateInfo.isSnapMovablePiece){\r\n if(ddf.roomState.mapData.isAlternately && ddf.roomState.mapData.gridInterval % 2 == 1){\r\n if((Math.floor(ui.position.top / 50 / ddf.roomState.mapData.gridInterval) & 1)){\r\n ui.position = {\r\n left: ((Math.floor(ui.position.left / 25) | 1) ^ 1) * 25,\r\n top: Math.floor(ui.position.top / 50) * 50\r\n };\r\n }else{\r\n ui.position = {\r\n left: (Math.floor(ui.position.left / 25) | 1) * 25,\r\n top: Math.floor(ui.position.top / 50) * 50\r\n };\r\n }\r\n }else{\r\n ui.position = {\r\n left: Math.floor(ui.position.left / 50) * 50,\r\n top: Math.floor(ui.position.top / 50) * 50\r\n };\r\n }\r\n }\r\n },\r\n stop: (event, ui) => {\r\n character = ddf.characters[ui.helper.attr(\"id\")];\r\n if(character){\r\n data = character.data;\r\n data.x = ui.position.left / 50;\r\n data.y = ui.position.top / 50;\r\n ddf.moveCharacter(data.imgId, data.x, data.y);\r\n }\r\n console.log(ui);\r\n }\r\n };\r\n\r\n\r\n /*共通コンポーネント向け*/\r\n $(\".draggable\").draggable({\r\n cancel: \".dragprev, .draggableObj\",\r\n stack: \".draggable\"\r\n });\r\n $(\".draggabletail\").draggable({\r\n cancel: \".dragprev, .draggableObj\"\r\n });\r\n\r\n $(document).on('mouseover', \".mapMaskFrame.draggableObj\", (e) => {\r\n $(\".mapMaskFrame.draggableObj\").css('zIndex', 35);\r\n $(e.currentTarget).css('zIndex', 36);\r\n });\r\n $(document).on('mouseover', \".magicRangeFrame\", (e) => {\r\n $(\".magicRangeFrame\").css('zIndex', 40);\r\n $(e.currentTarget).css('zIndex', 41);\r\n });\r\n $(document).on('mouseover', \".mapMarkerFrame\", (e) => {\r\n $(\".mapMarkerFrame\").css('zIndex', 45);\r\n $(e.currentTarget).css('zIndex', 46);\r\n });\r\n $(document).on('mouseover', \".cardFrame\", (e) => {\r\n $(\".cardFrame\").css('zIndex', 50);\r\n $(e.currentTarget).css('zIndex', 51);\r\n });\r\n $(document).on('mouseover', \".characterFrame:not(.isHide)\", (e) => {\r\n $(\".characterFrame:not(.isHide)\").css('zIndex', 55);\r\n $(e.currentTarget).css('zIndex', 56);\r\n });\r\n $(document).on('mouseover', \".chitFrame\", (e) => {\r\n $(\".chitFrame\").css('zIndex', 60);\r\n $(e.currentTarget).css('zIndex', 61);\r\n });\r\n \r\n $(\".resizable\").resizable({\r\n ghost: true,\r\n handles: 'n, e, s, w, ne, se, sw, nw'\r\n });\r\n $('.loader-inner').loaders();\r\n\r\n $(document).on('click', \"#diceResult *\", (e) => {\r\n $(\"#diceResult\").empty();\r\n });\r\n $(document).on('click', \"#characterCutIn img\", (e) => {\r\n $(\"#characterCutIn\").empty();\r\n });\r\n \r\n /*ページ移動の停止処理*/\r\n window.onbeforeunload = (e) => {\r\n e.returnValue = '他のページに移動しようとしています。\\n移動しますか?';\r\n };\r\n \r\n getLoginInfo();\r\n \r\n /*待合室コマンド*/\r\n \r\n $(\"#btn_loginNumber\").on('click', (e) => {\r\n $(\"#window_loginNumber\").show().css(\"zIndex\", 151);\r\n $(\".draggable:not(#window_loginNumber)\").css(\"zIndex\", 150);\r\n });\r\n $(\"#window_loginNumber .btn\").on('click', (e) => {\r\n $(\"#window_loginNumber\").hide();\r\n });\r\n \r\n /*$(\"#btn_version\").on(\"click\", (e) => {\r\n });*/\r\n $(\"#btn_manual, #btn_manual2\").on('click', (e) => {\r\n window.open(ddf.base_url + \"README.html\");\r\n });\r\n /*$(\"#btn_tutorial\").on(\"click\", (e) => {\r\n });*/\r\n $(\"#btn_site, #btn_site2\").on('click', () => {\r\n window.open(\"http://www.dodontof.com/\");\r\n });\r\n \r\n $(\"#btn_removePlayRoom\").on('click', (e) => {\r\n removePlayRoom(parseInt($(\"#playRoomNo\").val().trim()));\r\n });\r\n \r\n \r\n $(\"#btn_createPlayRoom\").on('click', (e) => {\r\n ddf.userState.room = -1;\r\n $(\"#window_createPlayRoom\").show().css(\"zIndex\", 151);\r\n $(\".draggable:not(#window_createPlayRoom)\").css(\"zIndex\", 150);\r\n });\r\n $(\"#createPlayRoom_create\").on('click', (e) => {\r\n createPlayRoom();\r\n });\r\n $(\"#createPlayRoom_close\").on('click', (e) => {\r\n $(\"#window_createPlayRoom\").hide();\r\n });\r\n\r\n $(\"#btn_login\").on('click', (e) => {\r\n checkRoomStatus(parseInt($(\"#playRoomNo\").val()));\r\n });\r\n\r\n $(\"#playddf.roomInfos table\").tablesorter();\r\n\r\n var mousewheelevent = 'onwheel' in document ? 'wheel' : 'onmousewheel' in document ? 'mousewheel' : 'DOMMouseScroll';\r\n $(\"#mapSurface\").on(mousewheelevent,(e) => {\r\n e.preventDefault();\r\n var delta = e.originalEvent.deltaY ? -(e.originalEvent.deltaY) : e.originalEvent.wheelDelta ? e.originalEvent.wheelDelta : -(e.originalEvent.detail);\r\n if (delta < 0){\r\n ddf.cmd.setZoom(-0.1);\r\n } else {\r\n ddf.cmd.setZoom(0.1);\r\n }\r\n });\r\n \r\n $(\"#initiative table\").colResizable({partialRefresh: true});\r\n});\r\n\r\nddf.safeDragDestoroy = () => {\r\n try{\r\n $(\".draggableObj\").draggable(\"destroy\");\r\n }catch(e){}\r\n}\r\n\r\nddf.cmd.setZoom = setZoom;\r\nfunction setZoom(amount, relative = true){\r\n if(relative){\r\n ddf.roomState.zoom += amount;\r\n }else{\r\n ddf.roomState.zoom = amount;\r\n }\r\n ddf.roomState.zoom < 0.1 && (ddf.roomState.zoom = 0.1);\r\n ddf.roomState.zoom > 3.0 && (ddf.roomState.zoom = 3.0);\r\n $(\"#map\").css(\"transform\", \"scale(\"+ddf.roomState.zoom+\")\");\r\n}\r\n\r\nfunction getDiceBotInfos(){\r\n return ddf.getDiceBotInfos().then((r)=>{\r\n ddf.patterns = {};\r\n ddf.info.diceBotInfos = r;\r\n });\r\n}\r\n\r\nfunction getLoginInfo(){\r\n return ddf.getLoginInfo().then((r) => {\r\n ddf.info = r;\r\n $(\"#loginMessage\").html(ddf.info.loginMessage);\r\n total = 0;\r\n str = \"\";\r\n for(item of ddf.info.loginUserCountList){\r\n total += item[1];\r\n str += \"No.\"+item[0]+\":\"+item[1]+\"人
\";\r\n }\r\n $(\"#window_loginNumber .body\").html(str);\r\n $(\"#btn_loginNumber\").text(\"現状:\"+ddf.info.loginUserCountList.length+\"/上限:\"+ddf.info.limitLoginCount+\"人\");\r\n for(item of ddf.info.diceBotInfos){\r\n $(\"#playRoomGameType\").append($(''));\r\n }\r\n \r\n if(store.get('userState')){\r\n ddf.userState = store.get('userState');\r\n ddf.userState.room = -1;\r\n ddf.userState.backgroundColor = \"FFFFFF\";\r\n }else{\r\n ddf.userState = {\r\n room: -1,\r\n own: \"\\t\"+ddf.util.getUniqueId(),\r\n name: ddf.info.defaultUserNames.length==0?\"ななしさん\":ddf.info.defaultUserNames[Math.random()*ddf.info.defaultUserNames.length|0],\r\n fontSize: 10,\r\n chatColor: \"000000\",\r\n backgroundColor: \"FFFFFF\",\r\n showTime: false,\r\n chatPalette: []\r\n };\r\n saveUserState();\r\n }\r\n $(\"#login_name\").val(ddf.userState.name);\r\n\r\n ddf.cmd.getPlayRoomInfo();\r\n return r;\r\n });\r\n}\r\n\r\nddf.cmd.getPlayRoomInfo = getPlayRoomInfo;\r\nfunction getPlayRoomInfo(){\r\n promises = [];\r\n for(i = 0;i * ddf.info.playRoomGetRangeMax < ddf.info.playRoomMaxNumber;i++){\r\n promises.push(\r\n ddf.getPlayRoomInfo(i * ddf.info.playRoomGetRangeMax, ddf.info.playRoomGetRangeMax * (i+1) - 1 > ddf.info.playRoomMaxNumber ? ddf.info.playRoomMaxNumber : ddf.info.playRoomGetRangeMax * (i+1) - 1)\r\n );\r\n }\r\n callback = (r) => {\r\n roominfo = r;\r\n for(key in roominfo.playRoomStates){\r\n room = roominfo.playRoomStates[key];\r\n ddf.roomInfos[parseInt(room.index.trim())] = room;\r\n \r\n var row = \"\";\r\n row += ``\r\n row += ``\r\n row += ``\r\n row += ``\r\n row += ``;\r\n row += ``;\r\n row += ``;\r\n row += \"\";\r\n tr = $(row);\r\n button = $(\"\");\r\n if(room.lastUpdateTime){\r\n button.on('click', ((roomNumber) => {\r\n return (e) => {\r\n e.stopPropagation && e.stopPropagation();\r\n removePlayRoom(roomNumber)\r\n };\r\n })(parseInt(room.index.trim()) ));\r\n }else{\r\n button.prop(\"disabled\", true);\r\n } \r\n tr.children(\"td:last\").append(button);\r\n $(\"#playddf.roomInfos tbody\").append(tr);\r\n tr.on('dblclick', ((roomNumber) => {return (e) => {\r\n checkRoomStatus(roomNumber);\r\n }})(parseInt(room.index)));\r\n tr.on('click', ((roomNumber) => {return (e) => {\r\n $(\"#playRoomNo\").val(roomNumber);\r\n }})(parseInt(room.index)));\r\n $(\"#playRoomInfos table tbody\").append(tr);\r\n }\r\n $(\"#playddf.roomInfos table\").trigger( 'update');\r\n return r;\r\n };\r\n\r\n promises.reduce((current, next) => {\r\n var p = current.then((v) => {\r\n return next;\r\n });\r\n p.then(callback);\r\n return p;\r\n }, Promise.resolve());\r\n \r\n $(\"#loading\").hide();\r\n}\r\n\r\nfunction createPlayRoom(){\r\n ddf.createPlayRoom(\r\n ddf.userState.room,\r\n $(\"#playRoomName\").val(),\r\n $(\"#playRoomPassword\").val(),\r\n $(\"#playRoomGameType\").val(),\r\n true,\r\n false,\r\n [\"雑談\"],\r\n {\r\n isCardPickUpVisible:false,\r\n isChatPaletteVisible:false,\r\n isSnapMovablePiece:true,\r\n isCardHandleLogVisible:true,\r\n isCounterRemoconVisible:false,\r\n isStandingGraphicVisible:true,\r\n isRotateMarkerVisible:true,\r\n isDiceVisible:true,\r\n isAdjustImageSize:true,\r\n isChatVisible:true,\r\n isGridVisible:true,\r\n isInitiativeListVisible:true,\r\n isPositionVisible:true,\r\n isCutInVisible:true,\r\n isResourceWindowVisible:false\r\n },\r\n \"\"\r\n ).then((r) => {\r\n if(r.resultText == \"OK\"){\r\n ddf.getPlayRoomInfo(r.playRoomIndex, r.playRoomIndex).then(\r\n ((roomNumber) => {\r\n return (r) => {\r\n ddf.roomInfos[roomNumber] = r.playRoomStates[0];\r\n checkRoomStatus(roomNumber);\r\n };\r\n })(r.playRoomIndex)\r\n );\r\n\r\n }else{\r\n }\r\n });\r\n}\r\n\r\nddf.cmd.checkRoomStatus = checkRoomStatus;\r\nfunction checkRoomStatus(roomNumber, isVisit = null, password = null){\r\n room = ddf.roomInfos[roomNumber];\r\n if(room){\r\n if(room.lastUpdateTime==\"\"){\r\n /*ルーム未作成*/\r\n ddf.userState.room = roomNumber;\r\n $(\"#window_createPlayRoom\").show().css(\"zIndex\", 151);\r\n $(\".draggable:not(#window_createPlayRoom)\").css(\"zIndex\", 150);\r\n }else if((room.passwordLockState && password == null) || (room.canVisit && isVisit == null)){\r\n /*見学可・パスワード付きルーム1回目*/\r\n ddf.cmd.loginCheck_show(roomNumber);\r\n }else{\r\n /*ログイン*/\r\n return ddf.checkRoomStatus(roomNumber, password).then((r) => {\r\n roominfo=r;\r\n if(roominfo.isRoomExist){\r\n ddf.userState.room = roominfo.roomNumber;\r\n ddf.userState.name = $(\"#login_name\").val();\r\n saveUserState();\r\n ddf.sendChatMessage(0, \"どどんとふ\\t\", \"「\"+ddf.userState.name+\"」がログインしました。(htmlddf \"+version+\")\", \"00aa00\", true);\r\n $(\"#main\").hide();\r\n //history.pushState({roomNumber: roomNumber}, \"room=\"+roomNumber, \"index.html?room=\"+roomNumber);\r\n $(\"#main2\").show();\r\n $(\"#chatname\").val(ddf.userState.name);\r\n ddf.userState.room = roominfo.roomNumber;\r\n ddf.userState.lastUpdateTimes = {\r\n effects: 0,\r\n time: 0,\r\n map: 0,\r\n chatMessageDataLog: 0,\r\n recordIndex: 0,\r\n characters: 0,\r\n playRoomInfo: 0,\r\n record: 0\r\n };\r\n if(ddf.userState.chatPalette[ddf.base_url+roominfo.roomNumber]){\r\n for(item in ddf.userState.chatPalette[ddf.base_url+roominfo.roomNumber]){\r\n palette = ddf.userState.chatPalette[ddf.base_url+roominfo.roomNumber][item];\r\n palette && $(\"#chatPalette_tabs\").append($(`

${/^id/.test(palette.tabName)?$(\"#chatPalette_tabs p\").length+1:palette.tabName}

`))\r\n }\r\n }else{\r\n item = {\r\n tabName: \"id\"+ddf.util.getUniqueId(),\r\n text: \"\",\r\n name: \"\",\r\n color: 0xFFFFFF\r\n };\r\n ddf.userState.chatPalette[ddf.base_url+roominfo.roomNumber] = [];\r\n ddf.userState.chatPalette[ddf.base_url+roominfo.roomNumber][item.tabName] = item;\r\n $(\"#chatPalette_tabs\").append($(`

1

`))\r\n\r\n ddf.cmd.saveUserState();\r\n }\r\n $(\"#chatPalette_tabs > p:eq(0)\").click();\r\n getDiceBotInfos();\r\n ddf.characters = [];\r\n ddf.roomState = {};\r\n ddf.roomState.roomNumber = roomNumber;\r\n ddf.roomState.zoom = 1;\r\n ddf.roomState.roundTimeData = {};\r\n ddf.roomState.ini_characters = [];\r\n ddf.roomState.roundTimeData.counterNames = [];\r\n ddf.userState.rIndex = 0;\r\n var count = 0;\r\n ddf.roomState.unread = [];\r\n ddf.roomState.effects = [];\r\n ddf.roomState.playSound = true;\r\n ddf.roomState.chatChannelNames = roominfo.chatChannelNames;\r\n ddf.roomState.viewStateInfo = {\r\n isCardPickUpVisible:false,\r\n isChatPaletteVisible:false,\r\n isSnapMovablePiece:true,\r\n isCardHandleLogVisible:true,\r\n isCounterRemoconVisible:false,\r\n isStandingGraphicVisible:true,\r\n isRotateMarkerVisible:true,\r\n isDiceVisible:true,\r\n isAdjustImageSize:true,\r\n isChatVisible:true,\r\n isGridVisible:true,\r\n isInitiativeListVisible:true,\r\n isPositionVisible:true,\r\n isCutInVisible:true,\r\n isResourceWindowVisible:false\r\n };\r\n for(tab of roominfo.chatChannelNames){\r\n ddf.roomState.unread.push(0);\r\n var obj = $(`

${encode(tab)}/0

`);\r\n obj.on(\"click\", ((index) => {\r\n return (e) => {\r\n if(!$(e.currentTarget).hasClass(\"active\")){\r\n setChatTab(index)\r\n }\r\n }\r\n })(count++));\r\n $(\"#tab\").append(obj);\r\n $(\"#log\").append($(\"

\"));\r\n }\r\n for(item of ddf.info.diceBotInfos){\r\n if(/^[^:]*$/.test(item.gameType) && item.gameType != \"BaseDiceBot\"){\r\n $(\"#dicebot\").append($(``));\r\n }\r\n }\r\n $(\"#log > div, #chattext\").css({\r\n backgroundColor: \"#\"+ddf.userState.backgroundColor,\r\n fontSize: ddf.userState.fontSize+\"pt\"\r\n });\r\n setChatTab(\"0\");\r\n refresh();\r\n }\r\n });\r\n }\r\n }\r\n};\r\n\r\nddf.cmd.removePlayRoom = removePlayRoom;\r\nfunction removePlayRoom(roomNumber){\r\n room = ddf.roomInfos[roomNumber];\r\n if(room && room.lastUpdateTime){\r\n if(room.passwordLockState){\r\n ddf.cmd.roomDelete_show(roomNumber);\r\n }else{\r\n body = `No.${room.index}:${room.playRoomName}\\nを削除しますか?`;\r\n if(password != null || confirm(body)){\r\n ddf.removePlayRoom(roomNumber, false, password).then((r) => {\r\n $(\"#playRoomInfos tbody\").empty();\r\n ddf.cmd.getPlayRoomInfo();\r\n });\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction setChatTab(index){\r\n ddf.userState.channel = index;\r\n $(\"#tab p.active, #log div.active\").removeClass('active');\r\n $(`#tab p:eq(${index}), #log div:eq(${index})`).addClass('active');\r\n ddf.roomState.unread[index] = 0;\r\n $(`#tab p:eq(${index}) span`).text(0);\r\n}\r\n\r\nfunction refresh(){\r\n ddf.refresh().then((r) => {\r\n try{\r\n refreshData = r;\r\n //console.log(refreshData);\r\n refreshData.lastUpdateTimes && (ddf.userState.lastUpdateTimes = refreshData.lastUpdateTimes);\r\n if(refreshData.viewStateInfo){\r\n ddf.roomState.viewStateInfo = refreshData.viewStateInfo;\r\n }\r\n if(refreshData.gameType){\r\n if($(\"#dicebot\").children(`[value=${refreshData.gameType}]`).length==1){\r\n $(\"#dicebot\").val($(refreshData.gameType));\r\n }else{\r\n $(\"#dicebot\").append($(``));\r\n $(\"#dicebot\").val(refreshData.gameType);\r\n }\r\n }\r\n if(refreshData.mapData) {\r\n ddf.cmd.refresh_parseMapData(refreshData);\r\n }\r\n if(refreshData.characters){\r\n refresh_parseCharacters(refreshData);\r\n }\r\n if(refreshData.roundTimeData){\r\n refresh_parseRoundTimeData(refreshData);\r\n }\r\n if(refreshData.gameType){\r\n ddf.roomState.gameType = refreshData.gameType;\r\n }\r\n if(refreshData.viewStateInfo){\r\n refresh_parseViewStateInfo(refreshData);\r\n }\r\n if(refreshData.effects){\r\n refresh_parseEffects(refreshData);\r\n }\r\n if(refreshData.chatChannelNames && !refreshData.isFirstChatRefresh){\r\n $(`#tab > p:gt(${refreshData.chatChannelNames.length - 1}),#log > div:gt(${refreshData.chatChannelNames.length - 1})`).remove();\r\n ddf.roomState.unread.splice(refreshData.chatChannelNames.length);\r\n for(i = 0;i < refreshData.chatChannelNames.length;i++){\r\n if(ddf.roomState.chatChannelNames.length <= i){\r\n ddf.roomState.unread.push(0);\r\n var obj = $(`

${encode(tab)}/0

`);\r\n obj.on(\"click\", ((index) => {\r\n return (e) => {\r\n if(!$(e.currentTarget).hasClass(\"active\")){\r\n setChatTab(index)\r\n }\r\n }\r\n })(i));\r\n $(\"#tab\").append(obj);\r\n $(\"#log\").append($(\"

\"));\r\n }else{\r\n $(`#tab:eq(${refreshData.chatChannelNames - 1})`).html(`${encode(refreshData.chatChannelNames[i])}/${ddf.roomState.unread[i]}`);\r\n }\r\n }\r\n if($(\"#tab .active\").length == 0){\r\n setChatTab(0);\r\n }\r\n ddf.roomState.chatChannelNames = refreshData.chatChannelNames;\r\n }\r\n if(refreshData.chatMessageDataLog){\r\n refresh_parseChatMessageDataLog(refreshData);\r\n }\r\n if(refreshData.record) {\r\n ddf.cmd.refresh_parseRecordData(refreshData);\r\n }\r\n if(refreshData.gameType){\r\n $(\"#dicebot\").val(refreshData.gameType);\r\n }\r\n if(refreshData.playRoomName){\r\n ddf.roomState.playRoomName = refreshData.playRoomName;\r\n }\r\n if(refreshData.loginUserInfo){\r\n ddf.roomState.loginUserInfo = refreshData.loginUserInfo;\r\n $(\"#btn_member\").text(`ルームNo.${ddf.roomState.roomNumber}:${refreshData.loginUserInfo.length}名`);\r\n }\r\n r = refreshData = null;\r\n }catch(e){\r\n console.log(e);\r\n }finally{\r\n if(ddf.userState.room != -1){\r\n setTimeout(refresh, ddf.info.refreshInterval * 1000);\r\n }\r\n }\r\n });\r\n}\r\n\r\nfunction refresh_parseEffects(refreshData){\r\n ddf.roomState.effects = refreshData.effects;\r\n ddf.cmd.effectList_create();\r\n}\r\n\r\nfunction refresh_parseChatMessageDataLog(refreshData){\r\n let prevheight = $(\"#log .active\")[0].scrollHeight - $(\"#log .active\").height();\r\n lastRandResult = false;\r\n lastCutIn = false;\r\n sound = false;\r\n for(item of refreshData.chatMessageDataLog){\r\n if(item[0] <= ddf.roomState.lastMessageTime){continue;}\r\n sound = true;\r\n if(!window_focus && !running){\r\n titleAnimation();\r\n }\r\n ddf.roomState.lastMessageTime = item[0];\r\n if(matches = /^(.*)@([^@]+)@([^@]+)$/.exec(item[1].message)){\r\n item[1].message = matches[1];\r\n item[1].senderName = matches[2];\r\n item[1].state = matches[3];\r\n }else if(matches = /^(.*)@([^@]+)$/.exec(item[1].message)){\r\n item[1].message = matches[1];\r\n item[1].senderName = matches[2];\r\n }else if(matches = /^(.*)\\t(.*)$/.exec(item[1].senderName)){\r\n item[1].senderName = matches[1];\r\n item[1].state = matches[2];\r\n }\r\n item[1].uniqueId != 'dummy' && (lastCutIn = [item[1].senderName, item[1].state]);\r\n if(matches = /^###CutInCommand:([a-zA-Z]+)###(.+)$/.exec(item[1].message)){\r\n switch(matches[1]){\r\n case \"getDiceBotInfos\":\r\n if(!refreshData.isFirstChatRefresh){\r\n getDiceBotInfos();\r\n }\r\n continue;\r\n break;\r\n case \"rollVisualDice\":\r\n param = JSON.parse(matches[2]);\r\n $(`#log div:eq(${item[1].channel})`).append($(`

${ddf.userState.showTime?''+dateFormat(new Date(item[0]*1000), \"HH:MM\")+\":\":\"\"}${encode(item[1].senderName)}:${encode(param.chatMessage).replace(/\\n/, \"
\")}

`));\r\n chatlog.push([item[1].channel, ddf.roomState.chatChannelNames[item[1].channel], item[0],\"#\"+item[1].color,item[1].senderName, param.chatMessage]);\r\n $(`#log div:eq(${item[1].channel})`).hasClass(\"active\") || ddf.roomState.unread[item[1].channel]++;\r\n lastRandResult = [param.chatMessage, param.randResults];\r\n continue;\r\n break;\r\n }\r\n }else if(matches = /^###CutInMovie###(.+)$/.exec(item[1].message)){\r\n param = JSON.parse(matches[1]);\r\n $(`#log div:eq(${item[1].channel})`).append($(`

${ddf.userState.showTime?''+dateFormat(new Date(item[0]*1000), \"HH:MM\")+\":\":\"\"}${encode(item[1].senderName)}:【${encode(param.message)}】

`));\r\n chatlog.push([item[1].channel, ddf.roomState.chatChannelNames[item[1].channel], item[0],\"#\"+item[1].color,item[1].senderName, param.chatMessage]);\r\n $(`#log div:eq(${item[1].channel})`).hasClass(\"active\") || ddf.roomState.unread[item[1].channel]++;\r\n }else{\r\n $(`#log div:eq(${item[1].channel})`).append($(`

${ddf.userState.showTime?''+dateFormat(new Date(item[0]*1000), \"HH:MM\")+\":\":\"\"}${encode(item[1].senderName)}:${encode(item[1].message).replace(/\\n/, \"
\")}

`));\r\n chatlog.push([item[1].channel, ddf.roomState.chatChannelNames[item[1].channel], item[0],\"#\"+item[1].color,item[1].senderName, item[1].message]);\r\n $(`#log div:eq(${item[1].channel})`).hasClass(\"active\") || ddf.roomState.unread[item[1].channel]++;\r\n }\r\n }\r\n if(refreshData.isFirstChatRefresh){\r\n for(div of $(\"#log\").children(\"div\")){\r\n div.scrollTop = $(div).children(\":last\").offset().top;\r\n }\r\n ddf.roomState.unread = ddf.roomState.unread.map(()=>{return 0;});\r\n }else{\r\n if(prevheight < $(\"#log .active\").scrollTop()){\r\n $(\"#log .active\").scrollTop($(\"#log .active\")[0].scrollHeight);\r\n }\r\n for(index in $(\"#tab\").children(\"p\")){\r\n $(\"#tab\").children(\"p\").eq(index).children(\"span\").text(ddf.roomState.unread[index]);\r\n }\r\n }\r\n if(lastCutIn){\r\n let found = false;\r\n if(!found){\r\n for(item of ddf.roomState.effects){\r\n if(item.type = \"standingGraphicInfos\"){\r\n if(lastCutIn[0] == item.name && lastCutIn[1] == item.state){\r\n $(\"#characterCutIn\").empty();\r\n $(\"#characterCutIn\").append($(``));\r\n }\r\n }\r\n }\r\n }\r\n if(!found){\r\n for(id in ddf.characters){\r\n character = ddf.characters[id].data;\r\n if(character.name == lastCutIn[0]){\r\n $(\"#characterCutIn\").empty();\r\n $(\"#characterCutIn\").append($(``));\r\n found = true;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n if(lastRandResult){\r\n playSound(diceRollBuffer);\r\n $(\"#diceResult\").empty();\r\n for(item of lastRandResult[1]){\r\n if([4,6,8,10,12,20].includes(item[1])){\r\n $(\"#diceResult\").append($(`\"${item[0]}\"`));\r\n }else{\r\n $(\"#diceResult\").append($(`\"${item[0]}\"`));\r\n }\r\n }\r\n total = /\\s([^\\s]+)$/.exec(lastRandResult[0])[1];\r\n $(\"#diceResult\").append($(`
${encode(total)}
`));\r\n }else if(sound){\r\n playSound(pageBuffer);\r\n }\r\n}\r\n\r\nfunction refresh_parseViewStateInfo(refreshData){\r\n for(key in refreshData.viewStateInfo){\r\n switch(key){\r\n case \"isSnapMovablePiece\":\r\n if(refreshData.viewStateInfo[key]){\r\n $(\"#btn_gridguide\").addClass(\"checked\");\r\n }\r\n break;\r\n case \"isAdjustImageSize\":\r\n if(refreshData.viewStateInfo[key]){\r\n $(\"#btn_adjustcharacter\").addClass(\"checked\");\r\n $(\"#characterCutIn\").addClass(\"adjust\");\r\n }\r\n break;\r\n case \"isCardHandleLogVisible\":\r\n if(refreshData.viewStateInfo[key]){\r\n $(\"#btn_cardlog\").addClass(\"checked\");\r\n }\r\n break;\r\n case \"isCardPickUpVisible\":\r\n if(refreshData.viewStateInfo[key]){\r\n $(\"#btn_cardpickup\").addClass(\"checked\");\r\n }\r\n break;\r\n case \"isCutInVisible\":\r\n if(refreshData.viewStateInfo[key]){\r\n $(\"#btn_displaycutin\").addClass(\"checked\");\r\n }\r\n break;\r\n case \"isGridVisible\":\r\n if(refreshData.viewStateInfo[key]){\r\n $(\"#btn_displaygridline\").addClass(\"checked\");\r\n }\r\n break;\r\n case \"isPositionVisible\":\r\n if(refreshData.viewStateInfo[key]){\r\n $(\"#btn_displaygridnum\").addClass(\"checked\");\r\n }\r\n break;\r\n case \"isStandingGraphicVisible\":\r\n if(refreshData.viewStateInfo[key]){\r\n $(\"#btn_displaycharacter\").addClass(\"checked\");\r\n\r\n $(\"#characterCutIn\").show();\r\n }else{\r\n $(\"#characterCutIn\").hide();\r\n }\r\n break;\r\n case \"isRotateMarkerVisible\":\r\n if(refreshData.viewStateInfo[key]){\r\n $(\"#btn_rotate\").addClass(\"checked\");\r\n }\r\n break;\r\n case \"isChatVisible\":\r\n if(refreshData.viewStateInfo[key]){\r\n $(\"#btn_displaychat\").addClass(\"checked\");\r\n \r\n $(\"#window_chat .inner\").show();\r\n }else{\r\n $(\"#window_chat .inner\").hide();\r\n }\r\n break;\r\n case \"isDiceVisible\":\r\n if(refreshData.viewStateInfo[key]){\r\n $(\"#btn_displaydice\").addClass(\"checked\");\r\n \r\n $(\"#diceResult\").show();\r\n }else{\r\n $(\"#diceResult\").hide();\r\n }\r\n break;\r\n case \"isInitiativeListVisible\":\r\n if(refreshData.viewStateInfo[key]){\r\n $(\"#btn_displayinitiative\").addClass(\"checked\");\r\n \r\n $(\"#initiative\").show();\r\n\r\n $(\"#initiative table\").colResizable({partialRefresh: true});\r\n }\r\n break;\r\n case \"isResourceWindowVisible\":\r\n if(refreshData.viewStateInfo[key]){\r\n $(\"#btn_displayresource\").addClass(\"checked\");\r\n \r\n //$(\"#resource\").show();\r\n /*TODO*/\r\n }\r\n break;\r\n case \"isChatPaletteVisible\":\r\n if(refreshData.viewStateInfo[key]){\r\n $(\"#btn_displaychatpalette\").addClass(\"checked\");\r\n \r\n $(\"#window_chatPalette\").show();\r\n }\r\n break;\r\n case \"isCounterRemoconVisible\":\r\n if(refreshData.viewStateInfo[key]){\r\n $(\"#btn_displaycounter\").addClass(\"checked\");\r\n \r\n //$(\"#remocon\").show();\r\n /*TODO*/\r\n }\r\n break;\r\n }\r\n }\r\n}\r\n\r\nddf.cmd.refresh_parseRecordData = refresh_parseRecordData;\r\nfunction refresh_parseRecordData(refreshData){\r\n ddf.safeDragDestoroy();\r\n iniChanged = false;\r\n force = false;\r\n for(record of refreshData.record){\r\n switch(record[1]){\r\n case \"addCharacter\":\r\n force = true;\r\n case \"changeCharacter\":\r\n data = record[2][0];\r\n character = ddf.characters[data.imgId];\r\n if(!character){\r\n refresh_parseCharacters({characters: [data]});\r\n iniChanged = true;\r\n continue;\r\n }\r\n obj = character.obj;\r\n switch(data.type){\r\n case \"LogHorizonRange\":\r\n obj.css({\r\n clipPath: `polygon(0 ${data.range*50+50}px, 0 ${data.range*50}px,${data.range*50}px 0,${data.range*50+50}px 0,${data.range*100+50}px ${data.range*50}px, ${data.range*100+50}px ${data.range*50+50}px, ${data.range*50+50}px ${data.range*100+50}px, ${data.range*50}px ${data.range*100+50}px)`,\r\n left: data.x * 50,\r\n top: data.y * 50,\r\n marginLeft: (data.range * -50) * ddf.roomState.mapData.gridInterval,\r\n marginTop: (data.range * -50) * ddf.roomState.mapData.gridInterval,\r\n width: (data.range * 100 + 50) * ddf.roomState.mapData.gridInterval,\r\n height: (data.range * 100 + 50) * ddf.roomState.mapData.gridInterval,\r\n });\r\n obj.children(\"object\").attr(\"data\", `img/rangeLH.svg?size=${data.range}&color=${data.color}`);\r\n obj.children(\"object\").css({\r\n width: (data.range * 100 + 50) * ddf.roomState.mapData.gridInterval,\r\n height: (data.range * 100 + 50) * ddf.roomState.mapData.gridInterval\r\n });\r\n break;\r\n case \"magicRangeMarkerDD4th\":\r\n iniChanged = true;\r\n obj.animate({\r\n left: data.x * 50,\r\n top: data.y * 50\r\n }, 300);\r\n if(!data.isHide){\r\n ddf.roomState.ini_characters[character.data.imgId] = ddf.characters[character.data.imgId];\r\n }else{\r\n character.row && character.row.remove();\r\n delete ddf.roomState.ini_characters[character.data.imgId];\r\n }\r\n obj.css({\r\n backgroundColor: \"rgb(\"+[data.color / 65536 & 0xFF, data.color / 256 & 0xFF, data.color & 0xFF].join()+\")\"\r\n });\r\n switch(data.rangeType){\r\n case \"closeBurstDD4th\":\r\n obj.addClass(\"rangeCenterMarker\");\r\n obj.css({\r\n marginLeft: (data.feets * -10) * ddf.roomState.mapData.gridInterval,\r\n marginTop: (data.feets * -10) * ddf.roomState.mapData.gridInterval,\r\n width: (data.feets * 20 + 50) * ddf.roomState.mapData.gridInterval,\r\n height: (data.feets * 20 + 50) * ddf.roomState.mapData.gridInterval,\r\n });\r\n break;\r\n case \"blastDD4th\":\r\n obj.removeClass(\"rangeCenterMarker\");\r\n obj.css({\r\n marginLeft: 0,\r\n marginTop: 0,\r\n width: (data.feets * 10) * ddf.roomState.mapData.gridInterval,\r\n height: (data.feets * 10) * ddf.roomState.mapData.gridInterval,\r\n });\r\n }\r\n break;\r\n case \"mapMask\":\r\n obj.children(\".name\").text(data.name);\r\n obj.animate({\r\n left: data.x * 50,\r\n top: data.y * 50\r\n }, 300);\r\n colors = [data.color / 65536 & 0xFF, data.color / 256 & 0xFF, data.color & 0xFF];\r\n sum = 255;\r\n refColor = [sum - colors[0], sum - colors[1], sum - colors[2]];\r\n obj.css({\r\n left: data.x * 50,\r\n top: data.y * 50,\r\n width: data.width * 50,\r\n height: data.height * 50,\r\n opacity: data.alpha,\r\n backgroundColor: \"rgb(\"+colors+\")\"\r\n });\r\n obj.children(\".name\").css({\r\n color: \"rgb(\"+refColor+\")\"\r\n });\r\n if(data.draggable){\r\n obj.addClass(\"draggableObj\");\r\n }else{\r\n obj.removeClass(\"draggableObj\");\r\n }\r\n break;\r\n case \"characterData\":\r\n iniChanged = true;\r\n obj.animate({\r\n left: data.x * 50,\r\n top: data.y * 50\r\n }, 300);\r\n obj.css({\r\n width: data.size * 50,\r\n height: data.size * 50\r\n });\r\n if(!data.isHide){\r\n ddf.roomState.ini_characters[character.data.imgId] = ddf.characters[character.data.imgId];\r\n obj.removeClass(\"isHide\");\r\n }else{\r\n character.row && character.row.remove();\r\n delete ddf.roomState.ini_characters[character.data.imgId];\r\n obj.addClass(\"isHide\");\r\n }\r\n obj.children(\".inner\").css({\r\n transform: \"rotateZ(\"+data.rotation+\"deg) \"+(data.mirrored?\" rotateY(180deg)\":\"\"),\r\n backgroundImage: \"url(\"+ddf.base_url+data.imageName+\")\"\r\n });\r\n obj.children(\".name\").text(data.name);\r\n obj.children(\".dogtag\").text(data.dogTag);\r\n break;\r\n case \"Memo\":\r\n title = data.message.split(\"\\r\")[0];\r\n ar = data.message.split(/\\t\\|\\t/);\r\n if(ar.length > 1){\r\n body = ar.map((v)=>{return `[${v.split(\"\\r\")[0]}]`}).join(\"
\")\r\n }else{\r\n body = data.message.replace(\"\\r\", \"
\");\r\n }\r\n obj.html(`${encode(title)}
${encode(body)}
`);\r\n }\r\n character.data = data;\r\n break;\r\n case \"removeCharacter\":\r\n iniChanged = true;\r\n data = record[2][0];\r\n character = ddf.characters[data];\r\n if(character){\r\n character.obj && character.obj.remove();\r\n character.row && character.row.remove();\r\n delete ddf.characters[data[0]];\r\n if(ddf.roomState.ini_characters[data[0]]){\r\n delete ddf.roomState.ini_characters[data[0]];\r\n }\r\n }\r\n }\r\n }\r\n iniChanged && ddf.cmd.initiative_sort(force);\r\n $(\".draggableObj\").draggable(ddf.dragOption);\r\n}\r\n\r\nfunction refresh_parseCharacters(refreshData){\r\n for(character of refreshData.characters){\r\n switch(character.type){\r\n case \"Card\":\r\n case \"CardTrushMount\":\r\n case \"CardMount\":\r\n break;\r\n case \"LogHorizonRange\":\r\n obj = $(`
`);\r\n $(\"#mapSurface\").append(obj);\r\n ddf.characters[character.imgId] = {\r\n obj: obj,\r\n data: character\r\n };\r\n obj.css({\r\n clipPath: `polygon(0 ${character.range*50+50}px, 0 ${character.range*50}px,${character.range*50}px 0,${character.range*50+50}px 0,${character.range*100+50}px ${character.range*50}px, ${character.range*100+50}px ${character.range*50+50}px, ${character.range*50+50}px ${character.range*100+50}px, ${character.range*50}px ${character.range*100+50}px)`,\r\n left: character.x * 50,\r\n top: character.y * 50,\r\n marginLeft: (character.range * -50) * ddf.roomState.mapData.gridInterval,\r\n marginTop: (character.range * -50) * ddf.roomState.mapData.gridInterval,\r\n opacity: 0.5\r\n });\r\n obj.children(\"object\").css({\r\n width: (character.range * 100 + 50) * ddf.roomState.mapData.gridInterval,\r\n height: (character.range * 100 + 50) * ddf.roomState.mapData.gridInterval\r\n });\r\n break;\r\n case \"magicRangeMarkerDD4th\":\r\n obj = $(`
`);\r\n $(\"#mapSurface\").append(obj);\r\n ddf.characters[character.imgId] = {\r\n obj: obj,\r\n data: character\r\n };\r\n if(!character.isHide){\r\n ddf.roomState.ini_characters[character.imgId] = ddf.characters[character.imgId];\r\n }\r\n obj.css({\r\n left: character.x * 50,\r\n top: character.y * 50,\r\n opacity: 0.5,\r\n backgroundColor: \"rgb(\"+[character.color / 65536 & 0xFF, character.color / 256 & 0xFF, character.color & 0xFF].join()+\")\"\r\n });\r\n switch(character.rangeType){\r\n case \"closeBurstDD4th\":\r\n obj.addClass(\"rangeCenterMarker\");\r\n obj.css({\r\n marginLeft: (character.feets * -10) * ddf.roomState.mapData.gridInterval,\r\n marginTop: (character.feets * -10) * ddf.roomState.mapData.gridInterval,\r\n width: (character.feets * 20 + 50) * ddf.roomState.mapData.gridInterval,\r\n height: (character.feets * 20 + 50) * ddf.roomState.mapData.gridInterval,\r\n });\r\n break;\r\n case \"blastDD4th\":\r\n obj.removeClass(\"rangeCenterMarker\");\r\n obj.css({\r\n marginLeft: 0,\r\n marginTop: 0,\r\n width: (character.feets * 10) * ddf.roomState.mapData.gridInterval,\r\n height: (character.feets * 10) * ddf.roomState.mapData.gridInterval,\r\n });\r\n }\r\n break;\r\n case \"mapMask\":\r\n obj = $(`
`);\r\n if(character.draggable){obj.addClass(\"draggableObj\");}\r\n obj.append($(`
${encode(character.name)}
`));\r\n ddf.characters[character.imgId] = {\r\n obj: obj,\r\n data: character\r\n };\r\n colors = [character.color / 65536 & 0xFF, character.color / 256 & 0xFF, character.color & 0xFF];\r\n sum = 255;\r\n refColor = [sum - colors[0], sum - colors[1], sum - colors[2]];\r\n obj.css({\r\n left: character.x * 50,\r\n top: character.y * 50,\r\n width: character.width * 50,\r\n height: character.height * 50,\r\n opacity: character.alpha,\r\n backgroundColor: \"rgb(\"+colors+\")\"\r\n });\r\n obj.children(\".name\").css({\r\n color: \"rgb(\"+refColor+\")\"\r\n });\r\n $(\"#mapSurface\").append(obj);\r\n break;\r\n case \"characterData\":\r\n obj = $(`
`);\r\n obj.append($(`
${encode(character.dogTag)}
${encode(character.name)}
`));\r\n ddf.characters[character.imgId] = {\r\n obj: obj,\r\n data: character\r\n };\r\n if(!character.isHide){\r\n ddf.roomState.ini_characters[character.imgId] = ddf.characters[character.imgId];\r\n }else{\r\n obj.addClass(\"isHide\");\r\n }\r\n obj.css({\r\n left: character.x * 50,\r\n top: character.y * 50,\r\n width: character.size * 50,\r\n height: character.size * 50\r\n });\r\n obj.children(\".inner\").css({\r\n transform: \"rotateZ(\"+character.rotation+\"deg) \"+(character.mirrored?\" rotateY(180deg)\":\"\"),\r\n backgroundImage: \"url(\"+ddf.base_url+character.imageName+\")\"\r\n });\r\n \r\n $(\"#mapSurface\").append(obj);\r\n break;\r\n case \"Memo\":\r\n title = character.message.split(\"\\r\")[0];\r\n ar = character.message.split(/\\t\\|\\t/);\r\n if(ar.length > 1){\r\n body = ar.map((v)=>{return `[${v.split(\"\\r\")[0]}]`}).join(\"
\")\r\n }else{\r\n body = character.message.replace(\"\\r\", \"
\");\r\n }\r\n obj = $(`
${encode(title)}
${encode(body)}
`);\r\n $(\"#list_memo\").append(obj);\r\n ddf.characters[character.imgId] = {\r\n obj: obj,\r\n data: character\r\n };\r\n break;\r\n }\r\n }\r\n $(\".draggableObj\").draggable(ddf.dragOption);\r\n}\r\n\r\nddf.cmd.refresh_parseMapData = refresh_parseMapData;\r\nfunction refresh_parseMapData(refreshData){\r\n ddf.roomState.mapData = refreshData.mapData;\r\n switch(refreshData.mapData.mapType){\r\n case \"imageGraphic\":\r\n $(\"#mapimg\").attr(\"src\", ddf.base_url + refreshData.mapData.imageSource)\r\n .css({\r\n width: refreshData.mapData.xMax * 50,\r\n height: refreshData.mapData.yMax * 50,\r\n });\r\n if(refreshData.mapData.mirrored){\r\n $(\"#mapimg\").addClass(\"mirrored\");\r\n }else{\r\n $(\"#mapimg\").removeClass(\"mirrored\");\r\n }\r\n $(\"#map\")\r\n .css({\r\n width: refreshData.mapData.xMax * 50,\r\n height: refreshData.mapData.yMax * 50,\r\n });\r\n param = {\r\n x: refreshData.mapData.xMax,\r\n y: refreshData.mapData.yMax,\r\n border: ddf.roomState.viewStateInfo.isGridVisible,\r\n alt: refreshData.mapData.isAlternately,\r\n num: ddf.roomState.viewStateInfo.isPositionVisible,\r\n size: refreshData.mapData.gridInterval,\r\n color: \"rgb(\"+[refreshData.mapData.gridColor / 65536 & 0xFF,refreshData.mapData.gridColor / 256 & 0xFF,refreshData.mapData.gridColor & 0xFF].join()+\")\",\r\n mapMarks: refreshData.mapData.mapMarks?refreshData.mapData.mapMarks.join(\"/\"):\"\",\r\n mapMarksAlpha: refreshData.mapData.mapMarksAlpha!=null?refreshData.mapData.mapMarksAlpha:1\r\n };\r\n $(\"#mapGrid\").attr(\"data\", \"img/grid.svg?\"+$.map(param, (v,k) => {return k+\"=\"+v;}).join(\"&\"));\r\n }\r\n if(refreshData.mapData.drawsImage && refreshData.mapData.drawsImage != \"\"){\r\n $(\"#mapDraw\").show();\r\n $(\"#mapDraw\").attr(\"src\", ddf.base_url + refreshData.mapData.drawsImage);\r\n }else{\r\n $(\"#mapDraw\").hide();\r\n }\r\n if(refreshData.mapData.draws){\r\n $(\"#drawsPanel\").attr(\"data\", \"img/draw.svg?width=\"+refreshData.mapData.xMax * 50+\"&height=\" + refreshData.mapData.yMax * 50 + \"&list=\"+JSON.stringify(refreshData.mapData.draws));\r\n }else{\r\n $(\"#drawsPanel param\").val(\"[]\");\r\n }\r\n redraw = [];\r\n for(item in ddf.characters){\r\n if(ddf.characters[item].data.type == \"magicRangeMarkerDD4th\"){\r\n redraw.push([0, \"changeCharacter\", [ddf.characters[item].data], \"dummy\\t\"]);\r\n }\r\n }\r\n ddf.cmd.refresh_parseRecordData({record: redraw});\r\n}\r\n\r\nddf.cmd.refresh_parseRoundTimeData = refresh_parseRoundTimeData;\r\nfunction refresh_parseRoundTimeData(refreshData, force = false){\r\n if(force || JSON.stringify(refreshData.roundTimeData.counterNames) != JSON.stringify(ddf.roomState.roundTimeData.counterNames)){\r\n $(\"#initiative table thead tr\").empty();\r\n $(\"#initiative table thead tr\").append($(\"
\"));\r\n $(\"#initiative table thead tr\").append($(\"\"));\r\n $(\"#initiative table thead tr\").append($(\"\"));\r\n $(\"#initiative table thead tr\").append($(\"\"));\r\n for(counter of refreshData.roundTimeData.counterNames){\r\n $(\"#initiative table thead tr\").append($(``));\r\n }\r\n $(\"#initiative table thead tr\").append($(\"\"));\r\n \r\n $(\"#initiative table tbody\").empty();\r\n ddf.roomState.ini_characters = ddf.util.hashSort(ddf.roomState.ini_characters, (obj) => {return obj.data.initiative});\r\n for(key in ddf.roomState.ini_characters){\r\n var character = ddf.roomState.ini_characters[key];\r\n var tmp = ``;\r\n tmp+= ``;\r\n if(character.data.initiative < 0 && Math.round((character.data.initiative % 1)*10) >= -0.1){\r\n tmp+= ``;\r\n tmp+= ``;\r\n }else if(character.data.initiative < 0){\r\n tmp+= ``;\r\n tmp+= ``;\r\n }else if(Math.round((character.data.initiative % 1) * 10) >= 9){\r\n tmp+= ``;\r\n tmp+= ``;\r\n }else{\r\n tmp+= ``;\r\n tmp+= ``;\r\n }\r\n tmp+= ``;\r\n count = 0;\r\n for(counter of refreshData.roundTimeData.counterNames){\r\n character.data.counters == null && (character.data.counters = {});\r\n character.data.statusAlias == null && (character.data.statusAlias = {});\r\n character.data.counters[counter]==undefined && (character.data.counters[counter] = 0);\r\n if(/^\\*/.test(counter)){\r\n if(character.data.statusAlias && character.data.statusAlias[counter]){\r\n tmp+= ``;\r\n }else{\r\n tmp+= ``;\r\n }\r\n }else{\r\n tmp+= ``;\r\n }\r\n count++;\r\n }\r\n tmp+= ``;\r\n tmp+= \"\";\r\n character.row = $(tmp);\r\n if($(\"#initiative table tbody tr\").length > 0){\r\n $(\"#initiative table tbody tr:eq(0)\").before(\r\n character.row\r\n );\r\n }else{\r\n $(\"#initiative table tbody\").append(\r\n character.row\r\n );\r\n }\r\n }\r\n $(\"#initiative table\").colResizable({partialRefresh: true});\r\n }else{\r\n ddf.roomState.ini_characters = ddf.util.hashSort(ddf.roomState.ini_characters, (obj) => {return obj.data.initiative});\r\n for(key in ddf.roomState.ini_characters){\r\n var character = ddf.roomState.ini_characters[key];\r\n if(character != undefined){\r\n character.row.children(\"td:eq(0)\").text(character.data.initiative==refreshData.roundTimeData.initiative?\"●\":\"\");\r\n $(\"#initiative table tbody tr:eq(0)\").before(\r\n character.row\r\n );\r\n }\r\n }\r\n }\r\n $(\"#round\").text(refreshData.roundTimeData.round);\r\n $(\"#now_ini\").text(refreshData.roundTimeData.initiative);\r\n\r\n ddf.roomState.roundTimeData = refreshData.roundTimeData;\r\n}\r\n\r\nddf.cmd.sendChatMessage = sendChatMessage;\r\nfunction sendChatMessage(channel, senderName, state, gameType, message, color, isNeedResult = true){\r\n ddf.roomState.gameType = gameType;\r\n if(message.trim()==\"\"){return false;}\r\n if(!(pattern = ddf.patterns[ddf.roomState.gameType])){\r\n dicebot = ddf.info.diceBotInfos.find((r) => {return r.gameType == ddf.roomState.gameType});\r\n pattern = [].concat(\r\n ddf.info.diceBotInfos.find((r) => {return r.gameType == \"BaseDiceBot\"}).prefixs,\r\n dicebot?dicebot.prefixs:[],\r\n ).map((r) => {return new RegExp(\"^((\\\\d+)\\\\s+)?(S?\"+r+\"[^\\\\s]*)\", \"i\");});\r\n ddf.patterns[ddf.roomState.gameType] = pattern;\r\n }\r\n var match;\r\n if(!!pattern.find((r) => {return !!(match = r.exec(toHalf(message)));})){\r\n //DiceBotMessage\r\n ddf.userState.name = senderName;\r\n saveUserState();\r\n return ddf.sendDiceBotChatMessage(channel, senderName, state, match[2]?match[2]:0, match[3], color, ddf.roomState.gameType, isNeedResult);\r\n }else{\r\n //ChatMessage\r\n if(/^###CutInCommand:/.test(message)){\r\n message = \"Wrong Message -> \" + message;\r\n }\r\n ddf.userState.name = senderName;\r\n saveUserState();\r\n return ddf.sendChatMessage(channel, senderName + \"\\t\"+ state, message, color);\r\n }\r\n}\r\n\r\nddf.cmd.saveUserState = saveUserState;\r\nfunction saveUserState(){\r\n chatPalette = {};\r\n for(item in ddf.userState.chatPalette){\r\n chatPalette[item] = {};\r\n for(item2 in ddf.userState.chatPalette[item]){\r\n if(ddf.userState.chatPalette[item][item2]){\r\n chatPalette[item][item2] = ddf.userState.chatPalette[item][item2];\r\n }\r\n }\r\n }\r\n store.set('userState', {\r\n name: ddf.userState.name,\r\n own: ddf.userState.own,\r\n chatColor: ddf.userState.chatColor,\r\n showTime: ddf.userState.showTime,\r\n chatPalette: chatPalette,\r\n fontSize: ddf.userState.fontSize,\r\n });\r\n}\r\n\r\n\r\nddf.cmd.clearUserState = clearUserState;\r\nfunction clearUserState(){\r\n store.clearAll();\r\n //クリア後はリロードが必要。\r\n}\r\n"],"file":"../index.js"} \ No newline at end of file diff --git a/build/js/colResizable-1.6.min.js b/build/js/colResizable-1.6.min.js new file mode 100644 index 0000000..3487db8 --- /dev/null +++ b/build/js/colResizable-1.6.min.js @@ -0,0 +1,3 @@ +// colResizable 1.6 - a jQuery plugin by Alvaro Prieto Lauroba http://www.bacubacu.com/colresizable/ + +!function(t){var e,i=t(document),r=t("head"),o=null,s={},d=0,n="id",a="px",l="JColResizer",c="JCLRFlex",f=parseInt,h=Math,p=navigator.userAgent.indexOf("Trident/4.0")>0;try{e=sessionStorage}catch(g){}r.append("");var u=function(e,i){var o=t(e);if(o.opt=i,o.mode=i.resizeMode,o.dc=o.opt.disabledColumns,o.opt.disable)return w(o);var a=o.id=o.attr(n)||l+d++;o.p=o.opt.postbackSafe,!o.is("table")||s[a]&&!o.opt.partialRefresh||("e-resize"!==o.opt.hoverCursor&&r.append(""),o.addClass(l).attr(n,a).before('
'),o.g=[],o.c=[],o.w=o.width(),o.gc=o.prev(),o.f=o.opt.fixed,i.marginLeft&&o.gc.css("marginLeft",i.marginLeft),i.marginRight&&o.gc.css("marginRight",i.marginRight),o.cs=f(p?e.cellSpacing||e.currentStyle.borderSpacing:o.css("border-spacing"))||2,o.b=f(p?e.border||e.currentStyle.borderLeftWidth:o.css("border-left-width"))||1,s[a]=o,v(o))},w=function(t){var e=t.attr(n),t=s[e];t&&t.is("table")&&(t.removeClass(l+" "+c).gc.remove(),delete s[e])},v=function(i){var r=i.find(">thead>tr:first>th,>thead>tr:first>td");r.length||(r=i.find(">tbody>tr:first>th,>tr:first>th,>tbody>tr:first>td, >tr:first>td")),r=r.filter(":visible"),i.cg=i.find("col"),i.ln=r.length,i.p&&e&&e[i.id]&&m(i,r),r.each(function(e){var r=t(this),o=-1!=i.dc.indexOf(e),s=t(i.gc.append('
')[0].lastChild);s.append(o?"":i.opt.gripInnerHtml).append('
'),e==i.ln-1&&(s.addClass("JCLRLastGrip"),i.f&&s.html("")),s.bind("touchstart mousedown",J),o?s.addClass("JCLRdisabledGrip"):s.removeClass("JCLRdisabledGrip").bind("touchstart mousedown",J),s.t=i,s.i=e,s.c=r,r.w=r.width(),i.g.push(s),i.c.push(r),r.width(r.w).removeAttr("width"),s.data(l,{i:e,t:i.attr(n),last:e==i.ln-1})}),i.cg.removeAttr("width"),i.find("td, th").not(r).not("table th, table td").each(function(){t(this).removeAttr("width")}),i.f||i.removeAttr("width").addClass(c),C(i)},m=function(t,i){var r,o,s=0,d=0,n=[];if(i){if(t.cg.removeAttr("width"),t.opt.flush)return void(e[t.id]="");for(r=e[t.id].split(";"),o=r[t.ln+1],!t.f&&o&&(t.width(o*=1),t.opt.overflow&&(t.css("min-width",o+a),t.w=o));d*{cursor:"+n.opt.dragCursor+"!important}"),a.addClass(n.opt.draggingClass),o=a,n.c[d.i].l)for(var f,h=0;h { + ddf.isDebug = true; +}); \ No newline at end of file diff --git a/build/js/index.js b/build/js/index.js index e13e271..c0643a7 100644 --- a/build/js/index.js +++ b/build/js/index.js @@ -3243,3884 +3243,102 @@ module.exports={ ] } },{}],18:[function(require,module,exports){ -$(() => { - require("./map.js"); - require("./characterData.js"); - require("./mapMask.js"); - require("./memo.js"); - require("./magicRange.js"); -}); +$(()=>{require("./map.js"),require("./characterData.js"),require("./mapMask.js"),require("./memo.js"),require("./magicRange.js")}); + },{"./characterData.js":19,"./magicRange.js":20,"./map.js":21,"./mapMask.js":22,"./memo.js":23}],19:[function(require,module,exports){ -$.contextMenu({ - zIndex: 150, - selector: '#mapSurface .characterFrame', - items: { - edit: {name: "キャラクターの変更", - callback: function(itemKey, opt, rootMenu, originalEvent) { - ddf.cmd.addCharacter_show(opt.$trigger.attr("id"), true); - }, - }, - delete: {name: "キャラクターの削除", - callback: function(itemKey, opt, rootMenu, originalEvent) { - ddf.removeCharacter(opt.$trigger.attr("id"), true); - character = ddf.characters[opt.$trigger.attr("id")]; - if(character){ - ddf.safeDragDestoroy(); - character.obj && character.obj.remove(); - character.row && character.row.remove(); - delete ddf.characters[opt.$trigger.attr("id")]; - if(ddf.roomState.ini_characters[opt.$trigger.attr("id")]){ - delete ddf.roomState.ini_characters[opt.$trigger.attr("id")]; - } - $(".draggableObj").draggable(ddf.dragOption); - } - }, - }, - copy: {name: "キャラクターの複製", - callback: function(itemKey, opt, rootMenu, originalEvent) { - character = ddf.characters[opt.$trigger.attr("id")]; - basename = character.data.name.replace(/_\d+$/, ""); - index = 0; - reg = new RegExp(basename+"_(\\d+)"); - for(item in ddf.characters){ - if(v = reg.exec(ddf.characters[item].data.name)){ - index = Math.max(index, parseInt(v[1])) - } - } - data = $.extend(true, {}, character.data); - data.name = basename + "_" + (index + 1); - data.dogTag = index + 1; - data.imgId = 0; - ddf.addCharacter(data).then((r) => { - }); - }, - }, - url: {name: "データ参照先URLを開く", - visible: function(key, opt){ - return opt.$trigger && ddf.characters[opt.$trigger.attr("id")] && ddf.characters[opt.$trigger.attr("id")].data.url != ""; - }, - callback: function(itemKey, opt, rootMenu, originalEvent) { - character = ddf.characters[opt.$trigger.attr("id")]; - window.open(character.data.url); - }, - }, - } -}); +$.contextMenu({zIndex:150,selector:"#mapSurface .characterFrame",items:{edit:{name:"キャラクターの変更",callback:function(a,r,e,t){ddf.cmd.addCharacter_show(r.$trigger.attr("id"),!0)}},delete:{name:"キャラクターの削除",callback:function(a,r,e,t){ddf.removeCharacter(r.$trigger.attr("id"),!0),character=ddf.characters[r.$trigger.attr("id")],character&&(ddf.safeDragDestoroy(),character.obj&&character.obj.remove(),character.row&&character.row.remove(),delete ddf.characters[r.$trigger.attr("id")],ddf.roomState.ini_characters[r.$trigger.attr("id")]&&delete ddf.roomState.ini_characters[r.$trigger.attr("id")],$(".draggableObj").draggable(ddf.dragOption))}},copy:{name:"キャラクターの複製",callback:function(a,r,e,t){character=ddf.characters[r.$trigger.attr("id")],basename=character.data.name.replace(/_\d+$/,""),index=0,reg=new RegExp(basename+"_(\\d+)");for(item in ddf.characters)(v=reg.exec(ddf.characters[item].data.name))&&(index=Math.max(index,parseInt(v[1])));data=$.extend(!0,{},character.data),data.name=basename+"_"+(index+1),data.dogTag=index+1,data.imgId=0,ddf.addCharacter(data).then(a=>{})}},url:{name:"データ参照先URLを開く",visible:function(a,r){return r.$trigger&&ddf.characters[r.$trigger.attr("id")]&&""!=ddf.characters[r.$trigger.attr("id")].data.url},callback:function(a,r,e,t){character=ddf.characters[r.$trigger.attr("id")],window.open(character.data.url)}}}}); + },{}],20:[function(require,module,exports){ -$.contextMenu({ - zIndex: 150, - selector: '.magicRangeFrame', - items: { - edit: {name: "魔法範囲の変更", - callback: function(itemKey, opt, rootMenu, originalEvent) { - character = ddf.characters[opt.$trigger.attr("id")]; - switch(character.data.type){ - case "LogHorizonRange": - ddf.cmd.magicRangeLH_show(opt.$trigger.attr("id")); - break; - case "magicRangeMarkerDD4th": - ddf.cmd.magicRangeDD4th_show(opt.$trigger.attr("id")); - break; - } - }, - }, - delete: {name: "魔法範囲の削除", - callback: function(itemKey, opt, rootMenu, originalEvent) { - ddf.removeCharacter(opt.$trigger.attr("id"), true); - character = ddf.characters[opt.$trigger.attr("id")]; - if(character){ - ddf.safeDragDestoroy(); - character.obj && character.obj.remove(); - delete ddf.characters[opt.$trigger.attr("id")]; - if(ddf.roomState.ini_characters[opt.$trigger.attr("id")]){ - delete ddf.roomState.ini_characters[opt.$trigger.attr("id")]; - } - $(".draggableObj").draggable(ddf.dragOption); - } - }, - } - } -}); +$.contextMenu({zIndex:150,selector:".magicRangeFrame",items:{edit:{name:"魔法範囲の変更",callback:function(a,r,e,t){switch(character=ddf.characters[r.$trigger.attr("id")],character.data.type){case"LogHorizonRange":ddf.cmd.magicRangeLH_show(r.$trigger.attr("id"));break;case"magicRangeMarkerDD4th":ddf.cmd.magicRangeDD4th_show(r.$trigger.attr("id"))}}},delete:{name:"魔法範囲の削除",callback:function(a,r,e,t){ddf.removeCharacter(r.$trigger.attr("id"),!0),character=ddf.characters[r.$trigger.attr("id")],character&&(ddf.safeDragDestoroy(),character.obj&&character.obj.remove(),delete ddf.characters[r.$trigger.attr("id")],ddf.roomState.ini_characters[r.$trigger.attr("id")]&&delete ddf.roomState.ini_characters[r.$trigger.attr("id")],$(".draggableObj").draggable(ddf.dragOption))}}}}); },{}],21:[function(require,module,exports){ -$.contextMenu({ - zIndex: 150, - selector: '#mapSurface', - items: { - addCharacter: {name: "キャラクター追加", - callback: function(itemKey, opt, rootMenu, originalEvent) { - ddf.cmd.addCharacter_show("0"); - }, - }, - addMagicRangeDD3: {name: "魔法範囲追加(DD3版)", - disabled: true, - callback: function(itemKey, opt, rootMenu, originalEvent) { - }, - }, - addMagicRangeDD4: {name: "魔法範囲追加(DD4版)", - callback: function(itemKey, opt, rootMenu, originalEvent) { - ddf.cmd.magicRangeDD4th_show("0"); - }, - }, - addMagicRangeLH: {name: "ログホライズン用範囲", - callback: function(itemKey, opt, rootMenu, originalEvent) { - ddf.cmd.magicRangeLH_show("0"); - }, - }, - addMagicTimer: {name: "魔法タイマー追加", - disabled: true, - callback: function(itemKey, opt, rootMenu, originalEvent) { - }, - }, - addMapMask: {name: "マップマスク追加", - callback: function(itemKey, opt, rootMenu, originalEvent) { - ddf.mapMask_show(""); - }, - }, - addMapMarker: {name: "マップマーカー追加", - disabled: true, - callback: function(itemKey, opt, rootMenu, originalEvent) { - }, - }, - sep1: "---------", - addDiceSymbol: {name: "ダイスシンボル追加", - disabled: true, - callback: function(itemKey, opt, rootMenu, originalEvent) { - }, - }, - sep2: "---------", - addCardHolder: {name: "手札置き場の作成", - disabled: true, - callback: function(itemKey, opt, rootMenu, originalEvent) { - }, - }, - addMessageCard: {name: "メッセージカードの追加", - disabled: true, - callback: function(itemKey, opt, rootMenu, originalEvent) { - }, - }, - sep3: "---------", - resetWindow: {name: "ウィンドウ配置初期化", - disabled: true, - callback: function(itemKey, opt, rootMenu, originalEvent) { - }, - } - } -}); +$.contextMenu({zIndex:150,selector:"#mapSurface",items:{addCharacter:{name:"キャラクター追加",callback:function(a,d,c,e){ddf.cmd.addCharacter_show("0")}},addMagicRangeDD3:{name:"魔法範囲追加(DD3版)",disabled:!0,callback:function(a,d,c,e){}},addMagicRangeDD4:{name:"魔法範囲追加(DD4版)",callback:function(a,d,c,e){ddf.cmd.magicRangeDD4th_show("0")}},addMagicRangeLH:{name:"ログホライズン用範囲",callback:function(a,d,c,e){ddf.cmd.magicRangeLH_show("0")}},addMagicTimer:{name:"魔法タイマー追加",disabled:!0,callback:function(a,d,c,e){}},addMapMask:{name:"マップマスク追加",callback:function(a,d,c,e){ddf.mapMask_show("")}},addMapMarker:{name:"マップマーカー追加",disabled:!0,callback:function(a,d,c,e){}},sep1:"---------",addDiceSymbol:{name:"ダイスシンボル追加",disabled:!0,callback:function(a,d,c,e){}},sep2:"---------",addCardHolder:{name:"手札置き場の作成",disabled:!0,callback:function(a,d,c,e){}},addMessageCard:{name:"メッセージカードの追加",disabled:!0,callback:function(a,d,c,e){}},sep3:"---------",resetWindow:{name:"ウィンドウ配置初期化",disabled:!0,callback:function(a,d,c,e){}}}}); + },{}],22:[function(require,module,exports){ -$.contextMenu({ - zIndex: 150, - selector: '.mapMaskFrame.draggableObj', - items: { - edit: {name: "マップマスクの変更", - callback: function(itemKey, opt, rootMenu, originalEvent) { - ddf.mapMask_show(opt.$trigger.attr("id")); - }, - }, - fix: {name: "マップマスクの固定", - callback: function(itemKey, opt, rootMenu, originalEvent) { - ddf.safeDragDestoroy(); - character = ddf.characters[opt.$trigger.attr("id")]; - character.data.draggable = false; - ddf.changeCharacter(character.data); - character.obj.removeClass("draggableObj"); - $(".draggableObj").draggable(ddf.dragOption); - }, - }, - delete: {name: "マップマスクの削除", - callback: function(itemKey, opt, rootMenu, originalEvent) { - ddf.removeCharacter(opt.$trigger.attr("id"), true); - character = ddf.characters[opt.$trigger.attr("id")]; - if(character){ - ddf.safeDragDestoroy(); - character.obj && character.obj.remove(); - delete ddf.characters[opt.$trigger.attr("id")]; - $(".draggableObj").draggable(ddf.dragOption); - } - }, - } - } -}); - -$.contextMenu({ - selector: '.mapMaskFrame:not(.draggableObj)', - items: { - delete: {name: "マップマスクの削除", - callback: function(itemKey, opt, rootMenu, originalEvent) { - ddf.removeCharacter(opt.$trigger.attr("id"), true); - character = ddf.characters[opt.$trigger.attr("id")]; - if(character){ - ddf.safeDragDestoroy(); - character.obj && character.obj.remove(); - delete ddf.characters[opt.$trigger.attr("id")]; - $(".draggableObj").draggable(ddf.dragOption); - } - } - } - } -}); +$.contextMenu({zIndex:150,selector:".mapMaskFrame.draggableObj",items:{edit:{name:"マップマスクの変更",callback:function(a,r,e,t){ddf.mapMask_show(r.$trigger.attr("id"))}},fix:{name:"マップマスクの固定",callback:function(a,r,e,t){ddf.safeDragDestoroy(),character=ddf.characters[r.$trigger.attr("id")],character.data.draggable=!1,ddf.changeCharacter(character.data),character.obj.removeClass("draggableObj"),$(".draggableObj").draggable(ddf.dragOption)}},delete:{name:"マップマスクの削除",callback:function(a,r,e,t){ddf.removeCharacter(r.$trigger.attr("id"),!0),character=ddf.characters[r.$trigger.attr("id")],character&&(ddf.safeDragDestoroy(),character.obj&&character.obj.remove(),delete ddf.characters[r.$trigger.attr("id")],$(".draggableObj").draggable(ddf.dragOption))}}}}),$.contextMenu({selector:".mapMaskFrame:not(.draggableObj)",items:{delete:{name:"マップマスクの削除",callback:function(a,r,e,t){ddf.removeCharacter(r.$trigger.attr("id"),!0),character=ddf.characters[r.$trigger.attr("id")],character&&(ddf.safeDragDestoroy(),character.obj&&character.obj.remove(),delete ddf.characters[r.$trigger.attr("id")],$(".draggableObj").draggable(ddf.dragOption))}}}}); + },{}],23:[function(require,module,exports){ -$.contextMenu({ - zIndex: 150, - selector: '#list_memo > div', - items: { - edit: {name: "共有メモの変更", - callback: function(itemKey, opt, rootMenu, originalEvent) { - ddf.cmd.openMemo(opt.$trigger.attr("id")); - }, - }, - delete: {name: "共有メモの削除", - callback: function(itemKey, opt, rootMenu, originalEvent) { - ddf.removeCharacter(opt.$trigger.attr("id"), true); - character = ddf.characters[opt.$trigger.attr("id")]; - if(character){ - ddf.safeDragDestoroy(); - character.obj && character.obj.remove(); - delete ddf.characters[opt.$trigger.attr("id")]; - $(".draggableObj").draggable(ddf.dragOption); - } - }, - } - } -}); +$.contextMenu({zIndex:150,selector:"#list_memo > div",items:{edit:{name:"共有メモの変更",callback:function(e,r,a,t){ddf.cmd.openMemo(r.$trigger.attr("id"))}},delete:{name:"共有メモの削除",callback:function(e,r,a,t){ddf.removeCharacter(r.$trigger.attr("id"),!0),character=ddf.characters[r.$trigger.attr("id")],character&&(ddf.safeDragDestoroy(),character.obj&&character.obj.remove(),delete ddf.characters[r.$trigger.attr("id")],$(".draggableObj").draggable(ddf.dragOption))}}}}); },{}],24:[function(require,module,exports){ -ddf.cmd = {}; -chatlog = []; - -var version = require('../../package.json').version; - -var store = require('store'); -var screenshot = require('./screenshot.js').generate; -var lang = "Japanese"; - -require("./contextMenu/.loading.js"); -require("./window/.loading.js"); -require("./room_menu.js"); - -window_focus = true; -running = false; -window.onblur = function() { window_focus = false; } -window.onfocus = function() { window_focus = true; } - -frame = 0; -function titleAnimation(){ - list = "─/|\"; - if(window_focus){ - document.title = "どどんとふ"; - running = false; - }else{ - frame = (frame + 1) % 4; - document.title = list[frame] + " どどんとふ"; - setTimeout(titleAnimation, 300); - } -} - -window.addEventListener('popstate', (e) => { - //console.log(e); -}); -var click = {x:0,y:0}; - -ddf.roomInfos = []; -var pageBuffer, diceRollBuffer, context; - -function playSound(buffer) { - if(ddf.roomState.playSound){ - var source = context.createBufferSource(); - source.buffer = buffer; - source.connect(context.destination); - source.start(0); - } -} - -$(() => { - ddf.base_url = config.base_url; - - window.AudioContext = window.AudioContext||window.webkitAudioContext; - context = new AudioContext(); - var request = new XMLHttpRequest(); - request.open('GET', "sound/page.mp3", true); - request.responseType = 'arraybuffer'; - request.onload = function() { - context.decodeAudioData(request.response, function(buffer) { - pageBuffer = buffer; - }); - } - request.send(); - var request2 = new XMLHttpRequest(); - request2.open('GET', "sound/diceRoll.mp3", true); - request2.responseType = 'arraybuffer'; - request2.onload = function() { - context.decodeAudioData(request2.response, function(buffer) { - diceRollBuffer = buffer; - }); - } - request2.send(); - - ddf.dragOption = { - start: (event) => { - click.x = event.clientX - parseInt($(event.target).css("marginLeft")) / 2; - click.y = event.clientY - parseInt($(event.target).css("marginTop")) / 2; - }, - drag: (event, ui) => { - var zoom = ddf.roomState.zoom; - - var original = ui.originalPosition; - - ui.position = { - left: (event.clientX - click.x + original.left) / zoom, - top: (event.clientY - click.y + original.top ) / zoom - }; - if(ddf.roomState.viewStateInfo.isSnapMovablePiece){ - if(ddf.roomState.mapData.isAlternately && ddf.roomState.mapData.gridInterval % 2 == 1){ - if((Math.floor(ui.position.top / 50 / ddf.roomState.mapData.gridInterval) & 1)){ - ui.position = { - left: ((Math.floor(ui.position.left / 25) | 1) ^ 1) * 25, - top: Math.floor(ui.position.top / 50) * 50 - }; - }else{ - ui.position = { - left: (Math.floor(ui.position.left / 25) | 1) * 25, - top: Math.floor(ui.position.top / 50) * 50 - }; - } - }else{ - ui.position = { - left: Math.floor(ui.position.left / 50) * 50, - top: Math.floor(ui.position.top / 50) * 50 - }; - } - } - }, - stop: (event, ui) => { - character = ddf.characters[ui.helper.attr("id")]; - if(character){ - data = character.data; - data.x = ui.position.left / 50; - data.y = ui.position.top / 50; - ddf.moveCharacter(data.imgId, data.x, data.y); - } - console.log(ui); - } - }; - - - /*共通コンポーネント向け*/ - $(".draggable").draggable({ - cancel: ".dragprev, .draggableObj", - stack: ".draggable" - }); - $(".draggabletail").draggable({ - cancel: ".dragprev, .draggableObj" - }); - - $(document).on('mouseover', ".mapMaskFrame.draggableObj", (e) => { - $(".mapMaskFrame.draggableObj").css('zIndex', 35); - $(e.currentTarget).css('zIndex', 36); - }); - $(document).on('mouseover', ".magicRangeFrame", (e) => { - $(".magicRangeFrame").css('zIndex', 40); - $(e.currentTarget).css('zIndex', 41); - }); - $(document).on('mouseover', ".mapMarkerFrame", (e) => { - $(".mapMarkerFrame").css('zIndex', 45); - $(e.currentTarget).css('zIndex', 46); - }); - $(document).on('mouseover', ".cardFrame", (e) => { - $(".cardFrame").css('zIndex', 50); - $(e.currentTarget).css('zIndex', 51); - }); - $(document).on('mouseover', ".characterFrame:not(.isHide)", (e) => { - $(".characterFrame:not(.isHide)").css('zIndex', 55); - $(e.currentTarget).css('zIndex', 56); - }); - $(document).on('mouseover', ".chitFrame", (e) => { - $(".chitFrame").css('zIndex', 60); - $(e.currentTarget).css('zIndex', 61); - }); - - $(".resizable").resizable({ - ghost: true, - handles: 'n, e, s, w, ne, se, sw, nw' - }); - $('.loader-inner').loaders(); - - $(document).on('click', "#diceResult *", (e) => { - $("#diceResult").empty(); - }); - $(document).on('click', "#characterCutIn img", (e) => { - $("#characterCutIn").empty(); - }); - - /*ページ移動の停止処理*/ - window.onbeforeunload = (e) => { - e.returnValue = '他のページに移動しようとしています。\n移動しますか?'; - }; - - getLoginInfo(); - - /*待合室コマンド*/ - - $("#btn_loginNumber").on('click', (e) => { - $("#window_loginNumber").show().css("zIndex", 151); - $(".draggable:not(#window_loginNumber)").css("zIndex", 150); - }); - $("#window_loginNumber .btn").on('click', (e) => { - $("#window_loginNumber").hide(); - }); - - /*$("#btn_version").on("click", (e) => { - });*/ - $("#btn_manual, #btn_manual2").on('click', (e) => { - window.open(ddf.base_url + "README.html"); - }); - /*$("#btn_tutorial").on("click", (e) => { - });*/ - $("#btn_site, #btn_site2").on('click', () => { - window.open("http://www.dodontof.com/"); - }); - - $("#btn_removePlayRoom").on('click', (e) => { - removePlayRoom(parseInt($("#playRoomNo").val().trim())); - }); - - - $("#btn_createPlayRoom").on('click', (e) => { - ddf.userState.room = -1; - $("#window_createPlayRoom").show().css("zIndex", 151); - $(".draggable:not(#window_createPlayRoom)").css("zIndex", 150); - }); - $("#createPlayRoom_create").on('click', (e) => { - createPlayRoom(); - }); - $("#createPlayRoom_close").on('click', (e) => { - $("#window_createPlayRoom").hide(); - }); - - $("#btn_login").on('click', (e) => { - checkRoomStatus(parseInt($("#playRoomNo").val())); - }); - - $("#playddf.roomInfos table").tablesorter(); - - var mousewheelevent = 'onwheel' in document ? 'wheel' : 'onmousewheel' in document ? 'mousewheel' : 'DOMMouseScroll'; - $("#mapSurface").on(mousewheelevent,(e) => { - e.preventDefault(); - var delta = e.originalEvent.deltaY ? -(e.originalEvent.deltaY) : e.originalEvent.wheelDelta ? e.originalEvent.wheelDelta : -(e.originalEvent.detail); - if (delta < 0){ - ddf.cmd.setZoom(-0.1); - } else { - ddf.cmd.setZoom(0.1); - } - }); - -}); - -ddf.safeDragDestoroy = () => { - try{ - $(".draggableObj").draggable("destroy"); - }catch(e){} -} - -ddf.cmd.setZoom = setZoom; -function setZoom(amount, relative = true){ - if(relative){ - ddf.roomState.zoom += amount; - }else{ - ddf.roomState.zoom = amount; - } - ddf.roomState.zoom < 0.1 && (ddf.roomState.zoom = 0.1); - ddf.roomState.zoom > 3.0 && (ddf.roomState.zoom = 3.0); - $("#map").css("transform", "scale("+ddf.roomState.zoom+")"); -} - -function getDiceBotInfos(){ - return ddf.getDiceBotInfos().then((r)=>{ - ddf.patterns = {}; - ddf.info.diceBotInfos = r; - }); -} - -function getLoginInfo(){ - return ddf.getLoginInfo().then((r) => { - ddf.info = r; - $("#loginMessage").html(ddf.info.loginMessage); - total = 0; - str = ""; - for(item of ddf.info.loginUserCountList){ - total += item[1]; - str += "No."+item[0]+":"+item[1]+"人
"; - } - $("#window_loginNumber .body").html(str); - $("#btn_loginNumber").text("現状:"+ddf.info.loginUserCountList.length+"/上限:"+ddf.info.limitLoginCount+"人"); - for(item of ddf.info.diceBotInfos){ - $("#playRoomGameType").append($('')); - } - - if(store.get('userState')){ - ddf.userState = store.get('userState'); - ddf.userState.room = -1; - ddf.userState.backgroundColor = "FFFFFF"; - }else{ - ddf.userState = { - room: -1, - own: "\t"+ddf.util.getUniqueId(), - name: ddf.info.defaultUserNames.length==0?"ななしさん":ddf.info.defaultUserNames[Math.random()*ddf.info.defaultUserNames.length|0], - fontSize: 10, - chatColor: "000000", - backgroundColor: "FFFFFF", - showTime: false, - chatPalette: [] - }; - saveUserState(); - } - $("#login_name").val(ddf.userState.name); - - ddf.cmd.getPlayRoomInfo(); - return r; - }); -} - -ddf.cmd.getPlayRoomInfo = getPlayRoomInfo; -function getPlayRoomInfo(){ - promises = []; - for(i = 0;i * ddf.info.playRoomGetRangeMax < ddf.info.playRoomMaxNumber;i++){ - promises.push( - ddf.getPlayRoomInfo(i * ddf.info.playRoomGetRangeMax, ddf.info.playRoomGetRangeMax * (i+1) - 1 > ddf.info.playRoomMaxNumber ? ddf.info.playRoomMaxNumber : ddf.info.playRoomGetRangeMax * (i+1) - 1) - ); - } - callback = (r) => { - roominfo = r; - for(key in roominfo.playRoomStates){ - room = roominfo.playRoomStates[key]; - ddf.roomInfos[parseInt(room.index.trim())] = room; - - var row = "
"; - row += `` - row += `` - row += `` - row += `` - row += ``; - row += ``; - row += ``; - row += ""; - tr = $(row); - button = $(""); - if(room.lastUpdateTime){ - button.on('click', ((roomNumber) => { - return (e) => { - e.stopPropagation && e.stopPropagation(); - removePlayRoom(roomNumber) - }; - })(parseInt(room.index.trim()) )); - }else{ - button.prop("disabled", true); - } - tr.children("td:last").append(button); - $("#playddf.roomInfos tbody").append(tr); - tr.on('dblclick', ((roomNumber) => {return (e) => { - checkRoomStatus(roomNumber); - }})(parseInt(room.index))); - tr.on('click', ((roomNumber) => {return (e) => { - $("#playRoomNo").val(roomNumber); - }})(parseInt(room.index))); - $("#playRoomInfos table tbody").append(tr); - } - $("#playddf.roomInfos table").trigger( 'update'); - return r; - }; - - promises.reduce((current, next) => { - var p = current.then((v) => { - return next; - }); - p.then(callback); - return p; - }, Promise.resolve()); - - $("#loading").hide(); -} - -function createPlayRoom(){ - ddf.createPlayRoom( - ddf.userState.room, - $("#playRoomName").val(), - $("#playRoomPassword").val(), - $("#playRoomGameType").val(), - true, - false, - ["雑談"], - { - isCardPickUpVisible:false, - isChatPaletteVisible:false, - isSnapMovablePiece:true, - isCardHandleLogVisible:true, - isCounterRemoconVisible:false, - isStandingGraphicVisible:true, - isRotateMarkerVisible:true, - isDiceVisible:true, - isAdjustImageSize:true, - isChatVisible:true, - isGridVisible:true, - isInitiativeListVisible:true, - isPositionVisible:true, - isCutInVisible:true, - isResourceWindowVisible:false - }, - "" - ).then((r) => { - if(r.resultText == "OK"){ - ddf.getPlayRoomInfo(r.playRoomIndex, r.playRoomIndex).then( - ((roomNumber) => { - return (r) => { - ddf.roomInfos[roomNumber] = r.playRoomStates[0]; - checkRoomStatus(roomNumber); - }; - })(r.playRoomIndex) - ); - - }else{ - } - }); -} - -ddf.cmd.checkRoomStatus = checkRoomStatus; -function checkRoomStatus(roomNumber, isVisit = null, password = null){ - room = ddf.roomInfos[roomNumber]; - if(room){ - if(room.lastUpdateTime==""){ - /*ルーム未作成*/ - ddf.userState.room = roomNumber; - $("#window_createPlayRoom").show().css("zIndex", 151); - $(".draggable:not(#window_createPlayRoom)").css("zIndex", 150); - }else if((room.passwordLockState && password == null) || (room.canVisit && isVisit == null)){ - /*見学可・パスワード付きルーム1回目*/ - ddf.cmd.loginCheck_show(roomNumber); - }else{ - /*ログイン*/ - return ddf.checkRoomStatus(roomNumber, password).then((r) => { - roominfo=r; - if(roominfo.isRoomExist){ - ddf.userState.room = roominfo.roomNumber; - ddf.userState.name = $("#login_name").val(); - saveUserState(); - ddf.sendChatMessage(0, "どどんとふ\t", "「"+ddf.userState.name+"」がログインしました。(htmlddf "+version+")", "00aa00", true); - $("#main").hide(); - //history.pushState({roomNumber: roomNumber}, "room="+roomNumber, "index.html?room="+roomNumber); - $("#main2").show(); - $("#chatname").val(ddf.userState.name); - ddf.userState.room = roominfo.roomNumber; - ddf.userState.lastUpdateTimes = { - effects: 0, - time: 0, - map: 0, - chatMessageDataLog: 0, - recordIndex: 0, - characters: 0, - playRoomInfo: 0, - record: 0 - }; - if(ddf.userState.chatPalette[ddf.base_url+roominfo.roomNumber]){ - for(item in ddf.userState.chatPalette[ddf.base_url+roominfo.roomNumber]){ - palette = ddf.userState.chatPalette[ddf.base_url+roominfo.roomNumber][item]; - palette && $("#chatPalette_tabs").append($(`

${/^id/.test(palette.tabName)?$("#chatPalette_tabs p").length+1:palette.tabName}

`)) - } - }else{ - item = { - tabName: "id"+ddf.util.getUniqueId(), - text: "", - name: "", - color: 0xFFFFFF - }; - ddf.userState.chatPalette[ddf.base_url+roominfo.roomNumber] = []; - ddf.userState.chatPalette[ddf.base_url+roominfo.roomNumber][item.tabName] = item; - $("#chatPalette_tabs").append($(`

1

`)) - - ddf.cmd.saveUserState(); - } - $("#chatPalette_tabs > p:eq(0)").click(); - getDiceBotInfos(); - ddf.characters = []; - ddf.roomState = {}; - ddf.roomState.roomNumber = roomNumber; - ddf.roomState.zoom = 1; - ddf.roomState.roundTimeData = {}; - ddf.roomState.ini_characters = []; - ddf.roomState.roundTimeData.counterNames = []; - ddf.userState.rIndex = 0; - var count = 0; - ddf.roomState.unread = []; - ddf.roomState.effects = []; - ddf.roomState.playSound = true; - ddf.roomState.chatChannelNames = roominfo.chatChannelNames; - ddf.roomState.viewStateInfo = { - isCardPickUpVisible:false, - isChatPaletteVisible:false, - isSnapMovablePiece:true, - isCardHandleLogVisible:true, - isCounterRemoconVisible:false, - isStandingGraphicVisible:true, - isRotateMarkerVisible:true, - isDiceVisible:true, - isAdjustImageSize:true, - isChatVisible:true, - isGridVisible:true, - isInitiativeListVisible:true, - isPositionVisible:true, - isCutInVisible:true, - isResourceWindowVisible:false - }; - for(tab of roominfo.chatChannelNames){ - ddf.roomState.unread.push(0); - var obj = $(`

${encode(tab)}/0

`); - obj.on("click", ((index) => { - return (e) => { - if(!$(e.currentTarget).hasClass("active")){ - setChatTab(index) - } - } - })(count++)); - $("#tab").append(obj); - $("#log").append($("

")); - } - for(item of ddf.info.diceBotInfos){ - if(/^[^:]*$/.test(item.gameType) && item.gameType != "BaseDiceBot"){ - $("#dicebot").append($(``)); - } - } - $("#log > div, #chattext").css({ - backgroundColor: "#"+ddf.userState.backgroundColor, - fontSize: ddf.userState.fontSize+"pt" - }); - setChatTab("0"); - refresh(); - } - }); - } - } -}; - -ddf.cmd.removePlayRoom = removePlayRoom; -function removePlayRoom(roomNumber){ - room = ddf.roomInfos[roomNumber]; - if(room && room.lastUpdateTime){ - if(room.passwordLockState){ - ddf.cmd.roomDelete_show(roomNumber); - }else{ - body = `No.${room.index}:${room.playRoomName}\nを削除しますか?`; - if(password != null || confirm(body)){ - ddf.removePlayRoom(roomNumber, false, password).then((r) => { - $("#playRoomInfos tbody").empty(); - ddf.cmd.getPlayRoomInfo(); - }); - } - } - } -} - -function setChatTab(index){ - ddf.userState.channel = index; - $("#tab p.active, #log div.active").removeClass('active'); - $(`#tab p:eq(${index}), #log div:eq(${index})`).addClass('active'); - ddf.roomState.unread[index] = 0; - $(`#tab p:eq(${index}) span`).text(0); -} - -function refresh(){ - ddf.refresh().then((r) => { - try{ - refreshData = r; - //console.log(refreshData); - refreshData.lastUpdateTimes && (ddf.userState.lastUpdateTimes = refreshData.lastUpdateTimes); - if(refreshData.viewStateInfo){ - ddf.roomState.viewStateInfo = refreshData.viewStateInfo; - } - if(refreshData.gameType){ - if($("#dicebot").children(`[value=${refreshData.gameType}]`).length==1){ - $("#dicebot").val($(refreshData.gameType)); - }else{ - $("#dicebot").append($(``)); - $("#dicebot").val(refreshData.gameType); - } - } - if(refreshData.mapData) { - ddf.cmd.refresh_parseMapData(refreshData); - } - if(refreshData.characters){ - refresh_parseCharacters(refreshData); - } - if(refreshData.roundTimeData){ - refresh_parseRoundTimeData(refreshData); - } - if(refreshData.gameType){ - ddf.roomState.gameType = refreshData.gameType; - } - if(refreshData.viewStateInfo){ - refresh_parseViewStateInfo(refreshData); - } - if(refreshData.effects){ - refresh_parseEffects(refreshData); - } - if(refreshData.chatChannelNames && !refreshData.isFirstChatRefresh){ - $(`#tab > p:gt(${refreshData.chatChannelNames.length - 1}),#log > div:gt(${refreshData.chatChannelNames.length - 1})`).remove(); - ddf.roomState.unread.splice(refreshData.chatChannelNames.length); - for(i = 0;i < refreshData.chatChannelNames.length;i++){ - if(ddf.roomState.chatChannelNames.length <= i){ - ddf.roomState.unread.push(0); - var obj = $(`

${encode(tab)}/0

`); - obj.on("click", ((index) => { - return (e) => { - if(!$(e.currentTarget).hasClass("active")){ - setChatTab(index) - } - } - })(i)); - $("#tab").append(obj); - $("#log").append($("

")); - }else{ - $(`#tab:eq(${refreshData.chatChannelNames - 1})`).html(`${encode(refreshData.chatChannelNames[i])}/${ddf.roomState.unread[i]}`); - } - } - if($("#tab .active").length == 0){ - setChatTab(0); - } - ddf.roomState.chatChannelNames = refreshData.chatChannelNames; - } - if(refreshData.chatMessageDataLog){ - refresh_parseChatMessageDataLog(refreshData); - } - if(refreshData.record) { - ddf.cmd.refresh_parseRecordData(refreshData); - } - if(refreshData.gameType){ - $("#dicebot").val(refreshData.gameType); - } - if(refreshData.playRoomName){ - ddf.roomState.playRoomName = refreshData.playRoomName; - } - if(refreshData.loginUserInfo){ - ddf.roomState.loginUserInfo = refreshData.loginUserInfo; - $("#btn_member").text(`ルームNo.${ddf.roomState.roomNumber}:${refreshData.loginUserInfo.length}名`); - } - r = refreshData = null; - }catch(e){ - console.log(e); - }finally{ - if(ddf.userState.room != -1){ - setTimeout(refresh, ddf.info.refreshInterval * 1000); - } - } - }); -} - -function refresh_parseEffects(refreshData){ - ddf.roomState.effects = refreshData.effects; - ddf.cmd.effectList_create(); -} - -function refresh_parseChatMessageDataLog(refreshData){ - let prevheight = $("#log .active")[0].scrollHeight - $("#log .active").height(); - lastRandResult = false; - lastCutIn = false; - sound = false; - for(item of refreshData.chatMessageDataLog){ - if(item[0] <= ddf.roomState.lastMessageTime){continue;} - sound = true; - if(!window_focus && !running){ - titleAnimation(); - } - ddf.roomState.lastMessageTime = item[0]; - if(matches = /^(.*)@([^@]+)@([^@]+)$/.exec(item[1].message)){ - item[1].message = matches[1]; - item[1].senderName = matches[2]; - item[1].state = matches[3]; - }else if(matches = /^(.*)@([^@]+)$/.exec(item[1].message)){ - item[1].message = matches[1]; - item[1].senderName = matches[2]; - }else if(matches = /^(.*)\t(.*)$/.exec(item[1].senderName)){ - item[1].senderName = matches[1]; - item[1].state = matches[2]; - } - item[1].uniqueId != 'dummy' && (lastCutIn = [item[1].senderName, item[1].state]); - if(matches = /^###CutInCommand:([a-zA-Z]+)###(.+)$/.exec(item[1].message)){ - switch(matches[1]){ - case "getDiceBotInfos": - if(!refreshData.isFirstChatRefresh){ - getDiceBotInfos(); - } - continue; - break; - case "rollVisualDice": - param = JSON.parse(matches[2]); - $(`#log div:eq(${item[1].channel})`).append($(`

${ddf.userState.showTime?''+dateFormat(new Date(item[0]*1000), "HH:MM")+":":""}${encode(item[1].senderName)}:${encode(param.chatMessage).replace(/\n/, "
")}

`)); - chatlog.push([item[1].channel, ddf.roomState.chatChannelNames[item[1].channel], item[0],"#"+item[1].color,item[1].senderName, param.chatMessage]); - $(`#log div:eq(${item[1].channel})`).hasClass("active") || ddf.roomState.unread[item[1].channel]++; - lastRandResult = [param.chatMessage, param.randResults]; - continue; - break; - } - }else if(matches = /^###CutInMovie###(.+)$/.exec(item[1].message)){ - param = JSON.parse(matches[1]); - $(`#log div:eq(${item[1].channel})`).append($(`

${ddf.userState.showTime?''+dateFormat(new Date(item[0]*1000), "HH:MM")+":":""}${encode(item[1].senderName)}:【${encode(param.message)}】

`)); - chatlog.push([item[1].channel, ddf.roomState.chatChannelNames[item[1].channel], item[0],"#"+item[1].color,item[1].senderName, param.chatMessage]); - $(`#log div:eq(${item[1].channel})`).hasClass("active") || ddf.roomState.unread[item[1].channel]++; - }else{ - $(`#log div:eq(${item[1].channel})`).append($(`

${ddf.userState.showTime?''+dateFormat(new Date(item[0]*1000), "HH:MM")+":":""}${encode(item[1].senderName)}:${encode(item[1].message).replace(/\n/, "
")}

`)); - chatlog.push([item[1].channel, ddf.roomState.chatChannelNames[item[1].channel], item[0],"#"+item[1].color,item[1].senderName, item[1].message]); - $(`#log div:eq(${item[1].channel})`).hasClass("active") || ddf.roomState.unread[item[1].channel]++; - } - } - if(refreshData.isFirstChatRefresh){ - for(div of $("#log").children("div")){ - div.scrollTop = $(div).children(":last").offset().top; - } - ddf.roomState.unread = ddf.roomState.unread.map(()=>{return 0;}); - }else{ - if(prevheight < $("#log .active").scrollTop()){ - $("#log .active").scrollTop($("#log .active")[0].scrollHeight); - } - for(index in $("#tab").children("p")){ - $("#tab").children("p").eq(index).children("span").text(ddf.roomState.unread[index]); - } - } - if(lastCutIn){ - let found = false; - if(!found){ - for(item of ddf.roomState.effects){ - if(item.type = "standingGraphicInfos"){ - if(lastCutIn[0] == item.name && lastCutIn[1] == item.state){ - $("#characterCutIn").empty(); - $("#characterCutIn").append($(``)); - } - } - } - } - if(!found){ - for(id in ddf.characters){ - character = ddf.characters[id].data; - if(character.name == lastCutIn[0]){ - $("#characterCutIn").empty(); - $("#characterCutIn").append($(``)); - found = true; - break; - } - } - } - } - if(lastRandResult){ - playSound(diceRollBuffer); - $("#diceResult").empty(); - for(item of lastRandResult[1]){ - if([4,6,8,10,12,20].includes(item[1])){ - $("#diceResult").append($(`${item[0]}`)); - }else{ - $("#diceResult").append($(`${item[0]}`)); - } - } - total = /\s([^\s]+)$/.exec(lastRandResult[0])[1]; - $("#diceResult").append($(`
${encode(total)}
`)); - }else if(sound){ - playSound(pageBuffer); - } -} - -function refresh_parseViewStateInfo(refreshData){ - for(key in refreshData.viewStateInfo){ - switch(key){ - case "isSnapMovablePiece": - if(refreshData.viewStateInfo[key]){ - $("#btn_gridguide").addClass("checked"); - } - break; - case "isAdjustImageSize": - if(refreshData.viewStateInfo[key]){ - $("#btn_adjustcharacter").addClass("checked"); - $("#characterCutIn").addClass("adjust"); - } - break; - case "isCardHandleLogVisible": - if(refreshData.viewStateInfo[key]){ - $("#btn_cardlog").addClass("checked"); - } - break; - case "isCardPickUpVisible": - if(refreshData.viewStateInfo[key]){ - $("#btn_cardpickup").addClass("checked"); - } - break; - case "isCutInVisible": - if(refreshData.viewStateInfo[key]){ - $("#btn_displaycutin").addClass("checked"); - } - break; - case "isGridVisible": - if(refreshData.viewStateInfo[key]){ - $("#btn_displaygridline").addClass("checked"); - } - break; - case "isPositionVisible": - if(refreshData.viewStateInfo[key]){ - $("#btn_displaygridnum").addClass("checked"); - } - break; - case "isStandingGraphicVisible": - if(refreshData.viewStateInfo[key]){ - $("#btn_displaycharacter").addClass("checked"); - - $("#characterCutIn").show(); - }else{ - $("#characterCutIn").hide(); - } - break; - case "isRotateMarkerVisible": - if(refreshData.viewStateInfo[key]){ - $("#btn_rotate").addClass("checked"); - } - break; - case "isChatVisible": - if(refreshData.viewStateInfo[key]){ - $("#btn_displaychat").addClass("checked"); - - $("#window_chat .inner").show(); - }else{ - $("#window_chat .inner").hide(); - } - break; - case "isDiceVisible": - if(refreshData.viewStateInfo[key]){ - $("#btn_displaydice").addClass("checked"); - - $("#diceResult").show(); - }else{ - $("#diceResult").hide(); - } - break; - case "isInitiativeListVisible": - if(refreshData.viewStateInfo[key]){ - $("#btn_displayinitiative").addClass("checked"); - - $("#initiative").show(); - } - break; - case "isResourceWindowVisible": - if(refreshData.viewStateInfo[key]){ - $("#btn_displayresource").addClass("checked"); - - //$("#resource").show(); - /*TODO*/ - } - break; - case "isChatPaletteVisible": - if(refreshData.viewStateInfo[key]){ - $("#btn_displaychatpalette").addClass("checked"); - - $("#window_chatPalette").show(); - } - break; - case "isCounterRemoconVisible": - if(refreshData.viewStateInfo[key]){ - $("#btn_displaycounter").addClass("checked"); - - //$("#remocon").show(); - /*TODO*/ - } - break; - } - } -} - -ddf.cmd.refresh_parseRecordData = refresh_parseRecordData; -function refresh_parseRecordData(refreshData){ - ddf.safeDragDestoroy(); - iniChanged = false; - force = false; - for(record of refreshData.record){ - switch(record[1]){ - case "addCharacter": - force = true; - case "changeCharacter": - data = record[2][0]; - character = ddf.characters[data.imgId]; - if(!character){ - refresh_parseCharacters({characters: [data]}); - iniChanged = true; - continue; - } - obj = character.obj; - switch(data.type){ - case "LogHorizonRange": - obj.css({ - clipPath: `polygon(0 ${data.range*50+50}px, 0 ${data.range*50}px,${data.range*50}px 0,${data.range*50+50}px 0,${data.range*100+50}px ${data.range*50}px, ${data.range*100+50}px ${data.range*50+50}px, ${data.range*50+50}px ${data.range*100+50}px, ${data.range*50}px ${data.range*100+50}px)`, - left: data.x * 50, - top: data.y * 50, - marginLeft: (data.range * -50) * ddf.roomState.mapData.gridInterval, - marginTop: (data.range * -50) * ddf.roomState.mapData.gridInterval, - width: (data.range * 100 + 50) * ddf.roomState.mapData.gridInterval, - height: (data.range * 100 + 50) * ddf.roomState.mapData.gridInterval, - }); - obj.children("object").attr("data", `img/rangeLH.svg?size=${data.range}&color=${data.color}`); - obj.children("object").css({ - width: (data.range * 100 + 50) * ddf.roomState.mapData.gridInterval, - height: (data.range * 100 + 50) * ddf.roomState.mapData.gridInterval - }); - break; - case "magicRangeMarkerDD4th": - iniChanged = true; - obj.animate({ - left: data.x * 50, - top: data.y * 50 - }, 300); - if(!data.isHide){ - ddf.roomState.ini_characters[character.data.imgId] = ddf.characters[character.data.imgId]; - }else{ - character.row && character.row.remove(); - delete ddf.roomState.ini_characters[character.data.imgId]; - } - obj.css({ - backgroundColor: "rgb("+[data.color / 65536 & 0xFF, data.color / 256 & 0xFF, data.color & 0xFF].join()+")" - }); - switch(data.rangeType){ - case "closeBurstDD4th": - obj.addClass("rangeCenterMarker"); - obj.css({ - marginLeft: (data.feets * -10) * ddf.roomState.mapData.gridInterval, - marginTop: (data.feets * -10) * ddf.roomState.mapData.gridInterval, - width: (data.feets * 20 + 50) * ddf.roomState.mapData.gridInterval, - height: (data.feets * 20 + 50) * ddf.roomState.mapData.gridInterval, - }); - break; - case "blastDD4th": - obj.removeClass("rangeCenterMarker"); - obj.css({ - marginLeft: 0, - marginTop: 0, - width: (data.feets * 10) * ddf.roomState.mapData.gridInterval, - height: (data.feets * 10) * ddf.roomState.mapData.gridInterval, - }); - } - break; - case "mapMask": - obj.children(".name").text(data.name); - obj.animate({ - left: data.x * 50, - top: data.y * 50 - }, 300); - colors = [data.color / 65536 & 0xFF, data.color / 256 & 0xFF, data.color & 0xFF]; - sum = 255; - refColor = [sum - colors[0], sum - colors[1], sum - colors[2]]; - obj.css({ - left: data.x * 50, - top: data.y * 50, - width: data.width * 50, - height: data.height * 50, - opacity: data.alpha, - backgroundColor: "rgb("+colors+")" - }); - obj.children(".name").css({ - color: "rgb("+refColor+")" - }); - if(data.draggable){ - obj.addClass("draggableObj"); - }else{ - obj.removeClass("draggableObj"); - } - break; - case "characterData": - iniChanged = true; - obj.animate({ - left: data.x * 50, - top: data.y * 50 - }, 300); - obj.css({ - width: data.size * 50, - height: data.size * 50 - }); - if(!data.isHide){ - ddf.roomState.ini_characters[character.data.imgId] = ddf.characters[character.data.imgId]; - obj.removeClass("isHide"); - }else{ - character.row && character.row.remove(); - delete ddf.roomState.ini_characters[character.data.imgId]; - obj.addClass("isHide"); - } - obj.children(".inner").css({ - transform: "rotateZ("+data.rotation+"deg) "+(data.mirrored?" rotateY(180deg)":""), - backgroundImage: "url("+ddf.base_url+data.imageName+")" - }); - obj.children(".name").text(data.name); - obj.children(".dogtag").text(data.dogTag); - break; - case "Memo": - title = data.message.split("\r")[0]; - ar = data.message.split(/\t\|\t/); - if(ar.length > 1){ - body = ar.map((v)=>{return `[${v.split("\r")[0]}]`}).join("
") - }else{ - body = data.message.replace("\r", "
"); - } - obj.html(`${encode(title)}
${encode(body)}
`); - } - character.data = data; - break; - case "removeCharacter": - iniChanged = true; - data = record[2][0]; - character = ddf.characters[data]; - if(character){ - character.obj && character.obj.remove(); - character.row && character.row.remove(); - delete ddf.characters[data[0]]; - if(ddf.roomState.ini_characters[data[0]]){ - delete ddf.roomState.ini_characters[data[0]]; - } - } - } - } - iniChanged && ddf.cmd.initiative_sort(force); - $(".draggableObj").draggable(ddf.dragOption); -} - -function refresh_parseCharacters(refreshData){ - for(character of refreshData.characters){ - switch(character.type){ - case "Card": - case "CardTrushMount": - case "CardMount": - break; - case "LogHorizonRange": - obj = $(`
`); - $("#mapSurface").append(obj); - ddf.characters[character.imgId] = { - obj: obj, - data: character - }; - obj.css({ - clipPath: `polygon(0 ${character.range*50+50}px, 0 ${character.range*50}px,${character.range*50}px 0,${character.range*50+50}px 0,${character.range*100+50}px ${character.range*50}px, ${character.range*100+50}px ${character.range*50+50}px, ${character.range*50+50}px ${character.range*100+50}px, ${character.range*50}px ${character.range*100+50}px)`, - left: character.x * 50, - top: character.y * 50, - marginLeft: (character.range * -50) * ddf.roomState.mapData.gridInterval, - marginTop: (character.range * -50) * ddf.roomState.mapData.gridInterval, - opacity: 0.5 - }); - obj.children("object").css({ - width: (character.range * 100 + 50) * ddf.roomState.mapData.gridInterval, - height: (character.range * 100 + 50) * ddf.roomState.mapData.gridInterval - }); - break; - case "magicRangeMarkerDD4th": - obj = $(`
`); - $("#mapSurface").append(obj); - ddf.characters[character.imgId] = { - obj: obj, - data: character - }; - if(!character.isHide){ - ddf.roomState.ini_characters[character.imgId] = ddf.characters[character.imgId]; - } - obj.css({ - left: character.x * 50, - top: character.y * 50, - opacity: 0.5, - backgroundColor: "rgb("+[character.color / 65536 & 0xFF, character.color / 256 & 0xFF, character.color & 0xFF].join()+")" - }); - switch(character.rangeType){ - case "closeBurstDD4th": - obj.addClass("rangeCenterMarker"); - obj.css({ - marginLeft: (character.feets * -10) * ddf.roomState.mapData.gridInterval, - marginTop: (character.feets * -10) * ddf.roomState.mapData.gridInterval, - width: (character.feets * 20 + 50) * ddf.roomState.mapData.gridInterval, - height: (character.feets * 20 + 50) * ddf.roomState.mapData.gridInterval, - }); - break; - case "blastDD4th": - obj.removeClass("rangeCenterMarker"); - obj.css({ - marginLeft: 0, - marginTop: 0, - width: (character.feets * 10) * ddf.roomState.mapData.gridInterval, - height: (character.feets * 10) * ddf.roomState.mapData.gridInterval, - }); - } - break; - case "mapMask": - obj = $(`
`); - if(character.draggable){obj.addClass("draggableObj");} - obj.append($(`
${encode(character.name)}
`)); - ddf.characters[character.imgId] = { - obj: obj, - data: character - }; - colors = [character.color / 65536 & 0xFF, character.color / 256 & 0xFF, character.color & 0xFF]; - sum = 255; - refColor = [sum - colors[0], sum - colors[1], sum - colors[2]]; - obj.css({ - left: character.x * 50, - top: character.y * 50, - width: character.width * 50, - height: character.height * 50, - opacity: character.alpha, - backgroundColor: "rgb("+colors+")" - }); - obj.children(".name").css({ - color: "rgb("+refColor+")" - }); - $("#mapSurface").append(obj); - break; - case "characterData": - obj = $(`
`); - obj.append($(`
${encode(character.dogTag)}
${encode(character.name)}
`)); - ddf.characters[character.imgId] = { - obj: obj, - data: character - }; - if(!character.isHide){ - ddf.roomState.ini_characters[character.imgId] = ddf.characters[character.imgId]; - }else{ - obj.addClass("isHide"); - } - obj.css({ - left: character.x * 50, - top: character.y * 50, - width: character.size * 50, - height: character.size * 50 - }); - obj.children(".inner").css({ - transform: "rotateZ("+character.rotation+"deg) "+(character.mirrored?" rotateY(180deg)":""), - backgroundImage: "url("+ddf.base_url+character.imageName+")" - }); - - $("#mapSurface").append(obj); - break; - case "Memo": - title = character.message.split("\r")[0]; - ar = character.message.split(/\t\|\t/); - if(ar.length > 1){ - body = ar.map((v)=>{return `[${v.split("\r")[0]}]`}).join("
") - }else{ - body = character.message.replace("\r", "
"); - } - obj = $(`
${encode(title)}
${encode(body)}
`); - $("#list_memo").append(obj); - ddf.characters[character.imgId] = { - obj: obj, - data: character - }; - break; - } - } - $(".draggableObj").draggable(ddf.dragOption); -} - -ddf.cmd.refresh_parseMapData = refresh_parseMapData; -function refresh_parseMapData(refreshData){ - ddf.roomState.mapData = refreshData.mapData; - switch(refreshData.mapData.mapType){ - case "imageGraphic": - $("#mapimg").attr("src", ddf.base_url + refreshData.mapData.imageSource) - .css({ - width: refreshData.mapData.xMax * 50, - height: refreshData.mapData.yMax * 50, - }); - if(refreshData.mapData.mirrored){ - $("#mapimg").addClass("mirrored"); - }else{ - $("#mapimg").removeClass("mirrored"); - } - $("#map") - .css({ - width: refreshData.mapData.xMax * 50, - height: refreshData.mapData.yMax * 50, - }); - param = { - x: refreshData.mapData.xMax, - y: refreshData.mapData.yMax, - border: ddf.roomState.viewStateInfo.isGridVisible, - alt: refreshData.mapData.isAlternately, - num: ddf.roomState.viewStateInfo.isPositionVisible, - size: refreshData.mapData.gridInterval, - color: "rgb("+[refreshData.mapData.gridColor / 65536 & 0xFF,refreshData.mapData.gridColor / 256 & 0xFF,refreshData.mapData.gridColor & 0xFF].join()+")", - mapMarks: refreshData.mapData.mapMarks?refreshData.mapData.mapMarks.join("/"):"", - mapMarksAlpha: refreshData.mapData.mapMarksAlpha!=null?refreshData.mapData.mapMarksAlpha:1 - }; - $("#mapGrid").attr("data", "img/grid.svg?"+$.map(param, (v,k) => {return k+"="+v;}).join("&")); - } - if(refreshData.mapData.drawsImage && refreshData.mapData.drawsImage != ""){ - $("#mapDraw").show(); - $("#mapDraw").attr("src", ddf.base_url + refreshData.mapData.drawsImage); - }else{ - $("#mapDraw").hide(); - } - if(refreshData.mapData.draws){ - $("#drawsPanel").attr("data", "img/draw.svg?width="+refreshData.mapData.xMax * 50+"&height=" + refreshData.mapData.yMax * 50 + "&list="+JSON.stringify(refreshData.mapData.draws)); - }else{ - $("#drawsPanel param").val("[]"); - } - redraw = []; - for(item in ddf.characters){ - if(ddf.characters[item].data.type == "magicRangeMarkerDD4th"){ - redraw.push([0, "changeCharacter", [ddf.characters[item].data], "dummy\t"]); - } - } - ddf.cmd.refresh_parseRecordData({record: redraw}); -} - -ddf.cmd.refresh_parseRoundTimeData = refresh_parseRoundTimeData; -function refresh_parseRoundTimeData(refreshData, force = false){ - if(force || JSON.stringify(refreshData.roundTimeData.counterNames) != JSON.stringify(ddf.roomState.roundTimeData.counterNames)){ - $("#initiative table thead tr").empty(); - $("#initiative table thead tr").append($("
")); - $("#initiative table thead tr").append($("")); - $("#initiative table thead tr").append($("")); - $("#initiative table thead tr").append($("")); - for(counter of refreshData.roundTimeData.counterNames){ - $("#initiative table thead tr").append($(``)); - } - $("#initiative table thead tr").append($("")); - - $("#initiative table tbody").empty(); - ddf.roomState.ini_characters = ddf.util.hashSort(ddf.roomState.ini_characters, (obj) => {return obj.data.initiative}); - for(key in ddf.roomState.ini_characters){ - var character = ddf.roomState.ini_characters[key]; - var tmp = ``; - tmp+= ``; - if(character.data.initiative < 0 && Math.round((character.data.initiative % 1)*10) >= -0.1){ - tmp+= ``; - tmp+= ``; - }else if(character.data.initiative < 0){ - tmp+= ``; - tmp+= ``; - }else if(Math.round((character.data.initiative % 1) * 10) >= 9){ - tmp+= ``; - tmp+= ``; - }else{ - tmp+= ``; - tmp+= ``; - } - tmp+= ``; - count = 0; - for(counter of refreshData.roundTimeData.counterNames){ - character.data.counters == null && (character.data.counters = {}); - character.data.statusAlias == null && (character.data.statusAlias = {}); - character.data.counters[counter]==undefined && (character.data.counters[counter] = 0); - if(/^\*/.test(counter)){ - if(character.data.statusAlias && character.data.statusAlias[counter]){ - tmp+= ``; - }else{ - tmp+= ``; - } - }else{ - tmp+= ``; - } - count++; - } - tmp+= ``; - tmp+= ""; - character.row = $(tmp); - if($("#initiative table tbody tr").length > 0){ - $("#initiative table tbody tr:eq(0)").before( - character.row - ); - }else{ - $("#initiative table tbody").append( - character.row - ); - } - } - }else{ - ddf.roomState.ini_characters = ddf.util.hashSort(ddf.roomState.ini_characters, (obj) => {return obj.data.initiative}); - for(key in ddf.roomState.ini_characters){ - var character = ddf.roomState.ini_characters[key]; - if(character != undefined){ - character.row.children("td:eq(0)").text(character.data.initiative==refreshData.roundTimeData.initiative?"●":""); - $("#initiative table tbody tr:eq(0)").before( - character.row - ); - } - } - } - $("#round").text(refreshData.roundTimeData.round); - $("#now_ini").text(refreshData.roundTimeData.initiative); - - ddf.roomState.roundTimeData = refreshData.roundTimeData; -} - -ddf.cmd.sendChatMessage = sendChatMessage; -function sendChatMessage(channel, senderName, state, gameType, message, color, isNeedResult = true){ - ddf.roomState.gameType = gameType; - if(message.trim()==""){return false;} - if(!(pattern = ddf.patterns[ddf.roomState.gameType])){ - dicebot = ddf.info.diceBotInfos.find((r) => {return r.gameType == ddf.roomState.gameType}); - pattern = [].concat( - ddf.info.diceBotInfos.find((r) => {return r.gameType == "BaseDiceBot"}).prefixs, - dicebot?dicebot.prefixs:[], - ).map((r) => {return new RegExp("^((\\d+)\\s+)?(S?"+r+"[^\\s]*)", "i");}); - ddf.patterns[ddf.roomState.gameType] = pattern; - } - var match; - if(!!pattern.find((r) => {return !!(match = r.exec(toHalf(message)));})){ - //DiceBotMessage - ddf.userState.name = senderName; - saveUserState(); - return ddf.sendDiceBotChatMessage(channel, senderName, state, match[2]?match[2]:0, match[3], color, ddf.roomState.gameType, isNeedResult); - }else{ - //ChatMessage - if(/^###CutInCommand:/.test(message)){ - message = "Wrong Message -> " + message; - } - ddf.userState.name = senderName; - saveUserState(); - return ddf.sendChatMessage(channel, senderName + "\t"+ state, message, color); - } -} - -ddf.cmd.saveUserState = saveUserState; -function saveUserState(){ - chatPalette = {}; - for(item in ddf.userState.chatPalette){ - chatPalette[item] = {}; - for(item2 in ddf.userState.chatPalette[item]){ - if(ddf.userState.chatPalette[item][item2]){ - chatPalette[item][item2] = ddf.userState.chatPalette[item][item2]; - } - } - } - store.set('userState', { - name: ddf.userState.name, - own: ddf.userState.own, - chatColor: ddf.userState.chatColor, - showTime: ddf.userState.showTime, - chatPalette: chatPalette, - fontSize: ddf.userState.fontSize, - }); -} - - -ddf.cmd.clearUserState = clearUserState; -function clearUserState(){ - store.clearAll(); - //クリア後はリロードが必要。 -} +function titleAnimation(){list="─/|\",window_focus?(document.title="どどんとふ",running=!1):(frame=(frame+1)%4,document.title=list[frame]+" どどんとふ",setTimeout(titleAnimation,300))}function playSound(e){if(ddf.roomState.playSound){var a=context.createBufferSource();a.buffer=e,a.connect(context.destination),a.start(0)}}function setZoom(e,a=!0){a?ddf.roomState.zoom+=e:ddf.roomState.zoom=e,ddf.roomState.zoom<.1&&(ddf.roomState.zoom=.1),ddf.roomState.zoom>3&&(ddf.roomState.zoom=3),$("#map").css("transform","scale("+ddf.roomState.zoom+")")}function getDiceBotInfos(){return ddf.getDiceBotInfos().then(e=>{ddf.patterns={},ddf.info.diceBotInfos=e})}function getLoginInfo(){return ddf.getLoginInfo().then(e=>{ddf.info=e,$("#loginMessage").html(ddf.info.loginMessage),total=0,str="";for(item of ddf.info.loginUserCountList)total+=item[1],str+="No."+item[0]+":"+item[1]+"人
";$("#window_loginNumber .body").html(str),$("#btn_loginNumber").text("現状:"+ddf.info.loginUserCountList.length+"/上限:"+ddf.info.limitLoginCount+"人");for(item of ddf.info.diceBotInfos)$("#playRoomGameType").append($('"));return store.get("userState")?(ddf.userState=store.get("userState"),ddf.userState.room=-1,ddf.userState.backgroundColor="FFFFFF"):(ddf.userState={room:-1,own:"\t"+ddf.util.getUniqueId(),name:0==ddf.info.defaultUserNames.length?"ななしさん":ddf.info.defaultUserNames[Math.random()*ddf.info.defaultUserNames.length|0],fontSize:10,chatColor:"000000",backgroundColor:"FFFFFF",showTime:!1,chatPalette:[]},saveUserState()),$("#login_name").val(ddf.userState.name),ddf.cmd.getPlayRoomInfo(),e})}function getPlayRoomInfo(){for(promises=[],i=0;i*ddf.info.playRoomGetRangeMaxddf.info.playRoomMaxNumber?ddf.info.playRoomMaxNumber:ddf.info.playRoomGetRangeMax*(i+1)-1));callback=(e=>{roominfo=e;for(key in roominfo.playRoomStates){room=roominfo.playRoomStates[key],ddf.roomInfos[parseInt(room.index.trim())]=room;var a="";a+=``,a+=``,a+=``,a+=``,a+=``,a+=``,a+=``,a+="",tr=$(a),button=$(""),room.lastUpdateTime?button.on("click",(e=>a=>{a.stopPropagation&&a.stopPropagation(),removePlayRoom(e)})(parseInt(room.index.trim()))):button.prop("disabled",!0),tr.children("td:last").append(button),$("#playddf.roomInfos tbody").append(tr),tr.on("dblclick",(e=>a=>{checkRoomStatus(e)})(parseInt(room.index))),tr.on("click",(e=>a=>{$("#playRoomNo").val(e)})(parseInt(room.index))),$("#playRoomInfos table tbody").append(tr)}return $("#playddf.roomInfos table").trigger("update"),e}),promises.reduce((e,a)=>{var t=e.then(e=>a);return t.then(callback),t},Promise.resolve()),$("#loading").hide()}function createPlayRoom(){ddf.createPlayRoom(ddf.userState.room,$("#playRoomName").val(),$("#playRoomPassword").val(),$("#playRoomGameType").val(),!0,!1,["雑談"],{isCardPickUpVisible:!1,isChatPaletteVisible:!1,isSnapMovablePiece:!0,isCardHandleLogVisible:!0,isCounterRemoconVisible:!1,isStandingGraphicVisible:!0,isRotateMarkerVisible:!0,isDiceVisible:!0,isAdjustImageSize:!0,isChatVisible:!0,isGridVisible:!0,isInitiativeListVisible:!0,isPositionVisible:!0,isCutInVisible:!0,isResourceWindowVisible:!1},"").then(e=>{"OK"==e.resultText&&ddf.getPlayRoomInfo(e.playRoomIndex,e.playRoomIndex).then((e=>a=>{ddf.roomInfos[e]=a.playRoomStates[0],checkRoomStatus(e)})(e.playRoomIndex))})}function checkRoomStatus(e,a=null,t=null){if(room=ddf.roomInfos[e],room)if(""==room.lastUpdateTime)ddf.userState.room=e,$("#window_createPlayRoom").show().css("zIndex",151),$(".draggable:not(#window_createPlayRoom)").css("zIndex",150);else{if(!(room.passwordLockState&&null==t||room.canVisit&&null==a))return ddf.checkRoomStatus(e,t).then(a=>{if(roominfo=a,roominfo.isRoomExist){if(ddf.userState.room=roominfo.roomNumber,ddf.userState.name=$("#login_name").val(),saveUserState(),ddf.sendChatMessage(0,"どどんとふ\t","「"+ddf.userState.name+"」がログインしました。(htmlddf "+version+")","00aa00",!0),$("#main").hide(),$("#main2").show(),$("#chatname").val(ddf.userState.name),ddf.userState.room=roominfo.roomNumber,ddf.userState.lastUpdateTimes={effects:0,time:0,map:0,chatMessageDataLog:0,recordIndex:0,characters:0,playRoomInfo:0,record:0},ddf.userState.chatPalette[ddf.base_url+roominfo.roomNumber])for(item in ddf.userState.chatPalette[ddf.base_url+roominfo.roomNumber])palette=ddf.userState.chatPalette[ddf.base_url+roominfo.roomNumber][item],palette&&$("#chatPalette_tabs").append($(`

${/^id/.test(palette.tabName)?$("#chatPalette_tabs p").length+1:palette.tabName}

`));else item={tabName:"id"+ddf.util.getUniqueId(),text:"",name:"",color:16777215},ddf.userState.chatPalette[ddf.base_url+roominfo.roomNumber]=[],ddf.userState.chatPalette[ddf.base_url+roominfo.roomNumber][item.tabName]=item,$("#chatPalette_tabs").append($(`

1

`)),ddf.cmd.saveUserState();$("#chatPalette_tabs > p:eq(0)").click(),getDiceBotInfos(),ddf.characters=[],ddf.roomState={},ddf.roomState.roomNumber=e,ddf.roomState.zoom=1,ddf.roomState.roundTimeData={},ddf.roomState.ini_characters=[],ddf.roomState.roundTimeData.counterNames=[],ddf.userState.rIndex=0;var t=0;ddf.roomState.unread=[],ddf.roomState.effects=[],ddf.roomState.playSound=!0,ddf.roomState.chatChannelNames=roominfo.chatChannelNames,ddf.roomState.viewStateInfo={isCardPickUpVisible:!1,isChatPaletteVisible:!1,isSnapMovablePiece:!0,isCardHandleLogVisible:!0,isCounterRemoconVisible:!1,isStandingGraphicVisible:!0,isRotateMarkerVisible:!0,isDiceVisible:!0,isAdjustImageSize:!0,isChatVisible:!0,isGridVisible:!0,isInitiativeListVisible:!0,isPositionVisible:!0,isCutInVisible:!0,isResourceWindowVisible:!1};for(tab of roominfo.chatChannelNames){ddf.roomState.unread.push(0);var r=$(`

${encode(tab)}/0

`);r.on("click",(e=>a=>{$(a.currentTarget).hasClass("active")||setChatTab(e)})(t++)),$("#tab").append(r),$("#log").append($("

"))}for(item of ddf.info.diceBotInfos)/^[^:]*$/.test(item.gameType)&&"BaseDiceBot"!=item.gameType&&$("#dicebot").append($(``));$("#log > div, #chattext").css({backgroundColor:"#"+ddf.userState.backgroundColor,fontSize:ddf.userState.fontSize+"pt"}),setChatTab("0"),refresh()}});ddf.cmd.loginCheck_show(e)}}function removePlayRoom(e){room=ddf.roomInfos[e],room&&room.lastUpdateTime&&(room.passwordLockState?ddf.cmd.roomDelete_show(e):(body=`No.${room.index}:${room.playRoomName}\nを削除しますか?`,(null!=password||confirm(body))&&ddf.removePlayRoom(e,!1,password).then(e=>{$("#playRoomInfos tbody").empty(),ddf.cmd.getPlayRoomInfo()})))}function setChatTab(e){ddf.userState.channel=e,$("#tab p.active, #log div.active").removeClass("active"),$(`#tab p:eq(${e}), #log div:eq(${e})`).addClass("active"),ddf.roomState.unread[e]=0,$(`#tab p:eq(${e}) span`).text(0)}function refresh(){ddf.refresh().then(e=>{try{if(refreshData=e,refreshData.lastUpdateTimes&&(ddf.userState.lastUpdateTimes=refreshData.lastUpdateTimes),refreshData.viewStateInfo&&(ddf.roomState.viewStateInfo=refreshData.viewStateInfo),refreshData.gameType&&(1==$("#dicebot").children(`[value=${refreshData.gameType}]`).length?$("#dicebot").val($(refreshData.gameType)):($("#dicebot").append($(``)),$("#dicebot").val(refreshData.gameType))),refreshData.mapData&&ddf.cmd.refresh_parseMapData(refreshData),refreshData.characters&&refresh_parseCharacters(refreshData),refreshData.roundTimeData&&refresh_parseRoundTimeData(refreshData),refreshData.gameType&&(ddf.roomState.gameType=refreshData.gameType),refreshData.viewStateInfo&&refresh_parseViewStateInfo(refreshData),refreshData.effects&&refresh_parseEffects(refreshData),refreshData.chatChannelNames&&!refreshData.isFirstChatRefresh){for($(`#tab > p:gt(${refreshData.chatChannelNames.length-1}),#log > div:gt(${refreshData.chatChannelNames.length-1})`).remove(),ddf.roomState.unread.splice(refreshData.chatChannelNames.length),i=0;i${encode(tab)}/0

`);a.on("click",(e=>a=>{$(a.currentTarget).hasClass("active")||setChatTab(e)})(i)),$("#tab").append(a),$("#log").append($("

"))}else $(`#tab:eq(${refreshData.chatChannelNames-1})`).html(`${encode(refreshData.chatChannelNames[i])}/${ddf.roomState.unread[i]}`);0==$("#tab .active").length&&setChatTab(0),ddf.roomState.chatChannelNames=refreshData.chatChannelNames}refreshData.chatMessageDataLog&&refresh_parseChatMessageDataLog(refreshData),refreshData.record&&ddf.cmd.refresh_parseRecordData(refreshData),refreshData.gameType&&$("#dicebot").val(refreshData.gameType),refreshData.playRoomName&&(ddf.roomState.playRoomName=refreshData.playRoomName),refreshData.loginUserInfo&&(ddf.roomState.loginUserInfo=refreshData.loginUserInfo,$("#btn_member").text(`ルームNo.${ddf.roomState.roomNumber}:${refreshData.loginUserInfo.length}名`)),e=refreshData=null}catch(e){console.log(e)}finally{-1!=ddf.userState.room&&setTimeout(refresh,1e3*ddf.info.refreshInterval)}})}function refresh_parseEffects(e){ddf.roomState.effects=e.effects,ddf.cmd.effectList_create()}function refresh_parseChatMessageDataLog(e){let a=$("#log .active")[0].scrollHeight-$("#log .active").height();lastRandResult=!1,lastCutIn=!1,sound=!1;for(item of e.chatMessageDataLog)if(!(item[0]<=ddf.roomState.lastMessageTime))if(sound=!0,window_focus||running||titleAnimation(),ddf.roomState.lastMessageTime=item[0],(matches=/^(.*)@([^@]+)@([^@]+)$/.exec(item[1].message))?(item[1].message=matches[1],item[1].senderName=matches[2],item[1].state=matches[3]):(matches=/^(.*)@([^@]+)$/.exec(item[1].message))?(item[1].message=matches[1],item[1].senderName=matches[2]):(matches=/^(.*)\t(.*)$/.exec(item[1].senderName))&&(item[1].senderName=matches[1],item[1].state=matches[2]),"dummy"!=item[1].uniqueId&&(lastCutIn=[item[1].senderName,item[1].state]),matches=/^###CutInCommand:([a-zA-Z]+)###(.+)$/.exec(item[1].message))switch(matches[1]){case"getDiceBotInfos":e.isFirstChatRefresh||getDiceBotInfos();continue;case"rollVisualDice":param=JSON.parse(matches[2]),$(`#log div:eq(${item[1].channel})`).append($(`

${ddf.userState.showTime?''+dateFormat(new Date(1e3*item[0]),"HH:MM")+":":""}${encode(item[1].senderName)}:${encode(param.chatMessage).replace(/\n/,"
")}

`)),chatlog.push([item[1].channel,ddf.roomState.chatChannelNames[item[1].channel],item[0],"#"+item[1].color,item[1].senderName,param.chatMessage]),$(`#log div:eq(${item[1].channel})`).hasClass("active")||ddf.roomState.unread[item[1].channel]++,lastRandResult=[param.chatMessage,param.randResults];continue}else(matches=/^###CutInMovie###(.+)$/.exec(item[1].message))?(param=JSON.parse(matches[1]),$(`#log div:eq(${item[1].channel})`).append($(`

${ddf.userState.showTime?''+dateFormat(new Date(1e3*item[0]),"HH:MM")+":":""}${encode(item[1].senderName)}:【${encode(param.message)}】

`)),chatlog.push([item[1].channel,ddf.roomState.chatChannelNames[item[1].channel],item[0],"#"+item[1].color,item[1].senderName,param.chatMessage]),$(`#log div:eq(${item[1].channel})`).hasClass("active")||ddf.roomState.unread[item[1].channel]++):($(`#log div:eq(${item[1].channel})`).append($(`

${ddf.userState.showTime?''+dateFormat(new Date(1e3*item[0]),"HH:MM")+":":""}${encode(item[1].senderName)}:${encode(item[1].message).replace(/\n/,"
")}

`)),chatlog.push([item[1].channel,ddf.roomState.chatChannelNames[item[1].channel],item[0],"#"+item[1].color,item[1].senderName,item[1].message]),$(`#log div:eq(${item[1].channel})`).hasClass("active")||ddf.roomState.unread[item[1].channel]++);if(e.isFirstChatRefresh){for(div of $("#log").children("div"))div.scrollTop=$(div).children(":last").offset().top;ddf.roomState.unread=ddf.roomState.unread.map(()=>0)}else{a<$("#log .active").scrollTop()&&$("#log .active").scrollTop($("#log .active")[0].scrollHeight);for(index in $("#tab").children("p"))$("#tab").children("p").eq(index).children("span").text(ddf.roomState.unread[index])}if(lastCutIn){let e=!1;if(!e)for(item of ddf.roomState.effects)(item.type="standingGraphicInfos")&&lastCutIn[0]==item.name&&lastCutIn[1]==item.state&&($("#characterCutIn").empty(),$("#characterCutIn").append($(``)));if(!e)for(id in ddf.characters)if(character=ddf.characters[id].data,character.name==lastCutIn[0]){$("#characterCutIn").empty(),$("#characterCutIn").append($(``)),e=!0;break}}if(lastRandResult){playSound(diceRollBuffer),$("#diceResult").empty();for(item of lastRandResult[1])[4,6,8,10,12,20].includes(item[1])?$("#diceResult").append($(`${item[0]}`)):$("#diceResult").append($(`${item[0]}`));total=/\s([^\s]+)$/.exec(lastRandResult[0])[1],$("#diceResult").append($(`
${encode(total)}
`))}else sound&&playSound(pageBuffer)}function refresh_parseViewStateInfo(e){for(key in e.viewStateInfo)switch(key){case"isSnapMovablePiece":e.viewStateInfo[key]&&$("#btn_gridguide").addClass("checked");break;case"isAdjustImageSize":e.viewStateInfo[key]&&($("#btn_adjustcharacter").addClass("checked"),$("#characterCutIn").addClass("adjust"));break;case"isCardHandleLogVisible":e.viewStateInfo[key]&&$("#btn_cardlog").addClass("checked");break;case"isCardPickUpVisible":e.viewStateInfo[key]&&$("#btn_cardpickup").addClass("checked");break;case"isCutInVisible":e.viewStateInfo[key]&&$("#btn_displaycutin").addClass("checked");break;case"isGridVisible":e.viewStateInfo[key]&&$("#btn_displaygridline").addClass("checked");break;case"isPositionVisible":e.viewStateInfo[key]&&$("#btn_displaygridnum").addClass("checked");break;case"isStandingGraphicVisible":e.viewStateInfo[key]?($("#btn_displaycharacter").addClass("checked"),$("#characterCutIn").show()):$("#characterCutIn").hide();break;case"isRotateMarkerVisible":e.viewStateInfo[key]&&$("#btn_rotate").addClass("checked");break;case"isChatVisible":e.viewStateInfo[key]?($("#btn_displaychat").addClass("checked"),$("#window_chat .inner").show()):$("#window_chat .inner").hide();break;case"isDiceVisible":e.viewStateInfo[key]?($("#btn_displaydice").addClass("checked"),$("#diceResult").show()):$("#diceResult").hide();break;case"isInitiativeListVisible":e.viewStateInfo[key]&&($("#btn_displayinitiative").addClass("checked"),$("#initiative").show(),$("#initiative table").colResizable({partialRefresh:!0}));break;case"isResourceWindowVisible":e.viewStateInfo[key]&&$("#btn_displayresource").addClass("checked");break;case"isChatPaletteVisible":e.viewStateInfo[key]&&($("#btn_displaychatpalette").addClass("checked"),$("#window_chatPalette").show());break;case"isCounterRemoconVisible":e.viewStateInfo[key]&&$("#btn_displaycounter").addClass("checked")}}function refresh_parseRecordData(e){ddf.safeDragDestoroy(),iniChanged=!1,force=!1;for(record of e.record)switch(record[1]){case"addCharacter":force=!0;case"changeCharacter":if(data=record[2][0],character=ddf.characters[data.imgId],!character){refresh_parseCharacters({characters:[data]}),iniChanged=!0;continue}switch(obj=character.obj,data.type){case"LogHorizonRange":obj.css({clipPath:`polygon(0 ${50*data.range+50}px, 0 ${50*data.range}px,${50*data.range}px 0,${50*data.range+50}px 0,${100*data.range+50}px ${50*data.range}px, ${100*data.range+50}px ${50*data.range+50}px, ${50*data.range+50}px ${100*data.range+50}px, ${50*data.range}px ${100*data.range+50}px)`,left:50*data.x,top:50*data.y,marginLeft:-50*data.range*ddf.roomState.mapData.gridInterval,marginTop:-50*data.range*ddf.roomState.mapData.gridInterval,width:(100*data.range+50)*ddf.roomState.mapData.gridInterval,height:(100*data.range+50)*ddf.roomState.mapData.gridInterval}),obj.children("object").attr("data",`img/rangeLH.svg?size=${data.range}&color=${data.color}`),obj.children("object").css({width:(100*data.range+50)*ddf.roomState.mapData.gridInterval,height:(100*data.range+50)*ddf.roomState.mapData.gridInterval});break;case"magicRangeMarkerDD4th":switch(iniChanged=!0,obj.animate({left:50*data.x,top:50*data.y},300),data.isHide?(character.row&&character.row.remove(),delete ddf.roomState.ini_characters[character.data.imgId]):ddf.roomState.ini_characters[character.data.imgId]=ddf.characters[character.data.imgId],obj.css({backgroundColor:"rgb("+[data.color/65536&255,data.color/256&255,255&data.color].join()+")"}),data.rangeType){case"closeBurstDD4th":obj.addClass("rangeCenterMarker"),obj.css({marginLeft:-10*data.feets*ddf.roomState.mapData.gridInterval,marginTop:-10*data.feets*ddf.roomState.mapData.gridInterval,width:(20*data.feets+50)*ddf.roomState.mapData.gridInterval,height:(20*data.feets+50)*ddf.roomState.mapData.gridInterval});break;case"blastDD4th":obj.removeClass("rangeCenterMarker"),obj.css({marginLeft:0,marginTop:0,width:10*data.feets*ddf.roomState.mapData.gridInterval,height:10*data.feets*ddf.roomState.mapData.gridInterval})}break;case"mapMask":obj.children(".name").text(data.name),obj.animate({left:50*data.x,top:50*data.y},300),colors=[data.color/65536&255,data.color/256&255,255&data.color],sum=255,refColor=[sum-colors[0],sum-colors[1],sum-colors[2]],obj.css({left:50*data.x,top:50*data.y,width:50*data.width,height:50*data.height,opacity:data.alpha,backgroundColor:"rgb("+colors+")"}),obj.children(".name").css({color:"rgb("+refColor+")"}),data.draggable?obj.addClass("draggableObj"):obj.removeClass("draggableObj");break;case"characterData":iniChanged=!0,obj.animate({left:50*data.x,top:50*data.y},300),obj.css({width:50*data.size,height:50*data.size}),data.isHide?(character.row&&character.row.remove(),delete ddf.roomState.ini_characters[character.data.imgId],obj.addClass("isHide")):(ddf.roomState.ini_characters[character.data.imgId]=ddf.characters[character.data.imgId],obj.removeClass("isHide")),obj.children(".inner").css({transform:"rotateZ("+data.rotation+"deg) "+(data.mirrored?" rotateY(180deg)":""),backgroundImage:"url("+ddf.base_url+data.imageName+")"}),obj.children(".name").text(data.name),obj.children(".dogtag").text(data.dogTag);break;case"Memo":title=data.message.split("\r")[0],ar=data.message.split(/\t\|\t/),ar.length>1?body=ar.map(e=>`[${e.split("\r")[0]}]`).join("
"):body=data.message.replace("\r","
"),obj.html(`${encode(title)}
${encode(body)}
`)}character.data=data;break;case"removeCharacter":iniChanged=!0,data=record[2][0],character=ddf.characters[data],character&&(character.obj&&character.obj.remove(),character.row&&character.row.remove(),delete ddf.characters[data[0]],ddf.roomState.ini_characters[data[0]]&&delete ddf.roomState.ini_characters[data[0]])}iniChanged&&ddf.cmd.initiative_sort(force),$(".draggableObj").draggable(ddf.dragOption)}function refresh_parseCharacters(e){for(character of e.characters)switch(character.type){case"Card":case"CardTrushMount":case"CardMount":break;case"LogHorizonRange":obj=$(`
`),$("#mapSurface").append(obj),ddf.characters[character.imgId]={obj:obj,data:character},obj.css({clipPath:`polygon(0 ${50*character.range+50}px, 0 ${50*character.range}px,${50*character.range}px 0,${50*character.range+50}px 0,${100*character.range+50}px ${50*character.range}px, ${100*character.range+50}px ${50*character.range+50}px, ${50*character.range+50}px ${100*character.range+50}px, ${50*character.range}px ${100*character.range+50}px)`,left:50*character.x,top:50*character.y,marginLeft:-50*character.range*ddf.roomState.mapData.gridInterval,marginTop:-50*character.range*ddf.roomState.mapData.gridInterval,opacity:.5}),obj.children("object").css({width:(100*character.range+50)*ddf.roomState.mapData.gridInterval,height:(100*character.range+50)*ddf.roomState.mapData.gridInterval});break;case"magicRangeMarkerDD4th":switch(obj=$(`
`),$("#mapSurface").append(obj),ddf.characters[character.imgId]={obj:obj,data:character},character.isHide||(ddf.roomState.ini_characters[character.imgId]=ddf.characters[character.imgId]),obj.css({left:50*character.x,top:50*character.y,opacity:.5,backgroundColor:"rgb("+[character.color/65536&255,character.color/256&255,255&character.color].join()+")"}),character.rangeType){case"closeBurstDD4th":obj.addClass("rangeCenterMarker"),obj.css({marginLeft:-10*character.feets*ddf.roomState.mapData.gridInterval,marginTop:-10*character.feets*ddf.roomState.mapData.gridInterval,width:(20*character.feets+50)*ddf.roomState.mapData.gridInterval,height:(20*character.feets+50)*ddf.roomState.mapData.gridInterval});break;case"blastDD4th":obj.removeClass("rangeCenterMarker"),obj.css({marginLeft:0,marginTop:0,width:10*character.feets*ddf.roomState.mapData.gridInterval,height:10*character.feets*ddf.roomState.mapData.gridInterval})}break;case"mapMask":obj=$(`
`),character.draggable&&obj.addClass("draggableObj"),obj.append($(`
${encode(character.name)}
`)),ddf.characters[character.imgId]={obj:obj,data:character},colors=[character.color/65536&255,character.color/256&255,255&character.color],sum=255,refColor=[sum-colors[0],sum-colors[1],sum-colors[2]],obj.css({left:50*character.x,top:50*character.y,width:50*character.width,height:50*character.height,opacity:character.alpha,backgroundColor:"rgb("+colors+")"}),obj.children(".name").css({color:"rgb("+refColor+")"}),$("#mapSurface").append(obj);break;case"characterData":obj=$(`
`),obj.append($(`
${encode(character.dogTag)}
${encode(character.name)}
`)),ddf.characters[character.imgId]={obj:obj,data:character},character.isHide?obj.addClass("isHide"):ddf.roomState.ini_characters[character.imgId]=ddf.characters[character.imgId],obj.css({left:50*character.x,top:50*character.y,width:50*character.size,height:50*character.size}),obj.children(".inner").css({transform:"rotateZ("+character.rotation+"deg) "+(character.mirrored?" rotateY(180deg)":""),backgroundImage:"url("+ddf.base_url+character.imageName+")"}),$("#mapSurface").append(obj);break;case"Memo":title=character.message.split("\r")[0],ar=character.message.split(/\t\|\t/),ar.length>1?body=ar.map(e=>`[${e.split("\r")[0]}]`).join("
"):body=character.message.replace("\r","
"),obj=$(`
${encode(title)}
${encode(body)}
`),$("#list_memo").append(obj),ddf.characters[character.imgId]={obj:obj,data:character}}$(".draggableObj").draggable(ddf.dragOption)}function refresh_parseMapData(e){switch(ddf.roomState.mapData=e.mapData,e.mapData.mapType){case"imageGraphic":$("#mapimg").attr("src",ddf.base_url+e.mapData.imageSource).css({width:50*e.mapData.xMax,height:50*e.mapData.yMax}),e.mapData.mirrored?$("#mapimg").addClass("mirrored"):$("#mapimg").removeClass("mirrored"),$("#map").css({width:50*e.mapData.xMax,height:50*e.mapData.yMax}),param={x:e.mapData.xMax,y:e.mapData.yMax,border:ddf.roomState.viewStateInfo.isGridVisible,alt:e.mapData.isAlternately,num:ddf.roomState.viewStateInfo.isPositionVisible,size:e.mapData.gridInterval,color:"rgb("+[e.mapData.gridColor/65536&255,e.mapData.gridColor/256&255,255&e.mapData.gridColor].join()+")",mapMarks:e.mapData.mapMarks?e.mapData.mapMarks.join("/"):"",mapMarksAlpha:null!=e.mapData.mapMarksAlpha?e.mapData.mapMarksAlpha:1},$("#mapGrid").attr("data","img/grid.svg?"+$.map(param,(e,a)=>a+"="+e).join("&"))}e.mapData.drawsImage&&""!=e.mapData.drawsImage?($("#mapDraw").show(),$("#mapDraw").attr("src",ddf.base_url+e.mapData.drawsImage)):$("#mapDraw").hide(),e.mapData.draws?$("#drawsPanel").attr("data","img/draw.svg?width="+50*e.mapData.xMax+"&height="+50*e.mapData.yMax+"&list="+JSON.stringify(e.mapData.draws)):$("#drawsPanel param").val("[]"),redraw=[];for(item in ddf.characters)"magicRangeMarkerDD4th"==ddf.characters[item].data.type&&redraw.push([0,"changeCharacter",[ddf.characters[item].data],"dummy\t"]);ddf.cmd.refresh_parseRecordData({record:redraw})}function refresh_parseRoundTimeData(e,a=!1){if(a||JSON.stringify(e.roundTimeData.counterNames)!=JSON.stringify(ddf.roomState.roundTimeData.counterNames)){$("#initiative table thead tr").empty(),$("#initiative table thead tr").append($("
")),$("#initiative table thead tr").append($("")),$("#initiative table thead tr").append($("")),$("#initiative table thead tr").append($(""));for(counter of e.roundTimeData.counterNames)$("#initiative table thead tr").append($(``));$("#initiative table thead tr").append($("")),$("#initiative table tbody").empty(),ddf.roomState.ini_characters=ddf.util.hashSort(ddf.roomState.ini_characters,e=>e.data.initiative);for(key in ddf.roomState.ini_characters){var t=``;t+=``,r.data.initiative<0&&Math.round(r.data.initiative%1*10)>=-.1?(t+=``,t+=``):r.data.initiative<0?(t+=``,t+=``):Math.round(r.data.initiative%1*10)>=9?(t+=``,t+=``):(t+=``,t+=``),t+=``,count=0;for(counter of e.roundTimeData.counterNames)null==r.data.counters&&(r.data.counters={}),null==r.data.statusAlias&&(r.data.statusAlias={}),void 0==r.data.counters[counter]&&(r.data.counters[counter]=0),/^\*/.test(counter)?r.data.statusAlias&&r.data.statusAlias[counter]?t+=``:t+=``:t+=``,count++;t+=``,t+="",r.row=$(t),$("#initiative table tbody tr").length>0?$("#initiative table tbody tr:eq(0)").before(r.row):$("#initiative table tbody").append(r.row)}$("#initiative table").colResizable({partialRefresh:!0})}else{ddf.roomState.ini_characters=ddf.util.hashSort(ddf.roomState.ini_characters,e=>e.data.initiative);for(key in ddf.roomState.ini_characters){var r=ddf.roomState.ini_characters[key];void 0!=r&&(r.row.children("td:eq(0)").text(r.data.initiative==e.roundTimeData.initiative?"●":""),$("#initiative table tbody tr:eq(0)").before(r.row))}}$("#round").text(e.roundTimeData.round),$("#now_ini").text(e.roundTimeData.initiative),ddf.roomState.roundTimeData=e.roundTimeData}function sendChatMessage(e,a,t,r,o,d,i=!0){if(ddf.roomState.gameType=r,""==o.trim())return!1;(pattern=ddf.patterns[ddf.roomState.gameType])||(dicebot=ddf.info.diceBotInfos.find(e=>e.gameType==ddf.roomState.gameType),pattern=[].concat(ddf.info.diceBotInfos.find(e=>"BaseDiceBot"==e.gameType).prefixs,dicebot?dicebot.prefixs:[]).map(e=>new RegExp("^((\\d+)\\s+)?(S?"+e+"[^\\s]*)","i")),ddf.patterns[ddf.roomState.gameType]=pattern);var s;return pattern.find(e=>!!(s=e.exec(toHalf(o))))?(ddf.userState.name=a,saveUserState(),ddf.sendDiceBotChatMessage(e,a,t,s[2]?s[2]:0,s[3],d,ddf.roomState.gameType,i)):(/^###CutInCommand:/.test(o)&&(o="Wrong Message -> "+o),ddf.userState.name=a,saveUserState(),ddf.sendChatMessage(e,a+"\t"+t,o,d))}function saveUserState(){chatPalette={};for(item in ddf.userState.chatPalette){chatPalette[item]={};for(item2 in ddf.userState.chatPalette[item])ddf.userState.chatPalette[item][item2]&&(chatPalette[item][item2]=ddf.userState.chatPalette[item][item2])}store.set("userState",{name:ddf.userState.name,own:ddf.userState.own,chatColor:ddf.userState.chatColor,showTime:ddf.userState.showTime,chatPalette:chatPalette,fontSize:ddf.userState.fontSize})}function clearUserState(){store.clearAll()}ddf.cmd={},chatlog=[];var version=require("../../package.json").version,store=require("store"),screenshot=require("./screenshot.js").generate,lang="Japanese";require("./contextMenu/.loading.js"),require("./window/.loading.js"),require("./room_menu.js"),window_focus=!0,running=!1,window.onblur=function(){window_focus=!1},window.onfocus=function(){window_focus=!0},frame=0,window.addEventListener("popstate",e=>{});var click={x:0,y:0};ddf.roomInfos=[];var pageBuffer,diceRollBuffer,context;$(()=>{ddf.base_url=config.base_url,window.AudioContext=window.AudioContext||window.webkitAudioContext,context=new AudioContext;var e=new XMLHttpRequest;e.open("GET","sound/page.mp3",!0),e.responseType="arraybuffer",e.onload=function(){context.decodeAudioData(e.response,function(e){pageBuffer=e})},e.send();var a=new XMLHttpRequest;a.open("GET","sound/diceRoll.mp3",!0),a.responseType="arraybuffer",a.onload=function(){context.decodeAudioData(a.response,function(e){diceRollBuffer=e})},a.send(),ddf.dragOption={start:e=>{click.x=e.clientX-parseInt($(e.target).css("marginLeft"))/2,click.y=e.clientY-parseInt($(e.target).css("marginTop"))/2},drag:(e,a)=>{var t=ddf.roomState.zoom,r=a.originalPosition;a.position={left:(e.clientX-click.x+r.left)/t,top:(e.clientY-click.y+r.top)/t},ddf.roomState.viewStateInfo.isSnapMovablePiece&&(ddf.roomState.mapData.isAlternately&&ddf.roomState.mapData.gridInterval%2==1?1&Math.floor(a.position.top/50/ddf.roomState.mapData.gridInterval)?a.position={left:25*(1^(1|Math.floor(a.position.left/25))),top:50*Math.floor(a.position.top/50)}:a.position={left:25*(1|Math.floor(a.position.left/25)),top:50*Math.floor(a.position.top/50)}:a.position={left:50*Math.floor(a.position.left/50),top:50*Math.floor(a.position.top/50)})},stop:(e,a)=>{character=ddf.characters[a.helper.attr("id")],character&&(data=character.data,data.x=a.position.left/50,data.y=a.position.top/50,ddf.moveCharacter(data.imgId,data.x,data.y)),console.log(a)}},$(".draggable").draggable({cancel:".dragprev, .draggableObj",stack:".draggable"}),$(".draggabletail").draggable({cancel:".dragprev, .draggableObj"}),$(document).on("mouseover",".mapMaskFrame.draggableObj",e=>{$(".mapMaskFrame.draggableObj").css("zIndex",35),$(e.currentTarget).css("zIndex",36)}),$(document).on("mouseover",".magicRangeFrame",e=>{$(".magicRangeFrame").css("zIndex",40),$(e.currentTarget).css("zIndex",41)}),$(document).on("mouseover",".mapMarkerFrame",e=>{$(".mapMarkerFrame").css("zIndex",45),$(e.currentTarget).css("zIndex",46)}),$(document).on("mouseover",".cardFrame",e=>{$(".cardFrame").css("zIndex",50),$(e.currentTarget).css("zIndex",51)}),$(document).on("mouseover",".characterFrame:not(.isHide)",e=>{$(".characterFrame:not(.isHide)").css("zIndex",55),$(e.currentTarget).css("zIndex",56)}),$(document).on("mouseover",".chitFrame",e=>{$(".chitFrame").css("zIndex",60),$(e.currentTarget).css("zIndex",61)}),$(".resizable").resizable({ghost:!0,handles:"n, e, s, w, ne, se, sw, nw"}),$(".loader-inner").loaders(),$(document).on("click","#diceResult *",e=>{$("#diceResult").empty()}),$(document).on("click","#characterCutIn img",e=>{$("#characterCutIn").empty()}),window.onbeforeunload=(e=>{e.returnValue="他のページに移動しようとしています。\n移動しますか?"}),getLoginInfo(),$("#btn_loginNumber").on("click",e=>{$("#window_loginNumber").show().css("zIndex",151),$(".draggable:not(#window_loginNumber)").css("zIndex",150)}),$("#window_loginNumber .btn").on("click",e=>{$("#window_loginNumber").hide()}),$("#btn_manual, #btn_manual2").on("click",e=>{window.open(ddf.base_url+"README.html")}),$("#btn_site, #btn_site2").on("click",()=>{window.open("http://www.dodontof.com/")}),$("#btn_removePlayRoom").on("click",e=>{removePlayRoom(parseInt($("#playRoomNo").val().trim()))}),$("#btn_createPlayRoom").on("click",e=>{ddf.userState.room=-1,$("#window_createPlayRoom").show().css("zIndex",151),$(".draggable:not(#window_createPlayRoom)").css("zIndex",150)}),$("#createPlayRoom_create").on("click",e=>{createPlayRoom()}),$("#createPlayRoom_close").on("click",e=>{$("#window_createPlayRoom").hide()}),$("#btn_login").on("click",e=>{checkRoomStatus(parseInt($("#playRoomNo").val()))}),$("#playddf.roomInfos table").tablesorter();var t="onwheel"in document?"wheel":"onmousewheel"in document?"mousewheel":"DOMMouseScroll";$("#mapSurface").on(t,e=>{e.preventDefault();(e.originalEvent.deltaY?-e.originalEvent.deltaY:e.originalEvent.wheelDelta?e.originalEvent.wheelDelta:-e.originalEvent.detail)<0?ddf.cmd.setZoom(-.1):ddf.cmd.setZoom(.1)}),$("#initiative table").colResizable({partialRefresh:!0})}),ddf.safeDragDestoroy=(()=>{try{$(".draggableObj").draggable("destroy")}catch(e){}}),ddf.cmd.setZoom=setZoom,ddf.cmd.getPlayRoomInfo=getPlayRoomInfo,ddf.cmd.checkRoomStatus=checkRoomStatus,ddf.cmd.removePlayRoom=removePlayRoom,ddf.cmd.refresh_parseRecordData=refresh_parseRecordData,ddf.cmd.refresh_parseMapData=refresh_parseMapData,ddf.cmd.refresh_parseRoundTimeData=refresh_parseRoundTimeData,ddf.cmd.sendChatMessage=sendChatMessage,ddf.cmd.saveUserState=saveUserState,ddf.cmd.clearUserState=clearUserState; },{"../../package.json":16,"./contextMenu/.loading.js":18,"./room_menu.js":25,"./screenshot.js":26,"./window/.loading.js":27,"store":4}],25:[function(require,module,exports){ -$(() => { - /*プレイルームメニュー*/ - $("#btn_save").on("click", (e) => { - }); - $("#btn_load").on("click", (e) => { - }); - $("#btn_saveall").on("click", (e) => { - }); - $("#btn_loadall").on("click", (e) => { - }); - /*$("#btn_savechatlog, #btn_saveChatLog2").on("click", (e) => { - });*/ - $("#btn_startrecord").on("click", (e) => { - }); - $("#btn_endrecord").on("click", (e) => { - }); - $("#btn_cancelrecord").on("click", (e) => { - }); - $("#btn_logout, #btn_logout2").on("click", (e) => { - ddf.logout().then((r) => { - ddf.userState.room = -1; - location.href = "index.html" - }); - }); - - $("#btn_displaychat").on("click", (e) => { - ddf.roomState.viewStateInfo.isChatVisible = !ddf.roomState.viewStateInfo.isChatVisible; - $(e.currentTarget).toggleClass("checked"); - - $("#window_chat .inner").toggle(); - }); - $("#btn_displaydice").on("click", (e) => { - ddf.roomState.viewStateInfo.isDiceVisible = !ddf.roomState.viewStateInfo.isDiceVisible; - $(e.currentTarget).toggleClass("checked"); - - $("#diceResult").toggle(); - }); - $("#btn_displayinitiative").on("click", (e) => { - ddf.roomState.viewStateInfo.isInitiativeListVisible = !ddf.roomState.viewStateInfo.isInitiativeListVisible; - $(e.currentTarget).toggleClass("checked"); - $("#initiative").toggle(); - }); - $("#btn_displayresource").on("click", (e) => { - ddf.roomState.viewStateInfo.isResourceWindowVisible = !ddf.roomState.viewStateInfo.isResourceWindowVisible; - $(e.currentTarget).toggleClass("checked"); - - //$("#resource").toggle(); - /*TODO*/ - }); - $("#btn_displaychatpalette").on("click", (e) => { - ddf.roomState.viewStateInfo.isChatPaletteVisible = !ddf.roomState.viewStateInfo.isChatPaletteVisible; - $(e.currentTarget).toggleClass("checked"); - - $("#window_chatPalette").toggle(); - }); - $("#btn_displaycounter").on("click", (e) => { - ddf.roomState.viewStateInfo.isCounterRemoconVisible = !ddf.roomState.viewStateInfo.isCounterRemoconVisible; - $(e.currentTarget).toggleClass("checked"); - - //$("#remocon").toggle(); - /*TODO*/ - }); - $("#btn_displaycharacter").on("click", (e) => { - ddf.roomState.viewStateInfo.isCutInVisible = !ddf.roomState.viewStateInfo.isCutInVisible; - $(e.currentTarget).toggleClass("checked"); - $("#characterCutIn").toggle(); - }); - $("#btn_displaycutin").on("click", (e) => { - ddf.roomState.viewStateInfo.isStandingGraphicVisible = !ddf.roomState.viewStateInfo.isStandingGraphicVisible; - $(e.currentTarget).toggleClass("checked"); - }); - $("#btn_displaygridnum").on("click", (e) => { - ddf.roomState.viewStateInfo.isPositionVisible = !ddf.roomState.viewStateInfo.isPositionVisible; - $(e.currentTarget).toggleClass("checked"); - ddf.cmd.refresh_parseMapData({mapData: ddf.roomState.mapData}); - }); - $("#btn_displaygridline").on("click", (e) => { - ddf.roomState.viewStateInfo.isGridVisible = !ddf.roomState.viewStateInfo.isGridVisible; - $(e.currentTarget).toggleClass("checked"); - ddf.cmd.refresh_parseMapData({mapData: ddf.roomState.mapData}); - }); - $("#btn_gridguide").on("click", (e) => { - ddf.roomState.viewStateInfo.isSnapMovablePiece = !ddf.roomState.viewStateInfo.isSnapMovablePiece; - $(e.currentTarget).toggleClass("checked"); - }); - $("#btn_adjustcharacter").on("click", (e) => { - ddf.roomState.viewStateInfo.isAdjustImageSize = !ddf.roomState.viewStateInfo.isAdjustImageSize; - $(e.currentTarget).toggleClass("checked"); - $("#characterCutIn").toggleClass("adjust"); - }); - $("#btn_chatfont").on("click", (e) => { - }); - $("#btn_resetwindow").on("click", (e) => { - }); - $("#btn_resetdisplay").on("click", (e) => { - }); - - /*$("#btn_addCharacter").on("click", (e) => { - });*/ - $("#btn_ragedd3").on("click", (e) => { - }); - /*$("#btn_rangedd4").on("click", (e) => { - });*/ - /*$("#btn_rangelh").on("click", (e) => { - });*/ - $("#btn_rangemg").on("click", (e) => { - }); - $("#btn_magictimer").on("click", (e) => { - }); - $("#btn_createchit").on("click", (e) => { - }); - /*$("#btn_graveyard, #btn_graveyard2").on("click", (e) => { - });*/ - $("#btn_waitroom").on("click", (e) => { - }); - $("#btn_rotate").on("click", (e) => { - ddf.roomState.viewStateInfo.isRotateMarkerVisible = !ddf.roomState.viewStateInfo.isRotateMarkerVisible; - $(e.currentTarget).toggleClass("checked"); - - /*TODO*/ - }); - - $("#btn_cardpickup").on("click", (e) => { - ddf.roomState.viewStateInfo.isCardPickUpVisible = !ddf.roomState.viewStateInfo.isCardPickUpVisible; - $(e.currentTarget).toggleClass("checked"); - }); - $("#btn_cardlog").on("click", (e) => { - ddf.roomState.viewStateInfo.isCardHandleLogVisible = !ddf.roomState.viewStateInfo.isCardHandleLogVisible; - $(e.currentTarget).toggleClass("checked"); - }); - $("#btn_cardchange").on("click", (e) => { - }); - $("#btn_cardreset").on("click", (e) => { - }); - - /*$("#btn_mapchange").on("click", (e) => { - });*/ - $("#btn_maptile").on("click", (e) => { - }); - /*$("#btn_mapmask").on("click", (e) => { - });*/ - $("#btn_mapmodify").on("click", (e) => { - }); - $("#btn_mapsave").on("click", (e) => { - ddf.saveMap().then((r)=>{ - if(r.result == "OK"){ - a = $(`.`); - $(document.body).append(a); - a[0].click(); - a[0].remove(); - } - }); - }); - $("#btn_mapchange").on("click", (e) => { - }); - - /*$("#btn_imageupload").on("click", (e) => { - });*/ - $("#btn_camera").on("click", (e) => { - }); - $("#btn_imagetagedit").on("click", (e) => { - }); - /*$("#btn_imagedelete").on("click", (e) => { - });*/ - - /*$("#btn_version2").on("click", (e) => { - });*/ - /*$("#btn_manual2").on("click", (e) => { - });*/ - /*$("#btn_tutorial2").on("click", (e) => { - });*/ - /*$("#btn_site2").on("click", (e) => { - });*/ - - - $("#btn_zoomin").on("click", () => { - ddf.cmd.setZoom(0.1); - }); - $("#btn_zoomout").on("click", () => { - ddf.cmd.setZoom(-0.1); - }); - - $("#btn_screenshot").on("click", generate); -}); +$(()=>{$("#btn_save").on("click",e=>{ddf.save().then(e=>{"OK"==e.result&&(obj=$(`.`),$("body").append(obj),obj[0].click(),obj.remove())})}),$("#btn_saveall").on("click",e=>{data=JSON.stringify({saveData:{tabInfos:tab},saveDataTypeName:"ChatPalette2"}),ddf.saveAllData(data).then(e=>{"OK"==e.result&&(obj=$(`.`),$("body").append(obj),obj[0].click(),obj.remove())})}),$("#btn_startrecord").on("click",e=>{}),$("#btn_endrecord").on("click",e=>{}),$("#btn_cancelrecord").on("click",e=>{}),$("#btn_logout, #btn_logout2").on("click",e=>{ddf.logout().then(e=>{ddf.userState.room=-1,location.href="index.html"})}),$("#btn_displaychat").on("click",e=>{ddf.roomState.viewStateInfo.isChatVisible=!ddf.roomState.viewStateInfo.isChatVisible,$(e.currentTarget).toggleClass("checked"),$("#window_chat .inner").toggle()}),$("#btn_displaydice").on("click",e=>{ddf.roomState.viewStateInfo.isDiceVisible=!ddf.roomState.viewStateInfo.isDiceVisible,$(e.currentTarget).toggleClass("checked"),$("#diceResult").toggle()}),$("#btn_displayinitiative").on("click",e=>{ddf.roomState.viewStateInfo.isInitiativeListVisible=!ddf.roomState.viewStateInfo.isInitiativeListVisible,$(e.currentTarget).toggleClass("checked"),$("#initiative").toggle()}),$("#btn_displayresource").on("click",e=>{ddf.roomState.viewStateInfo.isResourceWindowVisible=!ddf.roomState.viewStateInfo.isResourceWindowVisible,$(e.currentTarget).toggleClass("checked")}),$("#btn_displaychatpalette").on("click",e=>{ddf.roomState.viewStateInfo.isChatPaletteVisible=!ddf.roomState.viewStateInfo.isChatPaletteVisible,$(e.currentTarget).toggleClass("checked"),$("#window_chatPalette").toggle()}),$("#btn_displaycounter").on("click",e=>{ddf.roomState.viewStateInfo.isCounterRemoconVisible=!ddf.roomState.viewStateInfo.isCounterRemoconVisible,$(e.currentTarget).toggleClass("checked")}),$("#btn_displaycharacter").on("click",e=>{ddf.roomState.viewStateInfo.isCutInVisible=!ddf.roomState.viewStateInfo.isCutInVisible,$(e.currentTarget).toggleClass("checked"),$("#characterCutIn").toggle()}),$("#btn_displaycutin").on("click",e=>{ddf.roomState.viewStateInfo.isStandingGraphicVisible=!ddf.roomState.viewStateInfo.isStandingGraphicVisible,$(e.currentTarget).toggleClass("checked")}),$("#btn_displaygridnum").on("click",e=>{ddf.roomState.viewStateInfo.isPositionVisible=!ddf.roomState.viewStateInfo.isPositionVisible,$(e.currentTarget).toggleClass("checked"),ddf.cmd.refresh_parseMapData({mapData:ddf.roomState.mapData})}),$("#btn_displaygridline").on("click",e=>{ddf.roomState.viewStateInfo.isGridVisible=!ddf.roomState.viewStateInfo.isGridVisible,$(e.currentTarget).toggleClass("checked"),ddf.cmd.refresh_parseMapData({mapData:ddf.roomState.mapData})}),$("#btn_gridguide").on("click",e=>{ddf.roomState.viewStateInfo.isSnapMovablePiece=!ddf.roomState.viewStateInfo.isSnapMovablePiece,$(e.currentTarget).toggleClass("checked")}),$("#btn_adjustcharacter").on("click",e=>{ddf.roomState.viewStateInfo.isAdjustImageSize=!ddf.roomState.viewStateInfo.isAdjustImageSize,$(e.currentTarget).toggleClass("checked"),$("#characterCutIn").toggleClass("adjust")}),$("#btn_chatfont").on("click",e=>{}),$("#btn_resetwindow").on("click",e=>{}),$("#btn_resetdisplay").on("click",e=>{confirm("ウィンドウ位置等の表示情報を初期化しますか?\n(初期化した場合再ログインが必要です)")&&(ddf.cmd.clearUserState(),window.onbeforeunload=null,location.reload())}),$("#btn_ragedd3").on("click",e=>{}),$("#btn_rangemg").on("click",e=>{}),$("#btn_magictimer").on("click",e=>{}),$("#btn_createchit").on("click",e=>{}),$("#btn_waitroom").on("click",e=>{}),$("#btn_rotate").on("click",e=>{ddf.roomState.viewStateInfo.isRotateMarkerVisible=!ddf.roomState.viewStateInfo.isRotateMarkerVisible,$(e.currentTarget).toggleClass("checked")}),$("#btn_cardpickup").on("click",e=>{ddf.roomState.viewStateInfo.isCardPickUpVisible=!ddf.roomState.viewStateInfo.isCardPickUpVisible,$(e.currentTarget).toggleClass("checked")}),$("#btn_cardlog").on("click",e=>{ddf.roomState.viewStateInfo.isCardHandleLogVisible=!ddf.roomState.viewStateInfo.isCardHandleLogVisible,$(e.currentTarget).toggleClass("checked")}),$("#btn_cardchange").on("click",e=>{}),$("#btn_cardreset").on("click",e=>{}),$("#btn_maptile").on("click",e=>{}),$("#btn_mapmodify").on("click",e=>{}),$("#btn_mapsave").on("click",e=>{ddf.saveMap().then(e=>{"OK"==e.result&&(a=$(`.`),$(document.body).append(a),a[0].click(),a[0].remove())})}),$("#btn_mapchange").on("click",e=>{}),$("#btn_camera").on("click",e=>{}),$("#btn_imagetagedit").on("click",e=>{}),$("#btn_zoomin").on("click",()=>{ddf.cmd.setZoom(.1)}),$("#btn_zoomout").on("click",()=>{ddf.cmd.setZoom(-.1)}),$("#btn_screenshot").on("click",generate)}); + },{}],26:[function(require,module,exports){ -(function (exports) { - function urlsToAbsolute(nodeList) { - if (!nodeList.length) { - return []; - } - var attrName = 'href'; - if (nodeList[0].__proto__ === HTMLImageElement.prototype - || nodeList[0].__proto__ === HTMLScriptElement.prototype) { - attrName = 'src'; - } - nodeList = [].map.call(nodeList, function (el, i) { - var attr = el.getAttribute(attrName); - if (!attr) { - return; - } - var absURL = /^(https?|data):/i.test(attr); - if (absURL) { - return el; - } else { - return el; - } - }); - return nodeList; - } - - function screenshotPage() { - urlsToAbsolute(document.images); - urlsToAbsolute(document.querySelectorAll("link[rel='stylesheet']")); - var screenshot = document.documentElement.cloneNode(true); - var b = document.createElement('base'); - b.href = document.location.protocol + '//' + location.host; - var head = screenshot.querySelector('head'); - head.insertBefore(b, head.firstChild); - screenshot.style.pointerEvents = 'none'; - screenshot.style.overflow = 'hidden'; - screenshot.style.webkitUserSelect = 'none'; - screenshot.style.mozUserSelect = 'none'; - screenshot.style.msUserSelect = 'none'; - screenshot.style.oUserSelect = 'none'; - screenshot.style.userSelect = 'none'; - screenshot.dataset.scrollX = window.scrollX; - screenshot.dataset.scrollY = window.scrollY; - var script = document.createElement('script'); - script.textContent = '(' + addOnPageLoad_.toString() + ')();'; - screenshot.querySelector('body').appendChild(script); - var blob = new Blob([screenshot.outerHTML], { - type: 'text/html' - }); - return blob; - } - - function addOnPageLoad_() { - window.addEventListener('DOMContentLoaded', function (e) { - var scrollX = document.documentElement.dataset.scrollX || 0; - var scrollY = document.documentElement.dataset.scrollY || 0; - window.scrollTo(scrollX, scrollY); - }); - } - - function generate() { - window.URL = window.URL || window.webkitURL; - window.open(window.URL.createObjectURL(screenshotPage())); - } - exports.screenshotPage = screenshotPage; - exports.generate = generate; -})(window); +!function(e){function t(e){if(!e.length)return[];var t="href";return e[0].__proto__!==HTMLImageElement.prototype&&e[0].__proto__!==HTMLScriptElement.prototype||(t="src"),e=[].map.call(e,function(e,n){var o=e.getAttribute(t);if(o){/^(https?|data):/i.test(o);return e}})}function n(){t(document.images),t(document.querySelectorAll("link[rel='stylesheet']"));var e=document.documentElement.cloneNode(!0),n=document.createElement("base");n.href=document.location.protocol+"//"+location.host;var o=e.querySelector("head");o.insertBefore(n,o.firstChild),e.style.pointerEvents="none",e.style.overflow="hidden",e.style.webkitUserSelect="none",e.style.mozUserSelect="none",e.style.msUserSelect="none",e.style.oUserSelect="none",e.style.userSelect="none",e.dataset.scrollX=window.scrollX,e.dataset.scrollY=window.scrollY;var r=document.createElement("script");r.textContent="("+function(){window.addEventListener("DOMContentLoaded",function(e){var t=document.documentElement.dataset.scrollX||0,n=document.documentElement.dataset.scrollY||0;window.scrollTo(t,n)})}.toString()+")();",e.querySelector("body").appendChild(r);return new Blob([e.outerHTML],{type:"text/html"})}e.screenshotPage=n,e.generate=function(){window.URL=window.URL||window.webkitURL,window.open(window.URL.createObjectURL(n()))}}(window); + },{}],27:[function(require,module,exports){ -$(() => { - require("./version.js"); - //require("./createPlayRoom.js"); - require("./loginCheck.js"); - require("./roomDelete.js"); - - require("./saveChatLog.js"); - - require("./chatPalette.js"); - require("./graveyard.js"); - - require("./addCharacter.js"); - require("./magicRangeDD4th.js"); - require("./magicRangeLH.js"); - require("./mapMask.js"); - - require("./mapChange.js"); - - require("./upload.js"); - require("./imageDelete.js"); - - require("./playRoomInfo.js"); - require("./memo.js"); - - require("./initiative.js"); - require("./chat.js"); - - require("./help.js"); - require("./chatFont.js"); - require("./characterCutin.js"); -}); -},{"./addCharacter.js":28,"./characterCutin.js":29,"./chat.js":30,"./chatFont.js":31,"./chatPalette.js":32,"./graveyard.js":33,"./help.js":34,"./imageDelete.js":35,"./initiative.js":36,"./loginCheck.js":37,"./magicRangeDD4th.js":38,"./magicRangeLH.js":39,"./mapChange.js":40,"./mapMask.js":41,"./memo.js":42,"./playRoomInfo.js":43,"./roomDelete.js":44,"./saveChatLog.js":45,"./upload.js":46,"./version.js":47}],28:[function(require,module,exports){ -$("#btn_createcharacter").on("click", (e) => { - addCharacter_show("0"); -}); - -ddf.cmd.addCharacter_show = addCharacter_show; -function addCharacter_show(imgId){ - $("#window_addCharacter_sub").hide(); - - ddf.getImageTagsAndImageList().then((r) => { - tagList = ["キャラクター画像"]; - ddf.images = r; - for(item of ddf.images.imageList){ - if(ddf.images.tagInfos[item]){ - for(tag of ddf.images.tagInfos[item].tags){ - if(tag == ""){continue;} - tagList.includes(tag) || tagList.push(tag); - } - } - } - tagList.push("(全て)"); - - $("#addCharacter_tagbox").empty(); - for(item of tagList){ - $("#addCharacter_tagbox").append($(``)); - } - $("#addCharacter_tagbox").append($(``)); - addCharacter_setTag(tagList[0]); - }); - - if((character = ddf.characters[imgId])){ - character = character.data; - - $("#window_addCharacter .title").text("キャラクター変更"); - $("#addCharacter_send").text("変更"); - }else{ - character = { - imgId: imgId, - name: "", - dogTag: "", - size: 1, - url: "", - draggable: true, - imageName: "./image/defaultImageSet/pawn/pawnBlack.png", - images: ["./image/defaultImageSet/pawn/pawnBlack.png"], - info: "", - initiative: 0, - isHide: false, - mirrored: false, - rotation: 0, - statusAlias: {}, - type: "characterData", - x: 0, - y: 0 - }; - - $("#window_addCharacter .title").text("キャラクター追加"); - $("#addCharacter_send").text("追加"); - } - - $("#addCharacter_imgId").val(character.imgId); - $("#addCharacter_name").val(character.name); - $("#addCharacter_dogTag").val(character.dogTag); - $("#addCharacter_size").val(character.size); - $("#addCharacter_url").val(character.url); - $("#addCharacter_info").val(character.info); - $("#addCharacter_imageName").val(character.imageName); - $("#addCharacter_image").css("backgroundImage", `url(${ddf.base_url + character.imageName})`); - $("#addCharacter_mirrored").prop("checked", character.mirrored); - if(character.mirrored){ - $("#addCharacter_image").addClass("mirrored"); - }else{ - $("#addCharacter_image").removeClass("mirrored"); - } - - $("#addCharacter_counters").empty(); - character.counters == null && (character.counters = {}); - - thead = $(""); - tbody = $(""); - - thead.append($(``)); - tbody.append($(``)); - thead.append($(``)); - tbody.append($(``)); - count = 0; - for(item of ddf.roomState.roundTimeData.counterNames){ - character.counters[item]==undefined && (character.counters[item] = 0) - if(!!(match = /^\*(.*)/.exec(item))){ - thead.append($(``)); - tbody.append($(``)); - }else{ - thead.append($(``)); - tbody.append($(``)); - } - } - $("#addCharacter_counters").append(thead); - $("#addCharacter_counters").append(tbody); - - $("#window_addCharacter").show().css("zIndex", 151); - $(".draggable:not(#window_addCharacter)").css("zIndex", 150); -} - -$("#addCharacter_close, #addCharacter_close2").on("click", (e) => { - $("#window_addCharacter").hide(); -}); - -$("#addCharacter_sub_close").on("click", (e) => { - $("#window_addCharacter_sub").hide(); -}); - -$("#addCharacter_tagbox").on('change', (e) => { - addCharacter_setTag($("#addCharacter_tagbox").val()); -}); - -function addCharacter_setTag(tag){ - $("#addCharacter_imagearea").empty(); - let password = $("#addCharacter_password").val(); - for(item of ddf.images.imageList){ - if(ddf.images.tagInfos[item]){ - if((tag == "(全て)" || ddf.images.tagInfos[item].tags.includes(tag)) && (ddf.images.tagInfos[item].password == "" || ddf.images.tagInfos[item].password == password)){ - $("#addCharacter_imagearea").append($(`
`)); - } - }else if(tag == "(全て)"){ - $("#addCharacter_imagearea").append($(`
`)); - } - } -} -$(document).on('click', '#addCharacter_imagearea div img', (e) => { - let img = $(e.currentTarget).attr("src"); - $("#addCharacter_imageName").val(img.replace(ddf.base_url, "")); - $("#addCharacter_image").css("backgroundImage", `url(${img})`); -}); - -$("#addCharacter_mirrored").on('click', (e) => { - if($("#addCharacter_mirrored").prop("checked")){ - $("#addCharacter_image").addClass("mirrored"); - }else{ - $("#addCharacter_image").removeClass("mirrored"); - } -}); - -$("#addCharacter_btnpassword").on('click', (e) => { - $("#addCharacter_btnpassword").hide(); - $("#addCharacter_password").show().focus(); -}); - -$("#addCharacter_password").on('focusout', (e) => { - $("#addCharacter_btnpassword").show(); - $("#addCharacter_password").hide(); - imageDelete_setTag($("#addCharacter_tagbox").val()); -}).on('keydown', (e) => { - if(e.keyCode == 13){ - $("#addCharacter_password").blur(); - } -}); - -$("#addCharacter_send").on('click', (e) => { - - if((character = ddf.characters[$("#addCharacter_imgId").val()])){ - - character.data.name = $("#addCharacter_name").val(); - character.data.dogTag = $("#addCharacter_dogTag").val(); - character.data.size = $("#addCharacter_size").val(); - character.data.url = $("#addCharacter_url").val(); - character.data.info = $("#addCharacter_info").val(); - character.data.mirrored = $("#addCharacter_mirrored").prop("checked"); - character.data.imageName = $("#addCharacter_imageName").val(); - character.data.initiative = parseInt($("#addCharacter_initiative").val()) + ($("#addCharacter_initiative2").val() / 100); - character.data.isHide = $("#addCharacter_isHide").prop("checked"); - count = 0; - for(item of ddf.roomState.roundTimeData.counterNames){ - obj = $(`[name=addCharacter_counters\\[${count++}\\]]`); - if(obj.attr("type")=="checkbox"){ - character.data.counters[item] = obj.prop("checked"); - }else{ - character.data.counters[item] = obj.val(); - } - } - - ddf.changeCharacter(character.data).then((r) => { - ddf.cmd.refresh_parseRecordData({record: [[0, "changeCharacter", [character.data], "dummy\t"]]}); - $("#window_addCharacter").hide(); - }); - }else{ - $("#addCharacter_sub_multiple").prop("checked", false); - $("#addCharacter_sub_name").text($("#addCharacter_name").val()); - $("#addCharacter_sub_character").css("backgroundImage", $("#addCharacter_image").css("backgroundImage")); - $("#window_addCharacter_sub").show(); - $("#window_addCharacter").hide(); - } -}); - -var click = {}; -$("#window_addCharacter_sub .characterFrame").draggable({ - start: (event) => { - click.x = event.clientX; - click.y = event.clientY; - }, - helper: () => { - let obj = $("#window_addCharacter_sub .characterFrame").clone(); - obj.css("width", $("#addCharacter_size").val() * 50 + "px"); - obj.css("height", $("#addCharacter_size").val() * 50 + "px"); - obj.appendTo("#mapSurface"); - return obj; - }, - drag: (event, ui) => { - // This is the parameter for scale() - var zoom = ddf.roomState.zoom; - - var original = ui.originalPosition; - - // jQuery will simply use the same object we alter here - ui.position = { - left: (event.clientX - click.x + original.left) / zoom, - top: (event.clientY - click.y + original.top ) / zoom - }; - if(ddf.roomState.viewStateInfo.isSnapMovablePiece){ - if(ddf.roomState.mapData.isAlternately && ddf.roomState.mapData.gridInterval % 2 == 1){ - if((Math.floor(ui.position.top / 50 / ddf.roomState.mapData.gridInterval) & 1)){ - ui.position = { - left: ((Math.floor(ui.position.left / 25) | 1) ^ 1) * 25, - top: Math.floor(ui.position.top / 50) * 50 - }; - }else{ - ui.position = { - left: (Math.floor(ui.position.left / 25) | 1) * 25, - top: Math.floor(ui.position.top / 50) * 50 - }; - } - }else{ - ui.position = { - left: Math.floor(ui.position.left / 50) * 50, - top: Math.floor(ui.position.top / 50) * 50 - }; - } - } - }, - stop: (event, ui) => { - character = { - counters: {}, - imgId: $("#addCharacter_imgId").val(), - name: $("#addCharacter_name").val(), - dogTag: $("#addCharacter_dogTag").val(), - size: $("#addCharacter_size").val(), - url: $("#addCharacter_url").val(), - draggable: true, - imageName: $("#addCharacter_imageName").val(), - images: [$("#addCharacter_imageName").val()], - info: $("#addCharacter_info").val(), - initiative: parseInt($("#addCharacter_initiative").val())+($("#addCharacter_initiative2").val() / 100), - isHide: $("#addCharacter_isHide").prop("checked"), - mirrored: $("#addCharacter_mirrored").prop("checked"), - rotation: 0, - statusAlias: {}, - type: "characterData", - x: ui.position.left / 50, - y: ui.position.top / 50 - }; - count = 0; - for(item of ddf.roomState.roundTimeData.counterNames){ - obj = $(`[name=addCharacter_counters\\[${count++}\\]]`); - if(obj.attr("type")=="checkbox"){ - character.counters[item] = obj.prop("checked"); - }else{ - character.counters[item] = obj.val(); - } - } - ddf.addCharacter(character).then((r) => {; - ddf.cmd.initiative_sort(true); - }); - if($("#addCharacter_sub_multiple").prop("checked")){ - basename = $("#addCharacter_name").val().replace(/_\d+$/, ""); - reg = new RegExp(basename+"_(\\d+)"); - index = 0; - if(v = reg.exec($("#addCharacter_name").val())){ - index = Math.max(index, parseInt(v[1])) - } - for(item in ddf.characters){ - if(v = reg.exec(ddf.characters[item].data.name)){ - index = Math.max(index, parseInt(v[1])) - } - } - $("#addCharacter_name").val(basename+"_"+(index + 1)); - $("#addCharacter_dogTag").val(index + 1); - $("#addCharacter_sub_name").text(basename+"_"+(index + 1)); - }else{ - $("#window_addCharacter_sub").hide(); - } - } -}); +$(()=>{require("./version.js"),require("./loginCheck.js"),require("./roomDelete.js"),require("./saveChatLog.js"),require("./loadSaveData.js"),require("./chatPalette.js"),require("./graveyard.js"),require("./addCharacter.js"),require("./magicRangeDD4th.js"),require("./magicRangeLH.js"),require("./mapMask.js"),require("./mapChange.js"),require("./upload.js"),require("./imageDelete.js"),require("./playRoomInfo.js"),require("./memo.js"),require("./initiative.js"),require("./chat.js"),require("./help.js"),require("./chatFont.js"),require("./characterCutin.js")}); + +},{"./addCharacter.js":28,"./characterCutin.js":29,"./chat.js":30,"./chatFont.js":31,"./chatPalette.js":32,"./graveyard.js":33,"./help.js":34,"./imageDelete.js":35,"./initiative.js":36,"./loadSaveData.js":37,"./loginCheck.js":38,"./magicRangeDD4th.js":39,"./magicRangeLH.js":40,"./mapChange.js":41,"./mapMask.js":42,"./memo.js":43,"./playRoomInfo.js":44,"./roomDelete.js":45,"./saveChatLog.js":46,"./upload.js":47,"./version.js":48}],28:[function(require,module,exports){ +function addCharacter_show(a){$("#window_addCharacter_sub").hide(),ddf.getImageTagsAndImageList().then(a=>{tagList=["キャラクター画像"],ddf.images=a;for(item of ddf.images.imageList)if(ddf.images.tagInfos[item])for(tag of ddf.images.tagInfos[item].tags)""!=tag&&(tagList.includes(tag)||tagList.push(tag));tagList.push("(全て)"),$("#addCharacter_tagbox").empty();for(item of tagList)$("#addCharacter_tagbox").append($(``));$("#addCharacter_tagbox").append($(``)),addCharacter_setTag(tagList[0])}),(character=ddf.characters[a])?(character=character.data,$("#window_addCharacter .title").text("キャラクター変更"),$("#addCharacter_send").text("変更")):(character={imgId:a,name:"",dogTag:"",size:1,url:"",draggable:!0,imageName:"./image/defaultImageSet/pawn/pawnBlack.png",images:["./image/defaultImageSet/pawn/pawnBlack.png"],info:"",initiative:0,isHide:!1,mirrored:!1,rotation:0,statusAlias:{},type:"characterData",x:0,y:0},$("#window_addCharacter .title").text("キャラクター追加"),$("#addCharacter_send").text("追加")),$("#addCharacter_imgId").val(character.imgId),$("#addCharacter_name").val(character.name),$("#addCharacter_dogTag").val(character.dogTag),$("#addCharacter_size").val(character.size),$("#addCharacter_url").val(character.url),$("#addCharacter_info").val(character.info),$("#addCharacter_imageName").val(character.imageName),$("#addCharacter_image").css("backgroundImage",`url(${ddf.base_url+character.imageName})`),$("#addCharacter_mirrored").prop("checked",character.mirrored),character.mirrored?$("#addCharacter_image").addClass("mirrored"):$("#addCharacter_image").removeClass("mirrored"),$("#addCharacter_counters").empty(),null==character.counters&&(character.counters={}),thead=$(""),tbody=$(""),thead.append($("")),tbody.append($(``)),thead.append($("")),tbody.append($(``)),count=0;for(item of ddf.roomState.roundTimeData.counterNames)void 0==character.counters[item]&&(character.counters[item]=0),(match=/^\*(.*)/.exec(item))?(thead.append($(``)),tbody.append($(``))):(thead.append($(``)),tbody.append($(``)));$("#addCharacter_counters").append(thead),$("#addCharacter_counters").append(tbody),$("#window_addCharacter").show().css("zIndex",151),$(".draggable:not(#window_addCharacter)").css("zIndex",150)}function addCharacter_setTag(a){$("#addCharacter_imagearea").empty();let e=$("#addCharacter_password").val();for(item of ddf.images.imageList)ddf.images.tagInfos[item]?"(全て)"!=a&&!ddf.images.tagInfos[item].tags.includes(a)||""!=ddf.images.tagInfos[item].password&&ddf.images.tagInfos[item].password!=e||$("#addCharacter_imagearea").append($(`
`)):"(全て)"==a&&$("#addCharacter_imagearea").append($(`
`))}$("#btn_createcharacter").on("click",a=>{addCharacter_show("0")}),ddf.cmd.addCharacter_show=addCharacter_show,$("#addCharacter_close, #addCharacter_close2").on("click",a=>{$("#window_addCharacter").hide()}),$("#addCharacter_sub_close").on("click",a=>{$("#window_addCharacter_sub").hide()}),$("#addCharacter_tagbox").on("change",a=>{addCharacter_setTag($("#addCharacter_tagbox").val())}),$(document).on("click","#addCharacter_imagearea div img",a=>{let e=$(a.currentTarget).attr("src");$("#addCharacter_imageName").val(e.replace(ddf.base_url,"")),$("#addCharacter_image").css("backgroundImage",`url(${e})`)}),$("#addCharacter_mirrored").on("click",a=>{$("#addCharacter_mirrored").prop("checked")?$("#addCharacter_image").addClass("mirrored"):$("#addCharacter_image").removeClass("mirrored")}),$("#addCharacter_btnpassword").on("click",a=>{$("#addCharacter_btnpassword").hide(),$("#addCharacter_password").show().focus()}),$("#addCharacter_password").on("focusout",a=>{$("#addCharacter_btnpassword").show(),$("#addCharacter_password").hide(),imageDelete_setTag($("#addCharacter_tagbox").val())}).on("keydown",a=>{13==a.keyCode&&$("#addCharacter_password").blur()}),$("#addCharacter_send").on("click",a=>{if(character=ddf.characters[$("#addCharacter_imgId").val()]){character.data.name=$("#addCharacter_name").val(),character.data.dogTag=$("#addCharacter_dogTag").val(),character.data.size=$("#addCharacter_size").val(),character.data.url=$("#addCharacter_url").val(),character.data.info=$("#addCharacter_info").val(),character.data.mirrored=$("#addCharacter_mirrored").prop("checked"),character.data.imageName=$("#addCharacter_imageName").val(),character.data.initiative=parseInt($("#addCharacter_initiative").val())+$("#addCharacter_initiative2").val()/100,character.data.isHide=$("#addCharacter_isHide").prop("checked"),count=0;for(item of ddf.roomState.roundTimeData.counterNames)obj=$(`[name=addCharacter_counters\\[${count++}\\]]`),"checkbox"==obj.attr("type")?character.data.counters[item]=obj.prop("checked"):character.data.counters[item]=obj.val();ddf.changeCharacter(character.data).then(a=>{ddf.cmd.refresh_parseRecordData({record:[[0,"changeCharacter",[character.data],"dummy\t"]]}),$("#window_addCharacter").hide()})}else $("#addCharacter_sub_multiple").prop("checked",!1),$("#addCharacter_sub_name").text($("#addCharacter_name").val()),$("#addCharacter_sub_character").css("backgroundImage",$("#addCharacter_image").css("backgroundImage")),$("#window_addCharacter_sub").show(),$("#window_addCharacter").hide()});var click={};$("#window_addCharacter_sub .characterFrame").draggable({start:a=>{click.x=a.clientX,click.y=a.clientY},helper:()=>{let a=$("#window_addCharacter_sub .characterFrame").clone();return a.css("width",50*$("#addCharacter_size").val()+"px"),a.css("height",50*$("#addCharacter_size").val()+"px"),a.appendTo("#mapSurface"),a},drag:(a,e)=>{var r=ddf.roomState.zoom,t=e.originalPosition;e.position={left:(a.clientX-click.x+t.left)/r,top:(a.clientY-click.y+t.top)/r},ddf.roomState.viewStateInfo.isSnapMovablePiece&&(ddf.roomState.mapData.isAlternately&&ddf.roomState.mapData.gridInterval%2==1?1&Math.floor(e.position.top/50/ddf.roomState.mapData.gridInterval)?e.position={left:25*(1^(1|Math.floor(e.position.left/25))),top:50*Math.floor(e.position.top/50)}:e.position={left:25*(1|Math.floor(e.position.left/25)),top:50*Math.floor(e.position.top/50)}:e.position={left:50*Math.floor(e.position.left/50),top:50*Math.floor(e.position.top/50)})},stop:(a,e)=>{character={counters:{},imgId:$("#addCharacter_imgId").val(),name:$("#addCharacter_name").val(),dogTag:$("#addCharacter_dogTag").val(),size:$("#addCharacter_size").val(),url:$("#addCharacter_url").val(),draggable:!0,imageName:$("#addCharacter_imageName").val(),images:[$("#addCharacter_imageName").val()],info:$("#addCharacter_info").val(),initiative:parseInt($("#addCharacter_initiative").val())+$("#addCharacter_initiative2").val()/100,isHide:$("#addCharacter_isHide").prop("checked"),mirrored:$("#addCharacter_mirrored").prop("checked"),rotation:0,statusAlias:{},type:"characterData",x:e.position.left/50,y:e.position.top/50},count=0;for(item of ddf.roomState.roundTimeData.counterNames)obj=$(`[name=addCharacter_counters\\[${count++}\\]]`),"checkbox"==obj.attr("type")?character.counters[item]=obj.prop("checked"):character.counters[item]=obj.val();if(ddf.addCharacter(character).then(a=>{ddf.cmd.initiative_sort(!0)}),$("#addCharacter_sub_multiple").prop("checked")){basename=$("#addCharacter_name").val().replace(/_\d+$/,""),reg=new RegExp(basename+"_(\\d+)"),index=0,(v=reg.exec($("#addCharacter_name").val()))&&(index=Math.max(index,parseInt(v[1])));for(item in ddf.characters)(v=reg.exec(ddf.characters[item].data.name))&&(index=Math.max(index,parseInt(v[1])));$("#addCharacter_name").val(basename+"_"+(index+1)),$("#addCharacter_dogTag").val(index+1),$("#addCharacter_sub_name").text(basename+"_"+(index+1))}else $("#window_addCharacter_sub").hide()}}); + },{}],29:[function(require,module,exports){ -$("#window_characterCutin_create .slider").slider({min: 1,max: 12, step:1, stop: (e, ui) => { - $("#characterCutin_create_leftIndex").val(ui.value); - } -}); - -ddf.cmd.effectList_create = effectList_create; -function effectList_create(){ - $("#window_characterCutin table tbody tr:gt(0)").remove(); - - for(item of ddf.roomState.effects){ - if(item.name){ - tr = ``; - tr += ``; - tr += ``; - tr += ``; - tr += ``; - tr += ``; - tr += ``; - tr += ``; - $("#window_characterCutin table tbody").append($(tr)); - } - } -} - -$("#btn_characterList").on('click', (e) => { - $("#window_characterCutin").show().css("zIndex", 151); - $(".draggable:not(#window_characterCutin)").css("zIndex", 150); -}); - -$(document).on('click', '#window_characterCutin button.change', (e) => { - characterCutin_show($(e.target).attr("oid")); -}); -$(document).on('click', '#window_characterCutin button.delete', (e) => { - if(confirm("立ち絵を削除してよろしいですか?")){ - ddf.removeEffect([$(e.target).attr("oid")]); - } -}); - -$("#characterCutin_create").on('click', (e) => { - characterCutin_show("0"); -}); - -$("#characterCutin_close, #characterCutin_close2").on('click', (e) => { - $("#window_characterCutin").hide(); -}); - -function characterCutin_show(effectId){ - - ddf.getImageTagsAndImageList().then((r) => { - tagList = ["キャラクター画像"]; - ddf.images = r; - for(item of ddf.images.imageList){ - if(ddf.images.tagInfos[item]){ - for(tag of ddf.images.tagInfos[item].tags){ - if(tag == ""){continue;} - tagList.includes(tag) || tagList.push(tag); - } - } - } - tagList.push("(全て)"); - - $("#characterCutin_create_tagbox").empty(); - for(item of tagList){ - $("#characterCutin_create_tagbox").append($(``)); - } - $("#characterCutin_create_tagbox").append($(``)); - characterCutin_create_setTag(tagList[0]); - }); - - effect = ddf.roomState.effects.find((v)=>{return v.effectId == effectId;}); - if(effect){ - $("#window_characterCutin_create .title").text("立ち絵追加"); - $("#characterCutin_create_send").text("追加"); - }else{ - effect = { - effectId: "0", - name: "", - state: "", - leftIndex: 1, - source: "", - type: "standingGraphicInfos", - motion: "", - mirrored: false - }; - - $("#window_characterCutin_create .title").text("立ち絵変更"); - $("#characterCutin_create_send").text("変更"); - } - - $("#characterCutin_create_effectId").val(effect.effectId); - $("#characterCutin_create_name").val(effect.name); - $("#characterCutin_create_state").val(effect.state); - $("#characterCutin_create_leftIndex").val(effect.leftIndex); - $("#window_characterCutin_create .slider").slider('value', effect.leftIndex); - $("#characterCutin_create_motion").val(effect.motion); - - $("#characterCutin_create_imageName").val(effect.source); - $("#characterCutin_create_image").css("backgroundImage", `url(${ddf.base_url + effect.source})`); - $("#characterCutin_create_mirrored").prop("checked", effect.mirrored); - - $("#window_characterCutin_create").show().css("zIndex", 151); - $(".draggable:not(#window_characterCutin_create)").css("zIndex", 150); -} - -$("#characterCutin_create_close, #characterCutin_create_close2").on('click', (e) => { - $("#window_characterCutin_create").hide(); -}); - - -$("#characterCutin_create_tagbox").on('change', (e) => { - characterCutin_create_setTag($("#characterCutin_create_tagbox").val()); -}); - -function characterCutin_create_setTag(tag){ - $("#characterCutin_create_imagearea").empty(); - let password = $("#characterCutin_create_password").val(); - for(item of ddf.images.imageList){ - if(ddf.images.tagInfos[item]){ - if((tag == "(全て)" || ddf.images.tagInfos[item].tags.includes(tag)) && (ddf.images.tagInfos[item].password == "" || ddf.images.tagInfos[item].password == password)){ - $("#characterCutin_create_imagearea").append($(`
`)); - } - }else if(tag == "(全て)"){ - $("#characterCutin_create_imagearea").append($(`
`)); - } - } -} -$(document).on('click', '#characterCutin_create_imagearea div img', (e) => { - let img = $(e.currentTarget).attr("src"); - $("#characterCutin_create_imageName").val(img.replace(ddf.base_url, "")); - $("#characterCutin_create_image").css("backgroundImage", `url(${img})`); -}); - -$("#characterCutin_create_mirrored").on('click', (e) => { - if($("#characterCutin_create_mirrored").prop("checked")){ - $("#characterCutin_create_image").addClass("mirrored"); - }else{ - $("#characterCutin_create_image").removeClass("mirrored"); - } -}); -$("#characterCutin_create_btnpassword").on('click', (e) => { - $("#characterCutin_create_btnpassword").hide(); - $("#characterCutin_create_password").show().focus(); -}); -$("#characterCutin_create_password").on('focusout', (e) => { - $("#characterCutin_create_btnpassword").show(); - $("#characterCutin_create_password").hide(); - imageDelete_setTag($("#characterCutin_create_tagbox").val()); -}).on('keydown', (e) => { - if(e.keyCode == 13){ - $("#characterCutin_create_password").blur(); - } -}); - -$("#characterCutin_create_send").on('click', (e) => { - - effect = ddf.roomState.effects.find((v)=>{return v.effectId == $("#characterCutin_create_effectId").val();}); - if(effect){ - effect.effectId = $("#characterCutin_create_effectId").val(); - effect.source = $("#characterCutin_create_imageName").val(); - effect.name = $("#characterCutin_create_name").val(); - effect.state = $("#characterCutin_create_state").val(); - effect.leftIndex = $("#characterCutin_create_leftIndex").val(); - effect.motiron = $("#characterCutin_create_motion").val(); - effect.mirrored = $("#characterCutin_create_mirrored").prop("checked"); - - ddf.changeEffectCharacter(effect.effectId, effect.name, effect.state, effect.motion, effect.source, effect.mirroed, effect.leftIndex).then((r) => { - $("#window_characterCutin_create").hide(); - }); - }else{ - effect = { - type: "standingGraphicInfos", - }; - - effect.effectId = $("#characterCutin_create_effectId").val(); - effect.source = $("#characterCutin_create_imageName").val(); - effect.name = $("#characterCutin_create_name").val(); - effect.state = $("#characterCutin_create_state").val(); - effect.leftIndex = $("#characterCutin_create_leftIndex").val(); - effect.motiron = $("#characterCutin_create_motion").val(); - effect.mirrored = $("#characterCutin_create_mirrored").prop("checked"); - - ddf.addEffectCharacter(effect.name, effect.state, effect.motion, effect.source, effect.mirroed, effect.leftIndex); - } -}); +function effectList_create(){$("#window_characterCutin table tbody tr:gt(0)").remove();for(item of ddf.roomState.effects)item.name&&(tr="",tr+=``,tr+=``,tr+=``,tr+=``,tr+=``,tr+=``,tr+="",$("#window_characterCutin table tbody").append($(tr)))}function characterCutin_show(e){ddf.getImageTagsAndImageList().then(e=>{tagList=["キャラクター画像"],ddf.images=e;for(item of ddf.images.imageList)if(ddf.images.tagInfos[item])for(tag of ddf.images.tagInfos[item].tags)""!=tag&&(tagList.includes(tag)||tagList.push(tag));tagList.push("(全て)"),$("#characterCutin_create_tagbox").empty();for(item of tagList)$("#characterCutin_create_tagbox").append($(``));$("#characterCutin_create_tagbox").append($(``)),characterCutin_create_setTag(tagList[0])}),effect=ddf.roomState.effects.find(t=>t.effectId==e),effect?($("#window_characterCutin_create .title").text("立ち絵追加"),$("#characterCutin_create_send").text("追加")):(effect={effectId:"0",name:"",state:"",leftIndex:1,source:"",type:"standingGraphicInfos",motion:"",mirrored:!1},$("#window_characterCutin_create .title").text("立ち絵変更"),$("#characterCutin_create_send").text("変更")),$("#characterCutin_create_effectId").val(effect.effectId),$("#characterCutin_create_name").val(effect.name),$("#characterCutin_create_state").val(effect.state),$("#characterCutin_create_leftIndex").val(effect.leftIndex),$("#window_characterCutin_create .slider").slider("value",effect.leftIndex),$("#characterCutin_create_motion").val(effect.motion),$("#characterCutin_create_imageName").val(effect.source),$("#characterCutin_create_image").css("backgroundImage",`url(${ddf.base_url+effect.source})`),$("#characterCutin_create_mirrored").prop("checked",effect.mirrored),$("#window_characterCutin_create").show().css("zIndex",151),$(".draggable:not(#window_characterCutin_create)").css("zIndex",150)}function characterCutin_create_setTag(e){$("#characterCutin_create_imagearea").empty();let t=$("#characterCutin_create_password").val();for(item of ddf.images.imageList)ddf.images.tagInfos[item]?"(全て)"!=e&&!ddf.images.tagInfos[item].tags.includes(e)||""!=ddf.images.tagInfos[item].password&&ddf.images.tagInfos[item].password!=t||$("#characterCutin_create_imagearea").append($(`
`)):"(全て)"==e&&$("#characterCutin_create_imagearea").append($(`
`))}$("#window_characterCutin_create .slider").slider({min:1,max:12,step:1,stop:(e,t)=>{$("#characterCutin_create_leftIndex").val(t.value)}}),ddf.cmd.effectList_create=effectList_create,$("#btn_characterList").on("click",e=>{$("#window_characterCutin").show().css("zIndex",151),$(".draggable:not(#window_characterCutin)").css("zIndex",150)}),$(document).on("click","#window_characterCutin button.change",e=>{characterCutin_show($(e.target).attr("oid"))}),$(document).on("click","#window_characterCutin button.delete",e=>{confirm("立ち絵を削除してよろしいですか?")&&ddf.removeEffect([$(e.target).attr("oid")])}),$("#characterCutin_create").on("click",e=>{characterCutin_show("0")}),$("#characterCutin_close, #characterCutin_close2").on("click",e=>{$("#window_characterCutin").hide()}),$("#characterCutin_create_close, #characterCutin_create_close2").on("click",e=>{$("#window_characterCutin_create").hide()}),$("#characterCutin_create_tagbox").on("change",e=>{characterCutin_create_setTag($("#characterCutin_create_tagbox").val())}),$(document).on("click","#characterCutin_create_imagearea div img",e=>{let t=$(e.currentTarget).attr("src");$("#characterCutin_create_imageName").val(t.replace(ddf.base_url,"")),$("#characterCutin_create_image").css("backgroundImage",`url(${t})`)}),$("#characterCutin_create_mirrored").on("click",e=>{$("#characterCutin_create_mirrored").prop("checked")?$("#characterCutin_create_image").addClass("mirrored"):$("#characterCutin_create_image").removeClass("mirrored")}),$("#characterCutin_create_btnpassword").on("click",e=>{$("#characterCutin_create_btnpassword").hide(),$("#characterCutin_create_password").show().focus()}),$("#characterCutin_create_password").on("focusout",e=>{$("#characterCutin_create_btnpassword").show(),$("#characterCutin_create_password").hide(),imageDelete_setTag($("#characterCutin_create_tagbox").val())}).on("keydown",e=>{13==e.keyCode&&$("#characterCutin_create_password").blur()}),$("#characterCutin_create_send").on("click",e=>{effect=ddf.roomState.effects.find(e=>e.effectId==$("#characterCutin_create_effectId").val()),effect?(effect.effectId=$("#characterCutin_create_effectId").val(),effect.source=$("#characterCutin_create_imageName").val(),effect.name=$("#characterCutin_create_name").val(),effect.state=$("#characterCutin_create_state").val(),effect.leftIndex=$("#characterCutin_create_leftIndex").val(),effect.motiron=$("#characterCutin_create_motion").val(),effect.mirrored=$("#characterCutin_create_mirrored").prop("checked"),ddf.changeEffectCharacter(effect.effectId,effect.name,effect.state,effect.motion,effect.source,effect.mirroed,effect.leftIndex).then(e=>{$("#window_characterCutin_create").hide()})):(effect={type:"standingGraphicInfos"},effect.effectId=$("#characterCutin_create_effectId").val(),effect.source=$("#characterCutin_create_imageName").val(),effect.name=$("#characterCutin_create_name").val(),effect.state=$("#characterCutin_create_state").val(),effect.leftIndex=$("#characterCutin_create_leftIndex").val(),effect.motiron=$("#characterCutin_create_motion").val(),effect.mirrored=$("#characterCutin_create_mirrored").prop("checked"),ddf.addEffectCharacter(effect.name,effect.state,effect.motion,effect.source,effect.mirroed,effect.leftIndex))}); + },{}],30:[function(require,module,exports){ - -$("#btn_private").on('click', (e) => { -}); -/*$("#btn_help").on('click', (e) => { -});*/ -$("#btn_diceBotTable").on('click', (e) => { -}); -$("#btn_novel").on('click', (e) => { -}); -$("#btn_chatDelete").on('click', (e) => { - if(confirm('チャットログを全て削除します。よろしいですか?') && confirm('削除したログは復旧できませんが、本当によろしいですか?')){ - ddf.deleteChatLog().then((r) => { - ddf.sendChatMessage(0, "どどんとふ\t", "全チャットログ削除が正常に終了しました。", "00aa00", true); - }); - } -}); -$("#btn_chatFont").on('click', (e) => { -}); -$("#btn_mute").on('click', (e) => { - ddf.roomState.playSound = !ddf.roomState.playSound; - if(ddf.roomState.playSound){ - $("#btn_mute img").attr("src", "image/icons/sound.png"); - $("#btn_mute .helptext").text("音再生あり"); - }else{ - $("#btn_mute img").attr("src", "image/icons/sound_mute.png"); - $("#btn_mute .helptext").text("音再生なし"); - } -}); -$("#btn_vote").on('click', (e) => { -}); -$("#btn_alarm").on('click', (e) => { -}); -/*$("#btn_characterList").on('click', (e) => { -});*/ -$("#btn_easyUpload").on('click', (e) => { -}); -$("#btn_talk").on('click', (e) => { -}); - -$("#chattext").on('keydown', (e) => { - if(e.keyCode == 13 && !e.shiftKey){ - $("#btn_chatsend").click(); - return false; - } -}); - -$("#btn_chatsend").on('click', (e) => { - ddf.cmd.sendChatMessage(ddf.userState.channel, $("#chatname").val(), "", $("#dicebot").val(), $("#chattext").val(), ddf.userState.chatColor) - $("#chattext").val(""); -}); +$("#btn_private").on("click",t=>{}),$("#btn_diceBotTable").on("click",t=>{}),$("#btn_novel").on("click",t=>{}),$("#btn_chatDelete").on("click",t=>{confirm("チャットログを全て削除します。よろしいですか?")&&confirm("削除したログは復旧できませんが、本当によろしいですか?")&&ddf.deleteChatLog().then(t=>{ddf.sendChatMessage(0,"どどんとふ\t","全チャットログ削除が正常に終了しました。","00aa00",!0)})}),$("#btn_chatFont").on("click",t=>{}),$("#btn_mute").on("click",t=>{ddf.roomState.playSound=!ddf.roomState.playSound,ddf.roomState.playSound?($("#btn_mute img").attr("src","image/icons/sound.png"),$("#btn_mute .helptext").text("音再生あり")):($("#btn_mute img").attr("src","image/icons/sound_mute.png"),$("#btn_mute .helptext").text("音再生なし"))}),$("#btn_vote").on("click",t=>{}),$("#btn_alarm").on("click",t=>{}),$("#btn_easyUpload").on("click",t=>{}),$("#btn_talk").on("click",t=>{}),$("#chattext").on("keydown",t=>{if(13==t.keyCode&&!t.shiftKey)return $("#btn_chatsend").click(),!1}),$("#btn_chatsend").on("click",t=>{ddf.cmd.sendChatMessage(ddf.userState.channel,$("#chatname").val(),"",$("#dicebot").val(),$("#chattext").val(),ddf.userState.chatColor),$("#chattext").val("")}); + },{}],31:[function(require,module,exports){ -$("#btn_chatFont").on('click', (e) => { - $("#chatFont_chatColor").val(ddf.userState.chatColor); - $("#chatFont_chatColor2").spectrum('set', "#"+ddf.userState.chatColor); - $("#chatFont_backgroundColor").val(ddf.userState.backgroundColor); - $("#chatFont_backgroundColor2").spectrum('set', "#"+ddf.userState.backgroundColor); - - $("#chatFont_fontSize").val(ddf.userState.fontSize); - $("#chatFont_showTime").prop("checked", ddf.userState.showTime); - - $("#window_chatFont").show().css("zIndex", 151); - $(".draggable:not(#window_chatFont)").css("zIndex", 150); -}); - -$("#chatFont_close, #chatFont_close2").on('click', (e) => { - $("#window_chatFont").hide(); -}); - -sp_param = require("../.option.spectrum.json"); -sp_param.change = (c) => { - $("#chatFont_chatColor").val(c.toHex()); -}; -$("#chatFont_chatColor2").spectrum(sp_param); -sp_param2 = require("../.option.spectrum.json"); -sp_param2.change = (c) => { - $("#chatFont_backgroundColor").val(c.toHex()); -}; -$("#chatFont_backgroundColor2").spectrum(sp_param2); - -$("#chatFont_send").on('click', (e) => { - ddf.userState.chatColor = $("#chatFont_chatColor").val(); - ddf.userState.backgroundColor = $("#chatFont_backgroundColor").val(); - ddf.userState.fontSize = $("#chatFont_fontSize").val(); - ddf.userState.showTime = $("#chatFont_showTime").prop("checked"); - - ddf.cmd.saveUserState(); - $("#log > div, #chattext").css({ - backgroundColor: "#"+ddf.userState.backgroundColor, - fontSize: ddf.userState.fontSize+"pt" - }); - $("#window_chatFont").hide(); -}); +$("#btn_chatFont").on("click",t=>{$("#chatFont_chatColor").val(ddf.userState.chatColor),$("#chatFont_chatColor2").spectrum("set","#"+ddf.userState.chatColor),$("#chatFont_backgroundColor").val(ddf.userState.backgroundColor),$("#chatFont_backgroundColor2").spectrum("set","#"+ddf.userState.backgroundColor),$("#chatFont_fontSize").val(ddf.userState.fontSize),$("#chatFont_showTime").prop("checked",ddf.userState.showTime),$("#window_chatFont").show().css("zIndex",151),$(".draggable:not(#window_chatFont)").css("zIndex",150)}),$("#chatFont_close, #chatFont_close2").on("click",t=>{$("#window_chatFont").hide()}),sp_param=require("../.option.spectrum.json"),sp_param.change=(t=>{$("#chatFont_chatColor").val(t.toHex())}),$("#chatFont_chatColor2").spectrum(sp_param),sp_param2=require("../.option.spectrum.json"),sp_param2.change=(t=>{$("#chatFont_backgroundColor").val(t.toHex())}),$("#chatFont_backgroundColor2").spectrum(sp_param2),$("#chatFont_send").on("click",t=>{ddf.userState.chatColor=$("#chatFont_chatColor").val(),ddf.userState.backgroundColor=$("#chatFont_backgroundColor").val(),ddf.userState.fontSize=$("#chatFont_fontSize").val(),ddf.userState.showTime=$("#chatFont_showTime").prop("checked"),ddf.cmd.saveUserState(),$("#log > div, #chattext").css({backgroundColor:"#"+ddf.userState.backgroundColor,fontSize:ddf.userState.fontSize+"pt"}),$("#window_chatFont").hide()}); + },{"../.option.spectrum.json":17}],32:[function(require,module,exports){ (function (Buffer){ - -sp_param = require("../.option.spectrum.json"); -sp_param.change = (c) => { - $("#chatPalette_color").val(c.toHex()); - - id = $("#chatPalette_tabs .active").attr("id"); - ddf.userState.chatPalette[ddf.base_url+ddf.userState.room][id].color = parseInt("0x"+c.toHex()); - - ddf.cmd.saveUserState(); -}; -$("#chatPalette_color2").spectrum(sp_param); - -$("#chatPalette_edit").on('click', (e) => { - if($("#chatPalette_edit").text() == "編集"){ - - $("#chatPalette_text").show(); - $("#chatPalette_main").hide(); - $("#chatPalette_edit").text("編集終了"); - }else{ - $("#chatPalette_main").html(`

${encode($("#chatPalette_text").val()).replace(/\n/g,"

")}

`); - - ddf.userState.chatPalette[ddf.base_url+ddf.userState.room][$("#chatPalette_tabs .active").attr("id")].text = $("#chatPalette_text").val(); - - ddf.cmd.saveUserState(); - - $("#chatPalette_text").hide(); - $("#chatPalette_main").show(); - $("#chatPalette_edit").text("編集"); - } -}); - -$(document).on('click', '#chatPalette_main p', (e) => { - $("#chatPalette_chattext").val(parseParams($(e.target).text(), $("#chatPalette_senderName").val(), $("#chatPalette_text").val())); -}); - -function parseParams(msg, name, palette){ - list = {}; - reg = /(\/\/|//)\s*([^==\s]*)\s*(=|=)\s*([^\n\s]*)\s*/g; - while(v = reg.exec(palette)){ - list[v[2]] = v[4]; - } - - for(item in ddf.characters){ - if(ddf.characters[item].data.name == name){ - for(item2 of ddf.roomState.roundTimeData.counterNames){ - if(item2[0] != "*"){ - list[item2] = ((imageId, counterName) => { - return (v) => { - return ddf.characters[imageId].data.counters[counterName]; - }; - })(item, item2); - } - } - break; - } - } - - depth = 0; - while(/{[^}]+}/.test(msg) && depth++ < 10){ - msg = msg.replace(/{([^}]+)}/g, (original, match) => { - if(list[match] == null){ - return original; - }else if(list[match] instanceof Function){ - return list[match](); - }else{ - return list[match]; - } - }); - } - return msg; -} - -$("#chatPalette_save").on('click', (e) => { - tab = []; - for(item in ddf.userState.chatPalette[ddf.base_url+ddf.userState.room]){ - palette = ddf.userState.chatPalette[ddf.base_url+ddf.userState.room][item]; - palette && tab.push({ - lines: palette.text.split("\n"), - name: palette.name, - tabName: palette.tabName, - color: palette.color - }); - } - data = JSON.stringify({ - saveData: { - tabInfos: tab - }, - saveDataTypeName: "ChatPalette2" - }); - let buffer = new Buffer(data); - let filename = `ChatPalette_${ddf.base_url+ddf.userState.room}.cpd`; - a = $(`.`); - $(document.body).append(a); - a[0].click(); - a.remove(); -}); - -$("#chatPalette_load").on('click', (e) => { - $("#window_chatPalette_import").show().css("zIndex", 151); - $(".draggable:not(#window_chatPalette_import)").css("zIndex", 150); -}); - -$form = $("#chatPalette_import_droparea"); - -(($form) => { - $("#chatPalette_import_droparea ~ .overwrap").on('dragenter', () => { - $form.addClass('is-dragover'); - }); - - $form.on('drag dragstart dragend dragover dragenter dragleave drop', (e) => { - e.preventDefault(); - e.stopPropagation(); - }) - .on('dragover dragenter', () => { - $form.addClass('is-dragover'); - }) - .on('dragleave dragend drop', () => { - $form.removeClass('is-dragover'); - }) - .on('drop', (e) => { - droppedFiles = e.originalEvent.dataTransfer.files; - - chatPalette_import_uploadfiles(droppedFiles); - }); -})($form); - -$("#window_chatPalette_import :file").on('change', (e) => { - arr = []; - for(item of $("#window_chatPalette_import :file")[0].files){ - arr.push(item); - } - chatPalette_import_uploadfiles(arr); -}); - -function chatPalette_import_uploadfiles(droppedFiles){ - for(file of droppedFiles){ - new Promise((success, error)=>{ - let fr = new FileReader(); - - fr.onload = success; - - if(/^(plain\/text|appilication\/json|)$/.test(file.type)){ - fr.readAsText(file); - } - }).then((r) => { - console.log(r); - let data = JSON.parse(r.target.result); - - if(data.saveDataTypeName == "ChatPalette2" && data.saveData){ - for(item of data.saveData.tabInfos){ - item.tabName == "" && (item.tabName = "id"+ddf.util.getUniqueId()); - ddf.userState.chatPalette[ddf.base_url+ddf.userState.room][item.tabName] = { - tabName: item.tabName, - text: item.lines.join("\n"), - name: item.name, - color: item.color - } - $("#chatPalette_tabs").append($(`

${/^id/.test(item.tabName)?$("#chatPalette_tabs p").length+1:item.tabName}

`)) - } - } - ddf.cmd.saveUserState(); - }); - } - $("#window_chatPalette_import").hide(); -} - - -$("#window_chatPalette_import .overwrap a").on('click', (e) => { - $("#window_chatPalette_import .overwrap :file").click(); - return false; -}); - -$("#chatPalette_import_close").on('click', (e) => { - $("#window_chatPalette_import").hide(); -}); - -$("#chatPalette_tabAdd").on('click', (e) => { - id = "id"+ddf.util.getUniqueId(); - item = { - tabName: id, - text: "", - name: "", - color: 0xFFFFFF - }; - ddf.userState.chatPalette[ddf.base_url+ddf.userState.room][id] = item; - - ddf.cmd.saveUserState(); - - $("#chatPalette_tabs").append($(`

${$("#chatPalette_tabs p").length+1}

`)); - $("#chatPalette_tabs p:last").click(); -}); - -$(document).on('click', "#chatPalette_tabs > p:not(.active)", (e) => { - $("#chatPalette_tabs .active").removeClass("active"); - $(e.target).addClass("active"); - - item = ddf.userState.chatPalette[ddf.base_url+ddf.userState.room][$(e.target).attr("id")]; - - color = new tinycolor("rgb("+[item.color / 65536 & 0xFF,item.color / 256 & 0xFF,item.color & 0xFF]+")").toHex(); - - $("#chatPalette_senderName").val(item.name); - $("#chatPalette_color").val(color); - $("#chatPalette_color2").spectrum('set', "#"+color); - $("#chatPalette_tabName").val(/^id/.test(item.tabName)?"":item.tabName); - $("#chatPalette_text").val(item.text); - $("#chatPalette_main").html(`

${item.text.replace(/\n/g,"

")}

`); - - $("#chatPalette_text").hide(); - $("#chatPalette_main").show(); - $("#chatPalette_edit").text("編集"); - -}); - -$("#chatPalette_senderName").on('change', (e) => { - id = $("#chatPalette_tabs .active").attr("id"); - ddf.userState.chatPalette[ddf.base_url+ddf.userState.room][id].name = $("#chatPalette_senderName").val(); - - ddf.cmd.saveUserState(); -}); -$("#chatPalette_tabName").on('change', (e) => { - id = $("#chatPalette_tabs .active").attr("id"); - tabName = $("#chatPalette_tabName").val(); - item = ddf.userState.chatPalette[ddf.base_url+ddf.userState.room][id]; - if(tabName != id && tabName != ""){ - item.tabName = tabName; - ddf.userState.chatPalette[ddf.base_url+ddf.userState.room][tabName] = item; - ddf.userState.chatPalette[ddf.base_url+ddf.userState.room][id] = null; - $("#chatPalette_tabs .active").attr("id", tabName); - $("#chatPalette_tabs .active").text(tabName); - }else if(tabName != id){ - item.tabName = "ib"+ddf.util.getUniqueId(); - ddf.userState.chatPalette[ddf.base_url+ddf.userState.room][tabName] = item; - ddf.userState.chatPalette[ddf.base_url+ddf.userState.room][id] = null; - $("#chatPalette_tabs .active").attr("id", tabName); - $("#chatPalette_tabs .active").text($("#chatPalette_tabs .active").prevAll().length+1); - } - - ddf.cmd.saveUserState(); -}); - -$("#chatPalette_tabEdit").on('click', (e) => { - id = $("#chatPalette_tabs .active").attr("id"); - ddf.userState.chatPalette[ddf.base_url+ddf.userState.room][id] = null; - - ddf.cmd.saveUserState(); - - $("#chatPalette_tabs .active").remove(); - $(`#chatPalette_tabs p:eq(0)`).click(); -}); - -$("#chatPalette_chattext").on('keydown', (e) => { - if(e.keyCode == 13){ - $("#chatPalette_send").click(); - return false; - } -}); - -$("#chatPalette_send").on('click', (e) => { - ddf.cmd.sendChatMessage( - ddf.userState.channel, - $("#chatPalette_senderName").val()==""?$("#chatname").val():$("#chatPalette_senderName").val(), - "", - $("#dicebot").val(), - $("#chatPalette_chattext").val(), - $("#chatPalette_color").val()=="ffffff"?ddf.userState.chatColor:$("#chatPalette_color").val() - ); - $("#chatPalette_chattext").val(""); -}) +function parseParams(t,e,a){for(list={},reg=/(\/\/|//)\s*([^==\s]*)\s*(=|=)\s*([^\n\s]*)\s*/g;v=reg.exec(a);)list[v[2]]=v[4];for(item in ddf.characters)if(ddf.characters[item].data.name==e){for(item2 of ddf.roomState.roundTimeData.counterNames)"*"!=item2[0]&&(list[item2]=((t,e)=>a=>ddf.characters[t].data.counters[e])(item,item2));break}for(depth=0;/{[^}]+}/.test(t)&&depth++<10;)t=t.replace(/{([^}]+)}/g,(t,e)=>null==list[e]?t:list[e]instanceof Function?list[e]():list[e]);return t}function chatPalette_import_uploadfiles(t){for(file of t)new Promise((t,e)=>{let a=new FileReader;a.onload=t,/^(plain\/text|appilication\/json|)$/.test(file.type)&&a.readAsText(file)}).then(t=>{console.log(t);let e=JSON.parse(t.target.result);if("ChatPalette2"==e.saveDataTypeName&&e.saveData)for(item of e.saveData.tabInfos)""==item.tabName&&(item.tabName="id"+ddf.util.getUniqueId()),ddf.userState.chatPalette[ddf.base_url+ddf.userState.room][item.tabName]={tabName:item.tabName,text:item.lines.join("\n"),name:item.name,color:item.color},$("#chatPalette_tabs").append($(`

${/^id/.test(item.tabName)?$("#chatPalette_tabs p").length+1:item.tabName}

`));ddf.cmd.saveUserState()});$("#window_chatPalette_import").hide()}sp_param=require("../.option.spectrum.json"),sp_param.change=(t=>{$("#chatPalette_color").val(t.toHex()),id=$("#chatPalette_tabs .active").attr("id"),ddf.userState.chatPalette[ddf.base_url+ddf.userState.room][id].color=parseInt("0x"+t.toHex()),ddf.cmd.saveUserState()}),$("#chatPalette_color2").spectrum(sp_param),$("#chatPalette_edit").on("click",t=>{"編集"==$("#chatPalette_edit").text()?($("#chatPalette_text").show(),$("#chatPalette_main").hide(),$("#chatPalette_edit").text("編集終了")):($("#chatPalette_main").html(`

${encode($("#chatPalette_text").val()).replace(/\n/g,"

")}

`),ddf.userState.chatPalette[ddf.base_url+ddf.userState.room][$("#chatPalette_tabs .active").attr("id")].text=$("#chatPalette_text").val(),ddf.cmd.saveUserState(),$("#chatPalette_text").hide(),$("#chatPalette_main").show(),$("#chatPalette_edit").text("編集"))}),$(document).on("click","#chatPalette_main p",t=>{$("#chatPalette_chattext").val(parseParams($(t.target).text(),$("#chatPalette_senderName").val(),$("#chatPalette_text").val()))}),$("#chatPalette_save").on("click",t=>{tab=[];for(item in ddf.userState.chatPalette[ddf.base_url+ddf.userState.room])palette=ddf.userState.chatPalette[ddf.base_url+ddf.userState.room][item],palette&&tab.push({lines:palette.text.split("\n"),name:palette.name,tabName:palette.tabName,color:palette.color});data=JSON.stringify({saveData:{tabInfos:tab},saveDataTypeName:"ChatPalette2"});let e=new Buffer(data),d=`ChatPalette_${ddf.base_url+ddf.userState.room}.cpd`;a=$(`.`),$(document.body).append(a),a[0].click(),a.remove()}),$("#chatPalette_load").on("click",t=>{$("#window_chatPalette_import").show().css("zIndex",151),$(".draggable:not(#window_chatPalette_import)").css("zIndex",150)});let $form=$("#chatPalette_import_droparea");(t=>{$("#chatPalette_import_droparea ~ .overwrap").on("dragenter",()=>{t.addClass("is-dragover")}),t.on("drag dragstart dragend dragover dragenter dragleave drop",t=>{t.preventDefault(),t.stopPropagation()}).on("dragover dragenter",()=>{t.addClass("is-dragover")}).on("dragleave dragend drop",()=>{t.removeClass("is-dragover")}).on("drop",t=>{droppedFiles=t.originalEvent.dataTransfer.files,chatPalette_import_uploadfiles(droppedFiles)})})($form),$("#window_chatPalette_import :file").on("change",t=>{arr=[];for(item of $("#window_chatPalette_import :file")[0].files)arr.push(item);chatPalette_import_uploadfiles(arr)}),$("#window_chatPalette_import .overwrap a").on("click",t=>($("#window_chatPalette_import .overwrap :file").click(),!1)),$("#chatPalette_import_close").on("click",t=>{$("#window_chatPalette_import").hide()}),$("#chatPalette_tabAdd").on("click",t=>{id="id"+ddf.util.getUniqueId(),item={tabName:id,text:"",name:"",color:16777215},ddf.userState.chatPalette[ddf.base_url+ddf.userState.room][id]=item,ddf.cmd.saveUserState(),$("#chatPalette_tabs").append($(`

${$("#chatPalette_tabs p").length+1}

`)),$("#chatPalette_tabs p:last").click()}),$(document).on("click","#chatPalette_tabs > p:not(.active)",t=>{$("#chatPalette_tabs .active").removeClass("active"),$(t.target).addClass("active"),item=ddf.userState.chatPalette[ddf.base_url+ddf.userState.room][$(t.target).attr("id")],color=new tinycolor("rgb("+[item.color/65536&255,item.color/256&255,255&item.color]+")").toHex(),$("#chatPalette_senderName").val(item.name),$("#chatPalette_color").val(color),$("#chatPalette_color2").spectrum("set","#"+color),$("#chatPalette_tabName").val(/^id/.test(item.tabName)?"":item.tabName),$("#chatPalette_text").val(item.text),$("#chatPalette_main").html(`

${item.text.replace(/\n/g,"

")}

`),$("#chatPalette_text").hide(),$("#chatPalette_main").show(),$("#chatPalette_edit").text("編集")}),$("#chatPalette_senderName").on("change",t=>{id=$("#chatPalette_tabs .active").attr("id"),ddf.userState.chatPalette[ddf.base_url+ddf.userState.room][id].name=$("#chatPalette_senderName").val(),ddf.cmd.saveUserState()}),$("#chatPalette_tabName").on("change",t=>{id=$("#chatPalette_tabs .active").attr("id"),tabName=$("#chatPalette_tabName").val(),item=ddf.userState.chatPalette[ddf.base_url+ddf.userState.room][id],tabName!=id&&""!=tabName?(item.tabName=tabName,ddf.userState.chatPalette[ddf.base_url+ddf.userState.room][tabName]=item,ddf.userState.chatPalette[ddf.base_url+ddf.userState.room][id]=null,$("#chatPalette_tabs .active").attr("id",tabName),$("#chatPalette_tabs .active").text(tabName)):tabName!=id&&(item.tabName="ib"+ddf.util.getUniqueId(),ddf.userState.chatPalette[ddf.base_url+ddf.userState.room][tabName]=item,ddf.userState.chatPalette[ddf.base_url+ddf.userState.room][id]=null,$("#chatPalette_tabs .active").attr("id",tabName),$("#chatPalette_tabs .active").text($("#chatPalette_tabs .active").prevAll().length+1)),ddf.cmd.saveUserState()}),$("#chatPalette_tabEdit").on("click",t=>{id=$("#chatPalette_tabs .active").attr("id"),ddf.userState.chatPalette[ddf.base_url+ddf.userState.room][id]=null,ddf.cmd.saveUserState(),$("#chatPalette_tabs .active").remove(),$("#chatPalette_tabs p:eq(0)").click()}),$("#chatPalette_chattext").on("keydown",t=>{if(13==t.keyCode)return $("#chatPalette_send").click(),!1}),$("#chatPalette_send").on("click",t=>{ddf.cmd.sendChatMessage(ddf.userState.channel,""==$("#chatPalette_senderName").val()?$("#chatname").val():$("#chatPalette_senderName").val(),"",$("#dicebot").val(),$("#chatPalette_chattext").val(),"ffffff"==$("#chatPalette_color").val()?ddf.userState.chatColor:$("#chatPalette_color").val()),$("#chatPalette_chattext").val("")}); + }).call(this,require("buffer").Buffer) },{"../.option.spectrum.json":17,"buffer":2}],33:[function(require,module,exports){ -$("#btn_graveyard, #btn_graveyard2").on("click", (e) => { - getGraveyardCharacterData(); - $("#window_graveyard").show().css("zIndex", 151); - $(".draggable:not(#window_graveyard)").css("zIndex", 150); -}); - -$("#graveyard_close, #graveyard_close2").on("click", (e) => { - $("#window_graveyard").hide(); -}); -$("#graveyard_resurrect").on("click", (e) => { - ddf.resurrectCharacter($("#graveyard_characters").val()); - $("#graveyard_characters")[0].remove($("#graveyard_characters")[0].selectedIndex); -}); -$("#graveyard_clear").on("click", (e) => { - ddf.clearGraveyard().then((r) => { - getGraveyardCharacterData(); - }); -}); -$("#graveyard_reload").on("click", (e) => { - getGraveyardCharacterData(); -}); - - -function getGraveyardCharacterData(){ - return ddf.getGraveyardCharacterData().then((r) => { - $("#graveyard_characters").empty(); - - for(item of r){ - type = item.type; - name = item.name; - switch(item.type){ - case "mapMask": - type = "マップマスク"; - break; - case "characterData": - type = "キャラクター"; - break; - case "magicRangeMarker": - type = "魔法範囲"; - break; - case "LogHorizonRange": - type = "ログホライズン攻撃範囲"; - break; - case "MetalicGuardianDamageRange": - type = "メタリックガーディアン攻撃範囲"; - break; - case "MagicTimer": - type = "魔法タイマー"; - break; - case "chit": - name = "" - type = "チット"; - break; - case "Memo": - type = "共有メモ"; - name = item.message.split("\r")[0]; - break; - case "diceSymbol": - type = "ダイスシンボル"; - name = `[${item.ownerName}]のダイス`; - break; - case "magicRangeMarkerDD4th": - type = "魔法範囲D&D4版"; - break; - } - $("#graveyard_characters").append($(``)); - } - }); -} +function getGraveyardCharacterData(){return ddf.getGraveyardCharacterData().then(a=>{$("#graveyard_characters").empty();for(item of a){switch(type=item.type,name=item.name,item.type){case"mapMask":type="マップマスク";break;case"characterData":type="キャラクター";break;case"magicRangeMarker":type="魔法範囲";break;case"LogHorizonRange":type="ログホライズン攻撃範囲";break;case"MetalicGuardianDamageRange":type="メタリックガーディアン攻撃範囲";break;case"MagicTimer":type="魔法タイマー";break;case"chit":name="",type="チット";break;case"Memo":type="共有メモ",name=item.message.split("\r")[0];break;case"diceSymbol":type="ダイスシンボル",name=`[${item.ownerName}]のダイス`;break;case"magicRangeMarkerDD4th":type="魔法範囲D&D4版"}$("#graveyard_characters").append($(``))}})}$("#btn_graveyard, #btn_graveyard2").on("click",a=>{getGraveyardCharacterData(),$("#window_graveyard").show().css("zIndex",151),$(".draggable:not(#window_graveyard)").css("zIndex",150)}),$("#graveyard_close, #graveyard_close2").on("click",a=>{$("#window_graveyard").hide()}),$("#graveyard_resurrect").on("click",a=>{ddf.resurrectCharacter($("#graveyard_characters").val()),$("#graveyard_characters")[0].remove($("#graveyard_characters")[0].selectedIndex)}),$("#graveyard_clear").on("click",a=>{ddf.clearGraveyard().then(a=>{getGraveyardCharacterData()})}),$("#graveyard_reload").on("click",a=>{getGraveyardCharacterData()}); + },{}],34:[function(require,module,exports){ - -$("#btn_help").on('click', (e) => { - dicebot = ddf.info.diceBotInfos.find((item) => {return item.gameType == $("#dicebot").val()}); - baseDicebot = ddf.info.diceBotInfos.find((item) => {return item.gameType == "BaseDiceBot"}); - $("#help_text").text(`${baseDicebot.info}\n==【${dicebot.name}専用】=======================\n${dicebot.info}`); - $("#window_help").show().css("zIndex", 151); - $(".draggable:not(#window_help)").css("zIndex", 150); -}); - -$("#help_close").on('click', (e) => { - $("#window_help").hide(); -}); +$("#btn_help").on("click",e=>{dicebot=ddf.info.diceBotInfos.find(e=>e.gameType==$("#dicebot").val()),baseDicebot=ddf.info.diceBotInfos.find(e=>"BaseDiceBot"==e.gameType),$("#help_text").text(`${baseDicebot.info}\n==【${dicebot.name}専用】=======================\n${dicebot.info}`),$("#window_help").show().css("zIndex",151),$(".draggable:not(#window_help)").css("zIndex",150)}),$("#help_close").on("click",e=>{$("#window_help").hide()}); + },{}],35:[function(require,module,exports){ -$("#btn_imagedelete").on('click', (e) => { - $("#window_imageDelete").show().css("zIndex", 151); - $(".draggable:not(#window_imageDelete)").css("zIndex", 150); - - ddf.getImageTagsAndImageList().then((r) => { - tagList = ["(全て)"]; - ddf.images = r; - for(item of ddf.images.imageList){ - if(ddf.images.tagInfos[item]){ - for(tag of ddf.images.tagInfos[item].tags){ - if(tag == ""){continue;} - tagList.includes(tag) || tagList.push(tag); - } - } - } - - $("#imageDelete_tagbox").empty(); - for(item of tagList){ - $("#imageDelete_tagbox").append($(``)); - } - imageDelete_setTag(tagList[0]); - }); -}); - -$("#imageDelete_tagbox").on('change', (e) => { - imageDelete_setTag($("#imageDelete_tagbox").val()); -}); - -$("#imageDelete_close, #imageDelete_close2").on('click', (e) => { - $("#window_imageDelete").hide(); - $("#imageDelete_password").val(""); -}); - -function imageDelete_setTag(tag){ - $("#imageDelete_imagearea").empty(); - let password = $("#imageDelete_password").val(); - for(item of ddf.images.imageList){ - if(ddf.images.tagInfos[item]){ - if((tag == "(全て)" || ddf.images.tagInfos[item].tags.includes(tag)) && (ddf.images.tagInfos[item].password == "" || ddf.images.tagInfos[item].password == password)){ - $("#imageDelete_imagearea").append($(`
`)); - } - }else if(tag == "(全て)"){ - $("#imageDelete_imagearea").append($(`
`)); - } - } -} - -$("#imageDelete_btnpassword").on('click', (e) => { - $("#imageDelete_btnpassword").hide(); - $("#imageDelete_password").show().focus(); -}); - -$("#imageDelete_password").on('focusout', (e) => { - $("#imageDelete_btnpassword").show(); - $("#imageDelete_password").hide(); - imageDelete_setTag($("#imageDelete_tagbox").val()); -}).on('keydown', (e) => { - if(e.keyCode == 13){ - $("#imageDelete_password").blur(); - } -}); - -$("button#imageDelete_delete").on('click', (e) => { - imageList = []; - for(obj of $("#imageDelete_imagearea :checked")){ - imageList.push(obj.value); - ddf.images.imageList.splice(ddf.images.imageList.indexOf(obj.value), 1); - } - ddf.deleteImage(imageList).then((r) => { - imageDelete_setTag($("#imageDelete_tagbox").val()); - $("#imageDelete_result").text(r.resultText); - }); -}); +function imageDelete_setTag(e){$("#imageDelete_imagearea").empty();let a=$("#imageDelete_password").val();for(item of ddf.images.imageList)ddf.images.tagInfos[item]?"(全て)"!=e&&!ddf.images.tagInfos[item].tags.includes(e)||""!=ddf.images.tagInfos[item].password&&ddf.images.tagInfos[item].password!=a||$("#imageDelete_imagearea").append($(`
`)):"(全て)"==e&&$("#imageDelete_imagearea").append($(`
`))}$("#btn_imagedelete").on("click",e=>{$("#window_imageDelete").show().css("zIndex",151),$(".draggable:not(#window_imageDelete)").css("zIndex",150),ddf.getImageTagsAndImageList().then(e=>{tagList=["(全て)"],ddf.images=e;for(item of ddf.images.imageList)if(ddf.images.tagInfos[item])for(tag of ddf.images.tagInfos[item].tags)""!=tag&&(tagList.includes(tag)||tagList.push(tag));$("#imageDelete_tagbox").empty();for(item of tagList)$("#imageDelete_tagbox").append($(``));imageDelete_setTag(tagList[0])})}),$("#imageDelete_tagbox").on("change",e=>{imageDelete_setTag($("#imageDelete_tagbox").val())}),$("#imageDelete_close, #imageDelete_close2").on("click",e=>{$("#window_imageDelete").hide(),$("#imageDelete_password").val("")}),$("#imageDelete_btnpassword").on("click",e=>{$("#imageDelete_btnpassword").hide(),$("#imageDelete_password").show().focus()}),$("#imageDelete_password").on("focusout",e=>{$("#imageDelete_btnpassword").show(),$("#imageDelete_password").hide(),imageDelete_setTag($("#imageDelete_tagbox").val())}).on("keydown",e=>{13==e.keyCode&&$("#imageDelete_password").blur()}),$("button#imageDelete_delete").on("click",e=>{imageList=[];for(obj of $("#imageDelete_imagearea :checked"))imageList.push(obj.value),ddf.images.imageList.splice(ddf.images.imageList.indexOf(obj.value),1);ddf.deleteImage(imageList).then(e=>{imageDelete_setTag($("#imageDelete_tagbox").val()),$("#imageDelete_result").text(e.resultText)})}); + },{}],36:[function(require,module,exports){ - -$("#initiative_next").on('click', (e) => { - list = ddf.util.hashSort(ddf.roomState.ini_characters, (obj) => {return obj.data.initiative}, true); - if(ddf.roomState.roundTimeData.initiative == list[0]){ - return ddf.changeRoundTime(ddf.roomState.roundTimeData.round + 1, list[list.length - 1], ddf.roomState.roundTimeData.counterNames); - }else{ - return ddf.changeRoundTime(ddf.roomState.roundTimeData.round, list[list.indexOf(ddf.roomState.roundTimeData.initiative) - 1], ddf.roomState.roundTimeData.counterNames); - } -}); - -$("#initiative_prev").on('click', (e) => { - list = ddf.util.hashSort(ddf.roomState.ini_characters, (obj) => {return obj.data.initiative}, true); - if(ddf.roomState.roundTimeData.initiative == list[list.length - 1]){ - return ddf.changeRoundTime(ddf.roomState.roundTimeData.round - 1, list[0], ddf.roomState.roundTimeData.counterNames); - }else{ - return ddf.changeRoundTime(ddf.roomState.roundTimeData.round, list[list.lastIndexOf(ddf.roomState.roundTimeData.initiative) + 1], ddf.roomState.roundTimeData.counterNames); - } -}); - - -$("#initiative_reset").on('click', (e) => { - list = ddf.util.hashSort(ddf.roomState.ini_characters, (obj) => {return obj.data.initiative}, true); - return ddf.changeRoundTime(1, list[0], ddf.roomState.roundTimeData.counterNames); -}); - -$("#initiative_change").on('click', (e) => { - - $("#window_initiativeEdit").show().css("zIndex", 151); - $(".draggable:not(#window_initiativeEdit)").css("zIndex", 150); -}); - -ddf.cmd.initiative_sort = initiative_sort; -function initiative_sort(force = false){ - ddf.cmd.refresh_parseRoundTimeData({roundTimeData: ddf.roomState.roundTimeData}, force); -} - -$(document).on('change', "#initiative table tr input", (e) => { - imgId = $(e.target).parent().parent().attr("id"); - character = ddf.characters[imgId]; - obj = $(e.target); - switch(obj.attr("type")){ - case "number": - !isFinite(num = parseInt($(e.target).val())) && (num = 0); - obj.val(num); - switch(obj.attr("class")){ - case "initiative": - character.data.initiative = character.data.initiative % 1 + num; - break; - case "initiative2": - character.data.initiative = (character.data.initiative | 0) + num / 100 - break; - default: - key = ddf.roomState.roundTimeData.counterNames[parseInt(/^v(\d+)$/.exec(obj.attr("class"))[1])]; - character.data.counters[key] = num; - } - break; - case "checkbox": - key = ddf.roomState.roundTimeData.counterNames[parseInt(/^v(\d+)$/.exec(obj.attr("class"))[1])]; - character.data.counters[key] = obj.prop("checked"); - break; - default: - character.data.info = $(e.target).val(); - } - initiative_sort(); - ddf.changeCharacter(character.data); -}); +function initiative_sort(t=!1){ddf.cmd.refresh_parseRoundTimeData({roundTimeData:ddf.roomState.roundTimeData},t)}$("#initiative_next").on("click",t=>(list=ddf.util.hashSort(ddf.roomState.ini_characters,t=>t.data.initiative,!0),ddf.roomState.roundTimeData.initiative<=list[0]?ddf.changeRoundTime(ddf.roomState.roundTimeData.round+1,list[list.length-1],ddf.roomState.roundTimeData.counterNames):ddf.changeRoundTime(ddf.roomState.roundTimeData.round,list[list.findIndex(t=>t>=ddf.roomState.roundTimeData.initiative)-1],ddf.roomState.roundTimeData.counterNames))),$("#initiative_prev").on("click",t=>(list=ddf.util.hashSort(ddf.roomState.ini_characters,t=>t.data.initiative,!0),ddf.roomState.roundTimeData.initiative>=list[list.length-1]?ddf.changeRoundTime(ddf.roomState.roundTimeData.round-1,list[0],ddf.roomState.roundTimeData.counterNames):ddf.changeRoundTime(ddf.roomState.roundTimeData.round,list.find(t=>t>ddf.roomState.roundTimeData.initiative),ddf.roomState.roundTimeData.counterNames))),$("#initiative_reset").on("click",t=>(list=ddf.util.hashSort(ddf.roomState.ini_characters,t=>t.data.initiative,!0),list.length>0?ddf.changeRoundTime(1,list[0],ddf.roomState.roundTimeData.counterNames):ddf.changeRoundTime(1,0,ddf.roomState.roundTimeData.counterNames))),$("#initiative_change").on("click",t=>{$("#initiative_edit_value").val(ddf.roomState.roundTimeData.counterNames.join(" ")),$("#window_initiative_edit").show().css("zIndex",151),$(".draggable:not(#window_initiative_edit)").css("zIndex",150)}),ddf.cmd.initiative_sort=initiative_sort,$(document).on("change","#initiative table tr input",t=>{switch(imgId=$(t.target).parent().parent().attr("id"),character=ddf.characters[imgId],obj=$(t.target),obj.attr("type")){case"number":switch(!isFinite(num=parseInt($(t.target).val()))&&(num=0),obj.val(num),obj.attr("class")){case"initiative":character.data.initiative=character.data.initiative%1+num;break;case"initiative2":character.data.initiative=(0|character.data.initiative)+num/100;break;default:key=ddf.roomState.roundTimeData.counterNames[parseInt(/^v(\d+)$/.exec(obj.attr("class"))[1])],character.data.counters[key]=num}break;case"checkbox":key=ddf.roomState.roundTimeData.counterNames[parseInt(/^v(\d+)$/.exec(obj.attr("class"))[1])],character.data.counters[key]=obj.prop("checked");break;default:character.data.info=$(t.target).val()}initiative_sort(),ddf.changeCharacter(character.data)}),$("#initiative_edit_close, #initiative_edit_close2").on("click",t=>{$("#window_initiative_edit").hide()}),$("#initiative_edit_send").on("click",t=>{value=$("#initiative_edit_value").val(),value.replace("��","*"),ddf.changeRoundTime(ddf.roomState.roundTimeData.round,ddf.roomState.roundTimeData.initiative,value.split(" ")).then(t=>{$("#window_initiative_edit").hide()})}); + },{}],37:[function(require,module,exports){ -$("#loginCheck_close, #loginCheck_close2").on('click', (e) => { - $("#window_loginCheck").hide(); -}); - -ddf.cmd.loginCheck_show = loginCheck_show; -function loginCheck_show(roomNumber){ - room = ddf.roomInfos[roomNumber] - - $("#loginCheck_roomNumber").val(roomNumber); - $("#loginCheck_playRoomName").text(room.playRoomName); - if(room.canVisit){ - $("#loginCheck_canVisit").show(); - }else{ - $("#loginCheck_canVisit").hide(); - } - if(room.passwordLockState){ - $("#loginCheck_passwordLockState").show(); - }else{ - $("#loginCheck_passwordLockState").hide(); - } - $("[name=isVisit][value=0]").prop("checked"); - $("#loginCheck_password").val(""); - - $("#window_loginCheck").show().css("zIndex", 151); - $(".draggable:not(#window_loginCheck)").css("zIndex", 150); -} - -$("#loginCheck_send").on('click', (e) => { - roomNumber = parseInt($("#loginCheck_roomNumber").val()); - ddf.loginPassword(roomNumber, $("#loginCheck_password").val(), $("[name=isVisit]:checked").val()==1).then((r) => { - if(r.resultText == "OK"){ - ddf.cmd.checkRoomStatus(parseInt($("#loginCheck_roomNumber").val()),$("[name=isVisit]:checked").val()==1,$("#loginCheck_password").val()); - }else{ - alert("パスワードが違います。"); - } - }); -}); +function loadSaveData_import_uploadfiles(a){for(file of a)new Promise((a,e)=>{let o=new FileReader;o.onload=a,o.readAsArrayBuffer(file)}).then(a=>{console.log(a),console.log(file);let e=new Uint8Array(a.target.result);"allData"==$("#loadSaveData_import_target").val()?ddf.loadAllSaveData(file.name,e).then(a=>{$("#window_loadSaveData_import").hide()}):"all"==$("#loadSaveData_import_target").val()?ddf.load(file.name,e).then(a=>{$("#window_loadSaveData_import").hide()}):"mapData"==$("#loadSaveData_import_target").val()?ddf.load(file.name,e,["map","mapMask","mapMarker"]).then(a=>{$("#window_loadSaveData_import").hide()}):ddf.load(file.name,e,$("#loadSaveData_import_target").val().split(",")).then(a=>{$("#window_loadSaveData_import").hide()})});$("#window_loadSaveData_import").hide()}$("#btn_load").on("click",a=>{$('#window_loadSaveData [name="datatype"][value="all"]').prop("checked",!0),$('#window_loadSaveData [type="checkbox"]').prop("checked",!1).prop("disabled",!0),$("#window_loadSaveData").show().css("zIndex","151"),$(".draggable:not(#window_loadSaveData)").css("zIndex","150"),$("#window_loadSaveData_import").hide()}),$('#window_loadSaveData [name="datatype"]').on("click",a=>{"all"==$('#window_loadSaveData [name="datatype"]:checked').val()?$('#window_loadSaveData [type="checkbox"]').prop("disabled",!0):$('#window_loadSaveData [type="checkbox"]').prop("disabled",!1)}),$("#loadSaveData_close, #loadSaveData_close2").on("click",a=>{$("#window_loadSaveData").hide()}),$("#loadSaveData_import_close").on("click",a=>{$("#window_loadSaveData_import").hide()}),$("#loadSaveData_send").on("click",a=>{$("#window_loadSaveData").hide(),"all"==$('#window_loadSaveData [name="datatype"]:checked').val()?$("#loadSaveData_import_target").val("all"):$("#loadSaveData_import_target").val($('#window_loadSaveData [type="checkbox"]:checked').map((a,e)=>e.value).toArray().join()),$("#window_loadSaveData_import").show().css("zIndex","151"),$(".draggable:not(#window_loadSaveData_import)").css("zIndex","150")}),$("#btn_loadall").on("click",a=>{$("#loadSaveData_import_target").val("allData"),$("#window_loadSaveData_import").show().css("zIndex","151"),$(".draggable:not(#window_loadSaveData_import)").css("zIndex","150"),$("#window_loadSaveData").hide()}),$("#window_loadSaveData_import :file").on("change",a=>{arr=[];for(item of $("#window_loadSaveData_import :file")[0].files)arr.push(item);loadSaveData_import_uploadfiles(arr)});let $form=$("#loadSaveData_import_droparea");(a=>{$("#loadSaveData_import_droparea ~ .overwrap").on("dragenter",()=>{a.addClass("is-dragover")}),a.on("drag dragstart dragend dragover dragenter dragleave drop",a=>{a.preventDefault(),a.stopPropagation()}).on("dragover dragenter",()=>{a.addClass("is-dragover")}).on("dragleave dragend drop",()=>{a.removeClass("is-dragover")}).on("drop",a=>{droppedFiles=a.originalEvent.dataTransfer.files,"allData"==$("#loadSaveData_import_target").val()?/application\/x-gzip/.test(file.type)&&loadSaveData_import_uploadfiles(droppedFiles):"mapData"==$("#loadSaveData_import_target").val()?/\.msv$/.test(file.name)&&loadSaveData_import_uploadfiles(droppedFiles):/\.sav$/.test(file.name)&&loadSaveData_import_uploadfiles(droppedFiles)})})($form),$("#window_loadSaveData_import .overwrap a").on("click",a=>("allData"==$("#loadSaveData_import_target").val()?$("#window_loadSaveData_import .overwrap :file").attr("accept",".tar.gz"):"mapData"==$("#loadSaveData_import_target").val()?$("#window_loadSaveData_import .overwrap :file").attr("accept",".msv"):$("#window_loadSaveData_import .overwrap :file").attr("accept",".sav"),$("#window_loadSaveData_import .overwrap :file").click(),!1)),$("#btn_mapchange").on("click",a=>{$("#loadSaveData_import_target").val("mapData"),$("#window_loadSaveData_import").show().css("zIndex","151"),$(".draggable:not(#window_loadSaveData_import)").css("zIndex","150"),$("#window_loadSaveData").hide()}); + },{}],38:[function(require,module,exports){ -$("#btn_rangedd4").on("click", (e) => { - ddf.cmd.magicRangeDD4th_show(""); -}); - -$("#magicRangeDD4th_close, #magicRangeDD4th_close2").on('click', (e) => { - $("#window_magicRangeDD4th").hide(); -}); - -sp_param = require("../.option.spectrum.json"); -sp_param.change = (c) => { - $("#magicRangeDD4th_color").val(c.toHex()); -}; -$("#magicRangeDD4th_color2").spectrum(sp_param); - -ddf.cmd.magicRangeDD4th_show = magicRangeDD4th_show -function magicRangeDD4th_show(imgId, x = 0, y = 0){ - if(character = ddf.characters[imgId]){ - character = character.data; - $("#window_magicRangeDD4th .title").text("魔法範囲変更(D&D4版)"); - $("#magicRangeDD4th_send").text("変更"); - }else{ - index = 0; - reg = /^(\d+)$/; - for(item in ddf.characters){ - if(v = reg.exec(ddf.characters[item].data.name)){ - index = Math.max(index, parseInt(v[1])) - } - } - character = { - type: "magicRangeMarkerDD4th", - name: index + 1, - rangeType: "closeBurstDD4th", - feets: 15, - color: 0, - timeRange: 1, - info: "", - isHide: false, - size: 0, - x: x, - y: y, - counters: {}, - statusAlias: {}, - createRound: 1, - draggable: true, - imageName: "", - imgId: "0", - initiative: 1, - rotation: 0, - size: 0 - }; - $("#window_magicRangeDD4th .title").text("魔法範囲作成(D&D4版)"); - $("#magicRangeDD4th_send").text("追加"); - } - $("#magicRangeDD4th_imgId").val(character.imgId); - $("#magicRangeDD4th_name").val(character.name); - $("#magicRangeDD4th_rangeType").val(character.rangeType); - $("#magicRangeDD4th_feets").val(character.feets / 5); - color = new tinycolor("rgb("+[character.color / 65536 & 0xFF,character.color / 256 & 0xFF,character.color & 0xFF]+")").toHex(); - $("#magicRangeDD4th_color").val(color); - $("#magicRangeDD4th_color2").spectrum("set", "#"+color); - $("#magicRangeDD4th_timeRange").val(character.timeRange); - $("#magicRangeDD4th_info").val(character.info); - $("#magicRangeDD4th_isHide").prop("checked", !character.isHide); - - $("#window_magicRangeDD4th").show().css("zIndex", 151); - $(".draggable:not(#window_magicRangeDD4th)").css("zIndex", 150); -} - -$("#magicRangeDD4th_send").on('click', (e) => { - if(character = ddf.characters[$("#magicRangeDD4th_imgId").val()]){ - - character.data.name = $("#magicRangeDD4th_name").val(); - character.data.rangeType = $("#magicRangeDD4th_rangeType").val(); - character.data.feets = $("#magicRangeDD4th_feets").val() * 5; - character.data.color = parseInt("0x"+$("#magicRangeDD4th_color").val()); - character.data.timeRange = $("#magicRangeDD4th_timeRange").val(); - character.data.info = $("#magicRangeDD4th_info").val(); - character.data.isHide = !$("#magicRangeDD4th_isHide").prop("checked"); - - ddf.changeCharacter(character.data).then((r) => { - ddf.cmd.refresh_parseRecordData({record: [[0, "changeCharacter", [character.data], "dummy\t"]]}); - $("#window_magicRangeDD4th").hide(); - }); - }else{ - - character = { - type: "magicRangeMarkerDD4th", - /*name: index + 1, - rangeType: "closeBurstDD4th", - feets: 15, - color: 0, - timeRange: 1, - info: "", - isHide: false,*/ - size: 0, - x: 1, - y: 1, - counters: {}, - statusAlias: {}, - createRound: 1, - draggable: true, - imageName: "", - imgId: "0", - initiative: 1, - rotation: 0, - size: 0 - }; - character.name = $("#magicRangeDD4th_name").val(); - character.rangeType = $("#magicRangeDD4th_rangeType").val(); - character.feets = $("#magicRangeDD4th_feets").val() * 5; - character.color = parseInt("0x"+$("#magicRangeDD4th_color").val()); - character.timeRange = $("#magicRangeDD4th_timeRange").val(); - character.info = $("#magicRangeDD4th_info").val(); - character.isHide = !$("#magicRangeDD4th_isHide").prop("checked"); - - ddf.addCharacter(character).then((r) => { - $("#window_magicRangeDD4th").hide(); - ddf.cmd.initiative_sort(true); - }); - } -}); - -},{"../.option.spectrum.json":17}],39:[function(require,module,exports){ -$("#btn_rangelh").on("click", (e) => { - ddf.cmd.magicRangeLH_show("0"); -}); - -$("#magicRangeLH_close, #magicRangeLH_close2").on('click', (e) => { - $("#window_magicRangeLH").hide(); -}); - -sp_param = require("../.option.spectrum.json"); -sp_param.change = (c) => { - $("#magicRangeLH_color").val(c.toHex()); -}; -$("#magicRangeLH_color2").spectrum(sp_param); - -ddf.cmd.magicRangeLH_show = magicRangeLH_show; -function magicRangeLH_show(imgId, x = 0, y = 0){ - if(character = ddf.characters[imgId]){ - character = character.data; - $("#window_magicRangeLH .title").text("攻撃範囲変更"); - $("#magicRangeLH_send").text("変更"); - }else{ - index = 0; - reg = /^(\d+)$/; - for(item in ddf.characters){ - if(v = reg.exec(ddf.characters[item].data.name)){ - index = Math.max(index, parseInt(v[1])) - } - } - character = { - type: "LogHorizonRange", - name: index + 1, - range: 1, - color: 0, - size: 0, - x: x, - y: y, - draggable: true, - imageName: "", - imgId: "0", - rotation: 0, - size: 0 - }; - $("#window_magicRangeLH .title").text("攻撃範囲追加"); - $("#magicRangeLH_send").text("追加"); - } - $("#magicRangeLH_imgId").val(character.imgId); - $("#magicRangeLH_name").val(character.name); - $("#magicRangeLH_range").val(character.range); - color = new tinycolor("rgb("+[character.color / 65536 & 0xFF,character.color / 256 & 0xFF,character.color & 0xFF]+")").toHex(); - $("#magicRangeLH_color").val(color); - $("#magicRangeLH_color2").spectrum("set", "#"+color); - - $("#window_magicRangeLH").show().css("zIndex", 151); - $(".draggable:not(#window_magicRangeLH)").css("zIndex", 150); -} - -$("#magicRangeLH_send").on('click', (e) => { - if(character = ddf.characters[$("#magicRangeLH_imgId").val()]){ - - character.data.name = $("#magicRangeLH_name").val(); - character.data.range = $("#magicRangeLH_range").val(); - character.data.color = parseInt("0x"+$("#magicRangeLH_color").val()); - - ddf.changeCharacter(character.data).then((r) => { - ddf.cmd.refresh_parseRecordData({record: [[0, "changeCharacter", [character.data], "dummy\t"]]}); - $("#window_magicRangeLH").hide(); - }); - }else{ - - character = { - type: "LogHorizonRange", - size: 0, - x: 1, - y: 1, - draggable: true, - imageName: "", - imgId: "0", - rotation: 0, - size: 0 - }; - character.name = $("#magicRangeLH_name").val(); - character.range = $("#magicRangeLH_range").val(); - character.color = parseInt("0x"+$("#magicRangeLH_color").val()); - - ddf.addCharacter(character).then((r) => { - $("#window_magicRangeLH").hide(); - }); - } -}); +function loginCheck_show(o){room=ddf.roomInfos[o],$("#loginCheck_roomNumber").val(o),$("#loginCheck_playRoomName").text(room.playRoomName),room.canVisit?$("#loginCheck_canVisit").show():$("#loginCheck_canVisit").hide(),room.passwordLockState?$("#loginCheck_passwordLockState").show():$("#loginCheck_passwordLockState").hide(),$("[name=isVisit][value=0]").prop("checked"),$("#loginCheck_password").val(""),$("#window_loginCheck").show().css("zIndex",151),$(".draggable:not(#window_loginCheck)").css("zIndex",150)}$("#loginCheck_close, #loginCheck_close2").on("click",o=>{$("#window_loginCheck").hide()}),ddf.cmd.loginCheck_show=loginCheck_show,$("#loginCheck_send").on("click",o=>{roomNumber=parseInt($("#loginCheck_roomNumber").val()),ddf.loginPassword(roomNumber,$("#loginCheck_password").val(),1==$("[name=isVisit]:checked").val()).then(o=>{"OK"==o.resultText?ddf.cmd.checkRoomStatus(parseInt($("#loginCheck_roomNumber").val()),1==$("[name=isVisit]:checked").val(),$("#loginCheck_password").val()):alert("パスワードが違います。")})}); + +},{}],39:[function(require,module,exports){ +function magicRangeDD4th_show(a,e=0,c=0){if(character=ddf.characters[a])character=character.data,$("#window_magicRangeDD4th .title").text("魔法範囲変更(D&D4版)"),$("#magicRangeDD4th_send").text("変更");else{index=0,reg=/^(\d+)$/;for(item in ddf.characters)(v=reg.exec(ddf.characters[item].data.name))&&(index=Math.max(index,parseInt(v[1])));character={type:"magicRangeMarkerDD4th",name:index+1,rangeType:"closeBurstDD4th",feets:15,color:0,timeRange:1,info:"",isHide:!1,size:0,x:e,y:c,counters:{},statusAlias:{},createRound:1,draggable:!0,imageName:"",imgId:"0",initiative:1,rotation:0,size:0},$("#window_magicRangeDD4th .title").text("魔法範囲作成(D&D4版)"),$("#magicRangeDD4th_send").text("追加")}$("#magicRangeDD4th_imgId").val(character.imgId),$("#magicRangeDD4th_name").val(character.name),$("#magicRangeDD4th_rangeType").val(character.rangeType),$("#magicRangeDD4th_feets").val(character.feets/5),color=new tinycolor("rgb("+[character.color/65536&255,character.color/256&255,255&character.color]+")").toHex(),$("#magicRangeDD4th_color").val(color),$("#magicRangeDD4th_color2").spectrum("set","#"+color),$("#magicRangeDD4th_timeRange").val(character.timeRange),$("#magicRangeDD4th_info").val(character.info),$("#magicRangeDD4th_isHide").prop("checked",!character.isHide),$("#window_magicRangeDD4th").show().css("zIndex",151),$(".draggable:not(#window_magicRangeDD4th)").css("zIndex",150)}$("#btn_rangedd4").on("click",a=>{ddf.cmd.magicRangeDD4th_show("")}),$("#magicRangeDD4th_close, #magicRangeDD4th_close2").on("click",a=>{$("#window_magicRangeDD4th").hide()}),sp_param=require("../.option.spectrum.json"),sp_param.change=(a=>{$("#magicRangeDD4th_color").val(a.toHex())}),$("#magicRangeDD4th_color2").spectrum(sp_param),ddf.cmd.magicRangeDD4th_show=magicRangeDD4th_show,$("#magicRangeDD4th_send").on("click",a=>{(character=ddf.characters[$("#magicRangeDD4th_imgId").val()])?(character.data.name=$("#magicRangeDD4th_name").val(),character.data.rangeType=$("#magicRangeDD4th_rangeType").val(),character.data.feets=5*$("#magicRangeDD4th_feets").val(),character.data.color=parseInt("0x"+$("#magicRangeDD4th_color").val()),character.data.timeRange=$("#magicRangeDD4th_timeRange").val(),character.data.info=$("#magicRangeDD4th_info").val(),character.data.isHide=!$("#magicRangeDD4th_isHide").prop("checked"),ddf.changeCharacter(character.data).then(a=>{ddf.cmd.refresh_parseRecordData({record:[[0,"changeCharacter",[character.data],"dummy\t"]]}),$("#window_magicRangeDD4th").hide()})):(character={type:"magicRangeMarkerDD4th",size:0,x:1,y:1,counters:{},statusAlias:{},createRound:1,draggable:!0,imageName:"",imgId:"0",initiative:1,rotation:0,size:0},character.name=$("#magicRangeDD4th_name").val(),character.rangeType=$("#magicRangeDD4th_rangeType").val(),character.feets=5*$("#magicRangeDD4th_feets").val(),character.color=parseInt("0x"+$("#magicRangeDD4th_color").val()),character.timeRange=$("#magicRangeDD4th_timeRange").val(),character.info=$("#magicRangeDD4th_info").val(),character.isHide=!$("#magicRangeDD4th_isHide").prop("checked"),ddf.addCharacter(character).then(a=>{$("#window_magicRangeDD4th").hide(),ddf.cmd.initiative_sort(!0)}))}); },{"../.option.spectrum.json":17}],40:[function(require,module,exports){ -$("#btn_mapchange").on("click", (e) => { - mapChange_show(); -}); - -$("#window_mapChange input").on('change', mapChange_previewUpdate); -sp_param = require("../.option.spectrum.json"); -sp_param.change = (c) => { - $("#mapChange_color").val(c.toHex()); - mapChange_previewUpdate(); -}; -$("#mapChange_color2").spectrum(sp_param); - -function mapChange_show(){ - $("#window_mapChange").show().css("zIndex", 151); - $(".draggable:not(#window_mapChange)").css("zIndex", 150); - - color = new tinycolor("rgb("+[ddf.roomState.mapData.gridColor / 65536 & 0xFF,ddf.roomState.mapData.gridColor / 256 & 0xFF,ddf.roomState.mapData.gridColor & 0xFF]+")").toHex(); - $("#mapChange_width").val(ddf.roomState.mapData.xMax); - $("#mapChange_height").val(ddf.roomState.mapData.yMax); - $("#mapChange_isAlternately").prop("checked", ddf.roomState.mapData.isAlternately); - //ddf.roomState.mapData.mirrored - $("#mapChange_gridInterval").val(ddf.roomState.mapData.gridInterval); - $("#mapChange_color").val(color); - $("#mapChange_color2").spectrum("set", "#"+color); - switch(ddf.roomState.mapData.mapType){ - case "imageGraphic": - $("#mapChange_imageSource").val(ddf.roomState.mapData.imageSource); - if($("#mapChange_imageSource").val() == "image/whiteBack.png"){ - $("#mapChange_blank").prop("checked", true); - }else{ - $("#mapChange_blank").prop("checked", false); - } - $("#mapChange_mirrored").prop("checked", ddf.roomState.mapData.mirrored); - } - - mapChange_previewUpdate(); -} - -function mapChange_previewUpdate(){ - param = { - x: $("#mapChange_width").val(), - y: $("#mapChange_height").val(), - border: true, - alt: $("#mapChange_isAlternately").prop("checked"), - num: true, - size: $("#mapChange_gridInterval").val(), - color: "#"+$("#mapChange_color").val() - }; - zoom = Math.min(1, 7.26 / param.y,8 / param.x); - $("#mapChange_preview").css("transform", `scale(${zoom})`); - $("#mapChange_grid, #mapChange_map").css({width: param.x * 50, height: param.y * 50}); - $("#mapChange_grid").attr("data", "img/grid.svg?"+$.map(param, (v,k) => {return k+"="+v;}).join("&")); - $("#mapChange_map").attr("src", ddf.base_url + ($("#mapChange_blank").prop("checked")?"image/whiteBack.png":$("#mapChange_imageSource").val())); - if($("#mapChange_mirrored").prop("checked")){ - $("#mapChange_map").addClass("mirrored"); - }else{ - $("#mapChange_map").removeClass("mirrored"); - } -} - -$("#mapChange_close, #mapChange_close2").on("click", (e) => { - $("#mapChange_image").show(); - $("#mapChange_imageSelect").hide(); - $("#window_mapChange").hide(); -}); - -$("#mapChange_imageChange").on('click', (e) => { - $("#mapChange_image").hide(); - $("#mapChange_imageSelect").show(); - - - ddf.getImageTagsAndImageList().then((r) => { - tagList = ["(全て)"]; - ddf.images = r; - for(item of ddf.images.imageList){ - if(ddf.images.tagInfos[item]){ - for(tag of ddf.images.tagInfos[item].tags){ - if(tag == ""){continue;} - tagList.includes(tag) || tagList.push(tag); - } - } - } - - $("#mapChange_tagbox").empty(); - for(item of tagList){ - $("#mapChange_tagbox").append($(``)); - } - mapChange_setTag(tagList[0]); - }); -}); - -$("#mapChange_tagbox").on('change', (e) => { - mapChange_setTag($("#mapChange_tagbox").val()); -}); - -function mapChange_setTag(tag){ - $("#mapChange_imagearea").empty(); - let password = $("#mapChange_password").val(); - for(item of ddf.images.imageList){ - if(ddf.images.tagInfos[item]){ - if((tag == "(全て)" || ddf.images.tagInfos[item].tags.includes(tag)) && (ddf.images.tagInfos[item].password == "" || ddf.images.tagInfos[item].password == password)){ - $("#mapChange_imagearea").append($(`
`)); - } - }else if(tag == "(全て)"){ - $("#mapChange_imagearea").append($(`
`)); - } - } -} -$(document).on('click', '#mapChange_imagearea div img', (e) => { - let img = $(e.currentTarget).attr("src"); - $("#mapChange_imageSource").val(img.replace(ddf.base_url, "")); - $("#mapChange_blank").prop("checked", false); - $("#mapChange_mirrored").prop("checked", $("#mapChange_mirrored2").prop("checked")); - mapChange_previewUpdate(); -}); - -$("#mapChange_btnpassword").on('click', (e) => { - $("#mapChange_btnpassword").hide(); - $("#mapChange_password").show().focus(); -}); - -$("#mapChange_password").on('focusout', (e) => { - $("#mapChange_btnpassword").show(); - $("#mapChange_password").hide(); - imageDelete_setTag($("#mapChange_tagbox").val()); -}).on('keydown', (e) => { - if(e.keyCode == 13){ - $("#mapChange_password").blur(); - } -}); - -$("#mapChange_send").on('click', (e) => { - ddf.changeMap( - "imageGraphic", - $("#mapChange_blank").prop("checked")?"image/whiteBack.png":$("#mapChange_imageSource").val(), - $("#mapChange_width").val(), - $("#mapChange_height").val(), - $("#mapChange_gridInterval").val(), - $("#mapChange_isAlternately").prop("checked"), - $("#mapChange_mirrored").prop("checked"), - parseInt("0x"+$("#mapChange_color").val()), - ddf.roomState.mapData.mapMarksAlpha, - ddf.roomState.mapData.mapMarks).then((r) => { - $("#mapChange_image").show(); - $("#mapChange_imageSelect").hide(); - $("#window_mapChange").hide(); - }); -}); +function magicRangeLH_show(a,e=0,c=0){if(character=ddf.characters[a])character=character.data,$("#window_magicRangeLH .title").text("攻撃範囲変更"),$("#magicRangeLH_send").text("変更");else{index=0,reg=/^(\d+)$/;for(item in ddf.characters)(v=reg.exec(ddf.characters[item].data.name))&&(index=Math.max(index,parseInt(v[1])));character={type:"LogHorizonRange",name:index+1,range:1,color:0,size:0,x:e,y:c,draggable:!0,imageName:"",imgId:"0",rotation:0,size:0},$("#window_magicRangeLH .title").text("攻撃範囲追加"),$("#magicRangeLH_send").text("追加")}$("#magicRangeLH_imgId").val(character.imgId),$("#magicRangeLH_name").val(character.name),$("#magicRangeLH_range").val(character.range),color=new tinycolor("rgb("+[character.color/65536&255,character.color/256&255,255&character.color]+")").toHex(),$("#magicRangeLH_color").val(color),$("#magicRangeLH_color2").spectrum("set","#"+color),$("#window_magicRangeLH").show().css("zIndex",151),$(".draggable:not(#window_magicRangeLH)").css("zIndex",150)}$("#btn_rangelh").on("click",a=>{ddf.cmd.magicRangeLH_show("0")}),$("#magicRangeLH_close, #magicRangeLH_close2").on("click",a=>{$("#window_magicRangeLH").hide()}),sp_param=require("../.option.spectrum.json"),sp_param.change=(a=>{$("#magicRangeLH_color").val(a.toHex())}),$("#magicRangeLH_color2").spectrum(sp_param),ddf.cmd.magicRangeLH_show=magicRangeLH_show,$("#magicRangeLH_send").on("click",a=>{(character=ddf.characters[$("#magicRangeLH_imgId").val()])?(character.data.name=$("#magicRangeLH_name").val(),character.data.range=$("#magicRangeLH_range").val(),character.data.color=parseInt("0x"+$("#magicRangeLH_color").val()),ddf.changeCharacter(character.data).then(a=>{ddf.cmd.refresh_parseRecordData({record:[[0,"changeCharacter",[character.data],"dummy\t"]]}),$("#window_magicRangeLH").hide()})):(character={type:"LogHorizonRange",size:0,x:1,y:1,draggable:!0,imageName:"",imgId:"0",rotation:0,size:0},character.name=$("#magicRangeLH_name").val(),character.range=$("#magicRangeLH_range").val(),character.color=parseInt("0x"+$("#magicRangeLH_color").val()),ddf.addCharacter(character).then(a=>{$("#window_magicRangeLH").hide()}))}); + },{"../.option.spectrum.json":17}],41:[function(require,module,exports){ -$("#btn_mapmask").on("click", (e) => { - ddf.mapMask_show(""); -}); - -$("#window_mapMask .slider").slider({min: 0,max: 1, step:0.05, stop: (e, ui) => { - $("#mapMask_alpha").val(ui.value); - mapMask_previewUpdate(); - } -}); - -$("#window_mapMask input").on('change', mapMask_previewUpdate); -sp_param = require("../.option.spectrum.json"); -sp_param.change = (c) => { - $("#mapMask_color").val(c.toHex()); - mapMask_previewUpdate(); -}; -$("#mapMask_color2").spectrum(sp_param); - -ddf.mapMask_show = (imageId) => { - $("#window_mapMask").show().css("zIndex", 151); - $(".draggable:not(#window_mapMask)").css("zIndex", 150); - - var character; - if(ddf.characters[imageId] != null){ - character = ddf.characters[imageId].data; - $("#mapMask_change").show(); - $("#mapMask_create").hide(); - $("#mapMask_preview").addClass("edit"); - $("#mapMask_title").text("マスク変更"); - }else{ - index = 0; - reg = /^(\d+)$/; - for(item in ddf.characters){ - if(v = reg.exec(ddf.characters[item].data.name)){ - index = Math.max(index, parseInt(v[1])) - } - } - - character = { - type: "mapMask", - name: index + 1, - width: 3, - height: 3, - color: 0, - alpha: 1, - imgId: "", - draggable: true, - rotation: 0, - x: 0, - y: 0 - } - - $("#mapMask_change").hide(); - $("#mapMask_create").show(); - $("#mapMask_preview").removeClass("edit"); - $("#mapMask_title").text("マスク作成"); - } - - $("#mapMask_alpha").val(character.alpha); - $("#window_mapMask .slider").slider("value", character.alpha); - $("#mapMask_imageId").val(character.imgId); - $("#mapMask_name").val(character.name); - - color = new tinycolor("rgb("+[character.color / 65536 & 0xFF,character.color / 256 & 0xFF,character.color & 0xFF]+")").toHex(); - $("#mapMask_width").val(character.width); - $("#mapMask_height").val(character.height); - $("#mapMask_color").val(color); - $("#mapMask_color2").spectrum("set", "#"+color); - - mapMask_previewUpdate(); -} - -function mapMask_previewUpdate(){ - zoom = Math.min(1, 4.6 / $("#mapMask_width").val(),4.8 / $("#mapMask_height").val()); - $("#mapMask_preview").css("transform", `scale(${zoom})`); - $("#mapMask_preview").css({ - width: $("#mapMask_width").val() * 50, - height: $("#mapMask_height").val() * 50, - opacity: $("#mapMask_alpha").val(), - backgroundColor: "#"+$("#mapMask_color").val() - }); -} - -$("#mapMask_close, #mapMask_close2").on("click", (e) => { - $("#window_mapMask").hide(); -}); - -var click = { - x:0, - y:0 -}; - -$("#mapMask_preview").draggable({ - start: (event) => { - click.x = event.clientX; - click.y = event.clientY; - }, - helper: () => { - let obj = $("#mapMask_preview").clone(); - obj.appendTo("#mapSurface"); - return obj; - }, - drag: (event, ui) => { - // This is the parameter for scale() - var zoom = ddf.roomState.zoom; - - var original = ui.originalPosition; - - // jQuery will simply use the same object we alter here - ui.position = { - left: (event.clientX - click.x + original.left) / zoom, - top: (event.clientY - click.y + original.top ) / zoom - }; - if(ddf.roomState.viewStateInfo.isSnapMovablePiece){ - if(ddf.roomState.mapData.isAlternately && ddf.roomState.mapData.gridInterval % 2 == 1){ - if((Math.floor(ui.position.top / 50 / ddf.roomState.mapData.gridInterval) & 1)){ - ui.position = { - left: ((Math.floor(ui.position.left / 25) | 1) ^ 1) * 25, - top: Math.floor(ui.position.top / 50) * 50 - }; - }else{ - ui.position = { - left: (Math.floor(ui.position.left / 25) | 1) * 25, - top: Math.floor(ui.position.top / 50) * 50 - }; - } - }else{ - ui.position = { - left: Math.floor(ui.position.left / 50) * 50, - top: Math.floor(ui.position.top / 50) * 50 - }; - } - } - }, - stop: (event, ui) => { - character = { - type: "mapMask", - name: $("#mapMask_name").val(), - width: $("#mapMask_width").val(), - height: $("#mapMask_height").val(), - color: parseInt("0x"+$("#mapMask_color").val()), - alpha: $("#mapMask_alpha").val(), - imgId: "", - draggable: true, - rotation: 0, - x: ui.position.left / 50, - y: ui.position.top / 50 - }; - ddf.addCharacter(character); - if($("#mapMask_multiple").prop("checked")){ - $("#mapMask_name").val(parseInt($("#mapMask_name").val()) + 1) - }else{ - $("#window_mapMask").hide(); - } - }, - cancel: ".edit" -}); - - -$("#mapMask_send").on('click', (e) => { - imageId = $("#mapMask_imageId").val(); - character = ddf.characters[imageId].data; - - character.name = $("#mapMask_name").val(); - character.color = parseInt("0x"+$("#mapMask_color").val()); - character.width = $("#mapMask_width").val(); - character.height = $("#mapMask_height").val(); - character.alpha = $("#mapMask_alpha").val(); - - ddf.changeCharacter(character).then((r) => { - ddf.characters[imageId].data = character; - ddf.cmd.refresh_parseRecordData({record: [[0, "changeCharacter", [character], "dummy\t"]]}); - $("#window_mapMask").hide(); - }); -}); +function mapChange_show(){switch($("#window_mapChange").show().css("zIndex",151),$(".draggable:not(#window_mapChange)").css("zIndex",150),color=new tinycolor("rgb("+[ddf.roomState.mapData.gridColor/65536&255,ddf.roomState.mapData.gridColor/256&255,255&ddf.roomState.mapData.gridColor]+")").toHex(),$("#mapChange_width").val(ddf.roomState.mapData.xMax),$("#mapChange_height").val(ddf.roomState.mapData.yMax),$("#mapChange_isAlternately").prop("checked",ddf.roomState.mapData.isAlternately),$("#mapChange_gridInterval").val(ddf.roomState.mapData.gridInterval),$("#mapChange_color").val(color),$("#mapChange_color2").spectrum("set","#"+color),ddf.roomState.mapData.mapType){case"imageGraphic":$("#mapChange_imageSource").val(ddf.roomState.mapData.imageSource),"image/whiteBack.png"==$("#mapChange_imageSource").val()?$("#mapChange_blank").prop("checked",!0):$("#mapChange_blank").prop("checked",!1),$("#mapChange_mirrored").prop("checked",ddf.roomState.mapData.mirrored)}mapChange_previewUpdate()}function mapChange_previewUpdate(){param={x:$("#mapChange_width").val(),y:$("#mapChange_height").val(),border:!0,alt:$("#mapChange_isAlternately").prop("checked"),num:!0,size:$("#mapChange_gridInterval").val(),color:"#"+$("#mapChange_color").val()},zoom=Math.min(1,7.26/param.y,8/param.x),$("#mapChange_preview").css("transform",`scale(${zoom})`),$("#mapChange_grid, #mapChange_map").css({width:50*param.x,height:50*param.y}),$("#mapChange_grid").attr("data","img/grid.svg?"+$.map(param,(a,e)=>e+"="+a).join("&")),$("#mapChange_map").attr("src",ddf.base_url+($("#mapChange_blank").prop("checked")?"image/whiteBack.png":$("#mapChange_imageSource").val())),$("#mapChange_mirrored").prop("checked")?$("#mapChange_map").addClass("mirrored"):$("#mapChange_map").removeClass("mirrored")}function mapChange_setTag(a){$("#mapChange_imagearea").empty();let e=$("#mapChange_password").val();for(item of ddf.images.imageList)ddf.images.tagInfos[item]?"(全て)"!=a&&!ddf.images.tagInfos[item].tags.includes(a)||""!=ddf.images.tagInfos[item].password&&ddf.images.tagInfos[item].password!=e||$("#mapChange_imagearea").append($(`
`)):"(全て)"==a&&$("#mapChange_imagearea").append($(`
`))}$("#btn_mapchange").on("click",a=>{mapChange_show()}),$("#window_mapChange input").on("change",mapChange_previewUpdate),sp_param=require("../.option.spectrum.json"),sp_param.change=(a=>{$("#mapChange_color").val(a.toHex()),mapChange_previewUpdate()}),$("#mapChange_color2").spectrum(sp_param),$("#mapChange_close, #mapChange_close2").on("click",a=>{$("#mapChange_image").show(),$("#mapChange_imageSelect").hide(),$("#window_mapChange").hide()}),$("#mapChange_imageChange").on("click",a=>{$("#mapChange_image").hide(),$("#mapChange_imageSelect").show(),ddf.getImageTagsAndImageList().then(a=>{tagList=["(全て)"],ddf.images=a;for(item of ddf.images.imageList)if(ddf.images.tagInfos[item])for(tag of ddf.images.tagInfos[item].tags)""!=tag&&(tagList.includes(tag)||tagList.push(tag));$("#mapChange_tagbox").empty();for(item of tagList)$("#mapChange_tagbox").append($(``));mapChange_setTag(tagList[0])})}),$("#mapChange_tagbox").on("change",a=>{mapChange_setTag($("#mapChange_tagbox").val())}),$(document).on("click","#mapChange_imagearea div img",a=>{let e=$(a.currentTarget).attr("src");$("#mapChange_imageSource").val(e.replace(ddf.base_url,"")),$("#mapChange_blank").prop("checked",!1),$("#mapChange_mirrored").prop("checked",$("#mapChange_mirrored2").prop("checked")),mapChange_previewUpdate()}),$("#mapChange_btnpassword").on("click",a=>{$("#mapChange_btnpassword").hide(),$("#mapChange_password").show().focus()}),$("#mapChange_password").on("focusout",a=>{$("#mapChange_btnpassword").show(),$("#mapChange_password").hide(),imageDelete_setTag($("#mapChange_tagbox").val())}).on("keydown",a=>{13==a.keyCode&&$("#mapChange_password").blur()}),$("#mapChange_send").on("click",a=>{ddf.changeMap("imageGraphic",$("#mapChange_blank").prop("checked")?"image/whiteBack.png":$("#mapChange_imageSource").val(),$("#mapChange_width").val(),$("#mapChange_height").val(),$("#mapChange_gridInterval").val(),$("#mapChange_isAlternately").prop("checked"),$("#mapChange_mirrored").prop("checked"),parseInt("0x"+$("#mapChange_color").val()),ddf.roomState.mapData.mapMarksAlpha,ddf.roomState.mapData.mapMarks).then(a=>{$("#mapChange_image").show(),$("#mapChange_imageSelect").hide(),$("#window_mapChange").hide()})}); + },{"../.option.spectrum.json":17}],42:[function(require,module,exports){ - -$("#btn_memo").on('click', (e) => { - ddf.cmd.openMemo(""); -}); - -$("#memo_close, #memo_close2").on('click', (e) => { - $("#window_memo").hide(); -}); - -ddf.cmd.openMemo = openMemo; -function openMemo(imgId){ - $("#memo_imgId").val(imgId); - if(!(character = ddf.characters[$("#memo_imgId").val()])){ - character = { - color: 0xFFFFFF, - draggable: true, - height: 1, - width: 1, - rotation: 0, - x: 0, - y: 0, - type: "Memo", - isPaint: true, - imgId: "", - message: "" - }; - $("#window_memo .title").text("共有メモ"); - $("#memo_send").text("追加"); - }else{ - character = character.data; - $("#window_memo .title").text("共有メモ変更"); - $("#memo_send").text("変更"); - } - - $("#memo_tab, #memo_edit").empty(); - count = 0; - for(item of character.message.split("\t|\t")){ - tab = $(`
${encode(item.split("\r")[0])}
`); - obj = $(``); - del = $(``); - del.on('click', ((tab, obj)=>{return (e)=>{ - tab.remove(); - obj.remove(); - }})(tab, obj)); - tab.append(del); - tab.on('click', ((obj) => {return (e) => { - if(!$(this).hasClass("active")){ - $("#memo_tab .active, #memo_edit .active").removeClass("active"); - $(obj).addClass("active"); - $(this).addClass("active"); - } - }})(obj)); - $("#memo_tab").append(tab); - $("#memo_edit").append(obj); - count++; - } - $("#memo_tab .tab:eq(0), #memo_edit textarea:eq(0)").addClass("active"); - $("#window_memo").show().css("zIndex", 151); - $(".draggable:not(#window_memo)").css("zIndex", 150); -} - -$("#memo_send").on('click', (e) => { - arr = $.map($("#memo_edit textarea"),(v)=>{return $(v).val().replace("\n","\r");}); - message = arr.join("\t|\t") - if(character = ddf.characters[$("#memo_imgId").val()]){ - character.data.message = message; - ddf.changeCharacter(character.data).then((r) => { - title = character.data.message.split("\r")[0]; - ar = character.data.message.split(/\t\|\t/); - if(ar.length > 1){ - body = ar.map((v)=>{return `[${v.split("\r")[0]}]`}).join("
") - }else{ - body = character.data.message.replace("\r", "
"); - } - character.obj.html(`${encode(title)}
${encode(body)}
`); - }); - }else{ - character = { - color: 0xFFFFFF, - draggable: true, - height: 1, - width: 1, - rotation: 0, - x: 0, - y: 0, - type: "Memo", - isPaint: true, - imgId: "0", - message: message - } - ddf.addCharacter(character); - } - $("#window_memo").hide(); -}); - -$("#memo_addTab").on('click', (e) => { - count = $("#memo_tab .tab").length; - tab = $(`
${count + 1}
`); - obj = $(``); - del = $(``); - del.on('click', ((tab, obj)=>{return (e)=>{ - tab.remove(); - obj.remove(); - }})(tab, obj)); - tab.append(del); - tab.on('click', ((obj) => {return (e) => { - if(!$(this).hasClass("active")){ - $("#memo_tab .active, #memo_edit .active").removeClass("active"); - $(obj).addClass("active"); - $(this).addClass("active"); - } - }})(obj)); - $("#memo_tab .active, #memo_edit .active").removeClass("active"); - $("#memo_tab").append(tab); - $("#memo_edit").append(obj); -}); - -$(document).on('keyup', "#memo_edit textarea", (e) => { - $("#memo_tab .active").text(encode($("#memo_edit .active").val().split("\n")[0])); -}); -},{}],43:[function(require,module,exports){ - -$("#btn_member").on('click', (e) => { - playRoomInfo_show(); -}); - -$("#playRoomInfo_close, #playRoomInfo_close2").on('click', (e) => { - $("#window_playRoomInfo").hide(); -}); - -playRoomInfo_show = () => { - text = `【${ddf.roomState.playRoomName}】\n\nログイン中メンバー一覧\n`; - - text += ddf.roomState.loginUserInfo.map((v)=>{return `${v.userName}(ユーザーID:${v.userId.split("\t")[0]})`}).join("\n"); - - $("#playRoomInfo_main").html(text.replace(/\n/g, "
")); - $("#window_playRoomInfo").show(); -}; +function mapMask_previewUpdate(){zoom=Math.min(1,4.6/$("#mapMask_width").val(),4.8/$("#mapMask_height").val()),$("#mapMask_preview").css("transform",`scale(${zoom})`),$("#mapMask_preview").css({width:50*$("#mapMask_width").val(),height:50*$("#mapMask_height").val(),opacity:$("#mapMask_alpha").val(),backgroundColor:"#"+$("#mapMask_color").val()})}$("#btn_mapmask").on("click",a=>{ddf.mapMask_show("")}),$("#window_mapMask .slider").slider({min:0,max:1,step:.05,stop:(a,e)=>{$("#mapMask_alpha").val(e.value),mapMask_previewUpdate()}}),$("#window_mapMask input").on("change",mapMask_previewUpdate),sp_param=require("../.option.spectrum.json"),sp_param.change=(a=>{$("#mapMask_color").val(a.toHex()),mapMask_previewUpdate()}),$("#mapMask_color2").spectrum(sp_param),ddf.mapMask_show=(a=>{$("#window_mapMask").show().css("zIndex",151),$(".draggable:not(#window_mapMask)").css("zIndex",150);var e;if(null!=ddf.characters[a])e=ddf.characters[a].data,$("#mapMask_change").show(),$("#mapMask_create").hide(),$("#mapMask_preview").addClass("edit"),$("#mapMask_title").text("マスク変更");else{index=0,reg=/^(\d+)$/;for(item in ddf.characters)(v=reg.exec(ddf.characters[item].data.name))&&(index=Math.max(index,parseInt(v[1])));e={type:"mapMask",name:index+1,width:3,height:3,color:0,alpha:1,imgId:"",draggable:!0,rotation:0,x:0,y:0},$("#mapMask_change").hide(),$("#mapMask_create").show(),$("#mapMask_preview").removeClass("edit"),$("#mapMask_title").text("マスク作成")}$("#mapMask_alpha").val(e.alpha),$("#window_mapMask .slider").slider("value",e.alpha),$("#mapMask_imageId").val(e.imgId),$("#mapMask_name").val(e.name),color=new tinycolor("rgb("+[e.color/65536&255,e.color/256&255,255&e.color]+")").toHex(),$("#mapMask_width").val(e.width),$("#mapMask_height").val(e.height),$("#mapMask_color").val(color),$("#mapMask_color2").spectrum("set","#"+color),mapMask_previewUpdate()}),$("#mapMask_close, #mapMask_close2").on("click",a=>{$("#window_mapMask").hide()});var click={x:0,y:0};$("#mapMask_preview").draggable({start:a=>{click.x=a.clientX,click.y=a.clientY},helper:()=>{let a=$("#mapMask_preview").clone();return a.appendTo("#mapSurface"),a},drag:(a,e)=>{var t=ddf.roomState.zoom,o=e.originalPosition;e.position={left:(a.clientX-click.x+o.left)/t,top:(a.clientY-click.y+o.top)/t},ddf.roomState.viewStateInfo.isSnapMovablePiece&&(ddf.roomState.mapData.isAlternately&&ddf.roomState.mapData.gridInterval%2==1?1&Math.floor(e.position.top/50/ddf.roomState.mapData.gridInterval)?e.position={left:25*(1^(1|Math.floor(e.position.left/25))),top:50*Math.floor(e.position.top/50)}:e.position={left:25*(1|Math.floor(e.position.left/25)),top:50*Math.floor(e.position.top/50)}:e.position={left:50*Math.floor(e.position.left/50),top:50*Math.floor(e.position.top/50)})},stop:(a,e)=>{character={type:"mapMask",name:$("#mapMask_name").val(),width:$("#mapMask_width").val(),height:$("#mapMask_height").val(),color:parseInt("0x"+$("#mapMask_color").val()),alpha:$("#mapMask_alpha").val(),imgId:"",draggable:!0,rotation:0,x:e.position.left/50,y:e.position.top/50},ddf.addCharacter(character),$("#mapMask_multiple").prop("checked")?$("#mapMask_name").val(parseInt($("#mapMask_name").val())+1):$("#window_mapMask").hide()},cancel:".edit"}),$("#mapMask_send").on("click",a=>{imageId=$("#mapMask_imageId").val(),character=ddf.characters[imageId].data,character.name=$("#mapMask_name").val(),character.color=parseInt("0x"+$("#mapMask_color").val()),character.width=$("#mapMask_width").val(),character.height=$("#mapMask_height").val(),character.alpha=$("#mapMask_alpha").val(),ddf.changeCharacter(character).then(a=>{ddf.characters[imageId].data=character,ddf.cmd.refresh_parseRecordData({record:[[0,"changeCharacter",[character],"dummy\t"]]}),$("#window_mapMask").hide()})}); + +},{"../.option.spectrum.json":17}],43:[function(require,module,exports){ +function openMemo(e){$("#memo_imgId").val(e),(character=ddf.characters[$("#memo_imgId").val()])?(character=character.data,$("#window_memo .title").text("共有メモ変更"),$("#memo_send").text("変更")):(character={color:16777215,draggable:!0,height:1,width:1,rotation:0,x:0,y:0,type:"Memo",isPaint:!0,imgId:"",message:""},$("#window_memo .title").text("共有メモ"),$("#memo_send").text("追加")),$("#memo_tab, #memo_edit").empty(),count=0;for(item of character.message.split("\t|\t"))tab=$(`
${encode(item.split("\r")[0])}
`),obj=$(``),del=$(''),del.on("click",((e,a)=>t=>{e.remove(),a.remove()})(tab,obj)),tab.append(del),tab.on("click",(e=>a=>{$(this).hasClass("active")||($("#memo_tab .active, #memo_edit .active").removeClass("active"),$(e).addClass("active"),$(this).addClass("active"))})(obj)),$("#memo_tab").append(tab),$("#memo_edit").append(obj),count++;$("#memo_tab .tab:eq(0), #memo_edit textarea:eq(0)").addClass("active"),$("#window_memo").show().css("zIndex",151),$(".draggable:not(#window_memo)").css("zIndex",150)}$("#btn_memo").on("click",e=>{ddf.cmd.openMemo("")}),$("#memo_close, #memo_close2").on("click",e=>{$("#window_memo").hide()}),ddf.cmd.openMemo=openMemo,$("#memo_send").on("click",e=>{arr=$.map($("#memo_edit textarea"),e=>$(e).val().replace("\n","\r")),message=arr.join("\t|\t"),(character=ddf.characters[$("#memo_imgId").val()])?(character.data.message=message,ddf.changeCharacter(character.data).then(e=>{title=character.data.message.split("\r")[0],ar=character.data.message.split(/\t\|\t/),ar.length>1?body=ar.map(e=>`[${e.split("\r")[0]}]`).join("
"):body=character.data.message.replace("\r","
"),character.obj.html(`${encode(title)}
${encode(body)}
`)})):(character={color:16777215,draggable:!0,height:1,width:1,rotation:0,x:0,y:0,type:"Memo",isPaint:!0,imgId:"0",message:message},ddf.addCharacter(character)),$("#window_memo").hide()}),$("#memo_addTab").on("click",e=>{count=$("#memo_tab .tab").length,tab=$(`
${count+1}
`),obj=$(''),del=$(''),del.on("click",((e,a)=>t=>{e.remove(),a.remove()})(tab,obj)),tab.append(del),tab.on("click",(e=>a=>{$(this).hasClass("active")||($("#memo_tab .active, #memo_edit .active").removeClass("active"),$(e).addClass("active"),$(this).addClass("active"))})(obj)),$("#memo_tab .active, #memo_edit .active").removeClass("active"),$("#memo_tab").append(tab),$("#memo_edit").append(obj)}),$(document).on("keyup","#memo_edit textarea",e=>{$("#memo_tab .active").text(encode($("#memo_edit .active").val().split("\n")[0]))}); },{}],44:[function(require,module,exports){ - -ddf.cmd.roomDelete_show = roomDelete_show; -function roomDelete_show(roomNumber) { - $("#roomDelete_roomNumber").val(roomNumber); - $("#roomDelete_Number").text(roomNumber); - $("#roomDelete_password").val(""); - - $("#window_roomDelete").show().css("zIndex", 151); - $(".draggable:not(#window_roomDelete)").css("zIndex", 150); -} - -$("#roomDelete_close, #roomDelete_close2").on('click', (e) => { - $("#window_roomDelete").hide(); -}); - -$("#roomDelete_send, #roomDelete_close2").on('click', (e) => { - ddf.removePlayRoom( - $("#roomDelete_roomNumber").val(), - true, - $("#roomDelete_password").val() - ).then((r) => { - if(r.deletedRoomNumbers.length > 0){ - $("#window_roomDelete").hide(); - $("#playRoomInfos tbody").empty(); - ddf.cmd.getPlayRoomInfo(); - }else{ - alert("パスワードが違います。"); - } - }); -}); +$("#btn_member").on("click",o=>{playRoomInfo_show()}),$("#playRoomInfo_close, #playRoomInfo_close2").on("click",o=>{$("#window_playRoomInfo").hide()}),playRoomInfo_show=(()=>{text=`【${ddf.roomState.playRoomName}】\n\nログイン中メンバー一覧\n`,text+=ddf.roomState.loginUserInfo.map(o=>`${o.userName}(ユーザーID:${o.userId.split("\t")[0]})`).join("\n"),$("#playRoomInfo_main").html(text.replace(/\n/g,"
")),$("#window_playRoomInfo").show()}); + },{}],45:[function(require,module,exports){ +function roomDelete_show(e){$("#roomDelete_roomNumber").val(e),$("#roomDelete_Number").text(e),$("#roomDelete_password").val(""),$("#window_roomDelete").show().css("zIndex",151),$(".draggable:not(#window_roomDelete)").css("zIndex",150)}ddf.cmd.roomDelete_show=roomDelete_show,$("#roomDelete_close, #roomDelete_close2").on("click",e=>{$("#window_roomDelete").hide()}),$("#roomDelete_send, #roomDelete_close2").on("click",e=>{ddf.removePlayRoom($("#roomDelete_roomNumber").val(),!0,$("#roomDelete_password").val()).then(e=>{e.deletedRoomNumbers.length>0?($("#window_roomDelete").hide(),$("#playRoomInfos tbody").empty(),ddf.cmd.getPlayRoomInfo()):alert("パスワードが違います。")})}); + +},{}],46:[function(require,module,exports){ (function (Buffer){ -$("#btn_savechatlog, #btn_savelog2").on("click", (e) => { - saveChatLog_show(); -}); - -$("#saveChatLog_close, #saveChatLog_close2").on("click", (e) => { - $("#window_saveChatLog").hide(); -}); - -$("[name=saveChatLog_mode]").on('click', (e) => { - if($("[name=saveChatLog_mode]:checked").val()=="HTML"){ - $("#saveChatLog_fontSize").prop('disabled', false); - $("#saveChatLog_lineHeight").prop('disabled', false); - }else{ - $("#saveChatLog_fontSize").prop('disabled', true); - $("#saveChatLog_lineHeight").prop('disabled', true); - } -}); - -function saveChatLog_show(){ - $("#saveChatLog_channel").empty(); - - index = 0; - for(item of ddf.roomState.chatChannelNames){ - obj = $(``); - obj.on('click', ((channel)=>{return (e)=>{saveChatLog(channel);}})(index++)); - $("#saveChatLog_channel").append(obj); - } - - $("#window_saveChatLog").show().css("zIndex", "151"); - $(".draggable:not(#window_saveChatLog)").css("zIndex", "150"); -} - -$("#saveChatLog_saveAll").on('click', (e) => {saveChatLog()}); - -function saveChatLog(channel = 'all'){ - if(channel != 'all'){ - list = chatlog.filter((v)=>{return v[0]==channel}); - }else{ - list = chatlog.filter((v)=>{return v[1]!=null}); - } - if($("[name=saveChatLog_mode]:checked").val()=="HTML"){ - style = ` -#container * { - font-size: ${$("#saveChatLog_fontSize").val()}; - line-height: ${$("#saveChatLog_lineHeight").val()}; -} - -#container dt { - display: inline-block; -} - -#container dd { - margin-left: 0; - display: inline; - vertical-align:top; -} - -#container dd:after { - content:''; - display:block; -} -`; - body = list.map((v)=>{return `
[${encode(v[1])}]${ddf.userState.showTime?dateFormat(new Date(v[2]*1000), "HH:MM")+":":""}
${encode(v[4])}:${encode(v[5]).replace(/\n/g,"
")}
`}).join("\n"); - output = ` - - - - - - - -
-
-${body} -
-
- - -`; - let buffer = new Buffer(output); - let filename = `chatlog_${dateFormat(new Date, "yymmdd_HHMMss")}.html`; - a = $(`.`); - $(document.body).append(a); - a[0].click(); - a.remove(); - }else{ - output = list.map((v)=>{return `[${v[1]}]${ddf.userState.showTime?dateFormat(new Date(v[2]*1000), "HH:MM")+":":""}${v[4]}:${v[5]}`}).join("\n"); - - let buffer = new Buffer(output); - let filename = `chatlog_${dateFormat(new Date, "yymmdd_HHMMss")}.txt`; - a = $(`.`); - $(document.body).append(a); - a[0].click(); - a.remove(); - } -} +function saveChatLog_show(){$("#saveChatLog_channel").empty(),index=0;for(item of ddf.roomState.chatChannelNames)obj=$(``),obj.on("click",(e=>a=>{saveChatLog(e)})(index++)),$("#saveChatLog_channel").append(obj);$("#window_saveChatLog").show().css("zIndex","151"),$(".draggable:not(#window_saveChatLog)").css("zIndex","150")}function saveChatLog(e="all"){if(list="all"!=e?chatlog.filter(a=>a[0]==e):chatlog.filter(e=>null!=e[1]),"HTML"==$("[name=saveChatLog_mode]:checked").val()){style=`\n#container * {\n font-size: ${$("#saveChatLog_fontSize").val()};\n line-height: ${$("#saveChatLog_lineHeight").val()};\n}\n\n#container dt {\n display: inline-block;\n}\n\n#container dd {\n margin-left: 0;\n display: inline;\n vertical-align:top;\n}\n\n#container dd:after {\n content:'';\n display:block;\n} \n`,body=list.map(e=>`
[${encode(e[1])}]${ddf.userState.showTime?dateFormat(new Date(1e3*e[2]),"HH:MM")+":":""}
${encode(e[4])}:${encode(e[5]).replace(/\n/g,"
")}
`).join("\n"),output=`\n\n\n\n\n\n\n\n
\n
\n${body}\n
\n
\n\n\n`;let e=new Buffer(output),t=`chatlog_${dateFormat(new Date,"yymmdd_HHMMss")}.html`;a=$(`.`),$(document.body).append(a),a[0].click(),a.remove()}else{output=list.map(e=>`[${e[1]}]${ddf.userState.showTime?dateFormat(new Date(1e3*e[2]),"HH:MM")+":":""}${e[4]}:${e[5]}`).join("\n");let e=new Buffer(output),t=`chatlog_${dateFormat(new Date,"yymmdd_HHMMss")}.txt`;a=$(`.`),$(document.body).append(a),a[0].click(),a.remove()}}$("#btn_savechatlog, #btn_savelog2").on("click",e=>{saveChatLog_show()}),$("#saveChatLog_close, #saveChatLog_close2").on("click",e=>{$("#window_saveChatLog").hide()}),$("[name=saveChatLog_mode]").on("click",e=>{"HTML"==$("[name=saveChatLog_mode]:checked").val()?($("#saveChatLog_fontSize").prop("disabled",!1),$("#saveChatLog_lineHeight").prop("disabled",!1)):($("#saveChatLog_fontSize").prop("disabled",!0),$("#saveChatLog_lineHeight").prop("disabled",!0))}),$("#saveChatLog_saveAll").on("click",e=>{saveChatLog()}); + }).call(this,require("buffer").Buffer) -},{"buffer":2}],46:[function(require,module,exports){ - -$("#btn_imageupload").on("click", (e) => { - $("#window_upload").show().css("zIndex", 151); - $(".draggable:not(#window_upload)").css("zIndex", 150); -}); - -var upload_uploadlist = []; - -$form = $("#upload_droparea"); - -$("#upload_droparea ~ .overwrap").on('dragenter', () => { - $form.addClass('is-dragover'); -}); - -$form.on('drag dragstart dragend dragover dragenter dragleave drop', (e) => { - e.preventDefault(); - e.stopPropagation(); -}) -.on('dragover dragenter', () => { - $form.addClass('is-dragover'); -}) -.on('dragleave dragend drop', () => { - $form.removeClass('is-dragover'); -}) -.on('drop', (e) => { - droppedFiles = e.originalEvent.dataTransfer.files; - - upload_uploadfiles(droppedFiles); -}); - -$("#window_upload :file").on('change', (e) => { - arr = []; - for(item of $("#window_upload :file")[0].files){ - arr.push(item); - } - upload_uploadfiles(arr); -}); - -function upload_uploadfiles(droppedFiles){ - upload_uploadlist = []; - $("#upload_droparea").empty(); - for(file of droppedFiles){ - new Promise((success, error)=>{ - let fr = new FileReader(); - - fr.onload = success; - - if(/image\/(gif|png|jpeg)/.test(file.type)){ - fr.readAsArrayBuffer(file); - } - }).then(((file) => {return (r)=>{ - let data = new Uint8Array(r.target.result); - - if(upload_uploadlist.length == 0){ - $("#upload_droparea").empty(); - } - upload_uploadlist.push([file, data]); - url = `data:${file.type};base64,${btoa(Array.from(data, e => String.fromCharCode(e)).join(""))}`; - $("#upload_droparea").append(`
`); - };})(file)); - } -} - -$("#upload_send").on('click', (e)=>{ - $("#upload_result").text(""); - for(file of upload_uploadlist){ - ddf.uploadImageData( - file[0].name, - file[1], - $("#upload_password").val(), - $("#upload_tag").val().split(/[  ]/), - $("#upload_private").val()=="1"?null:ddf.userState.room - ).then(((name) => {return (r)=>{ - $("#upload_result").text($("#upload_result").text() + name + ":" + r.resultText + "  "); - };})(file[0].name)); - } - upload_uploadlist = []; -}); - -$("#upload_tagbox").on('change', (e)=>{ - $("#upload_tag").val($("#upload_tagbox").val()+" "); -}); - -$("#upload_close, #upload_close2").on('click', (e)=>{ - $("#window_upload").hide(); - $("#upload_droparea").empty(); - $("#upload_password").val(); - $("#upload_btnpassword").text("パスワードなし"); -}); - -$("#upload_btnpassword").on('click', (e) => { - $("#upload_btnpassword").hide(); - $("#upload_password").show().focus(); -}); - -$("#upload_password").on('focusout', (e) => { - $("#upload_btnpassword").show().text($("#upload_password").val()==""?"パスワードなし":"パスワードあり"); - $("#upload_password").hide(); -}).on('keydown', (e) => { - if(e.keyCode == 13){ - $("#upload_password").blur(); - } -}); - -$("#window_upload .overwrap a").on('click', (e) => { - $("#window_upload .overwrap :file").click(); - return false; -}); - -},{}],47:[function(require,module,exports){ - - var version = require('../../../package.json').version; - $("#btn_version, #btn_version2").on('click', (e) => { - $("#version_DodontoF").text(ddf.info.version); - $("#version_ddfjs").text(ddf.version); - $("#version_ddfcli").text(version); - $("#window_version").show().css("zIndex", 151); - $(".draggable:not(#window_version)").css("zIndex", 150); - }); - - $("#version_close").on('click', (e) => { - $("#window_version").hide(); - }); +},{"buffer":2}],47:[function(require,module,exports){ +function upload_uploadfiles(a){upload_uploadlist=[],$("#upload_droparea").empty();for(file of a)new Promise((a,o)=>{let d=new FileReader;d.onload=a,/image\/(gif|png|jpeg)/.test(file.type)&&d.readAsArrayBuffer(file)}).then((a=>o=>{let d=new Uint8Array(o.target.result);0==upload_uploadlist.length&&$("#upload_droparea").empty(),upload_uploadlist.push([a,d]),url=`data:${a.type};base64,${btoa(Array.from(d,a=>String.fromCharCode(a)).join(""))}`,$("#upload_droparea").append(`
`)})(file))}$("#btn_imageupload").on("click",a=>{$("#window_upload").show().css("zIndex",151),$(".draggable:not(#window_upload)").css("zIndex",150)});var upload_uploadlist=[];let $form=$("#upload_droparea");$("#upload_droparea ~ .overwrap").on("dragenter",()=>{$form.addClass("is-dragover")}),$form.on("drag dragstart dragend dragover dragenter dragleave drop",a=>{a.preventDefault(),a.stopPropagation()}).on("dragover dragenter",()=>{$form.addClass("is-dragover")}).on("dragleave dragend drop",()=>{$form.removeClass("is-dragover")}).on("drop",a=>{droppedFiles=a.originalEvent.dataTransfer.files,upload_uploadfiles(droppedFiles)}),$("#window_upload :file").on("change",a=>{arr=[];for(item of $("#window_upload :file")[0].files)arr.push(item);upload_uploadfiles(arr)}),$("#upload_send").on("click",a=>{$("#upload_result").text("");for(file of upload_uploadlist)ddf.uploadImageData(file[0].name,file[1],$("#upload_password").val(),$("#upload_tag").val().split(/[  ]/),"1"==$("#upload_private").val()?null:ddf.userState.room).then((a=>o=>{$("#upload_result").text($("#upload_result").text()+a+":"+o.resultText+"  ")})(file[0].name));upload_uploadlist=[]}),$("#upload_tagbox").on("change",a=>{$("#upload_tag").val($("#upload_tagbox").val()+" ")}),$("#upload_close, #upload_close2").on("click",a=>{$("#window_upload").hide(),$("#upload_droparea").empty(),$("#upload_password").val(),$("#upload_btnpassword").text("パスワードなし")}),$("#upload_btnpassword").on("click",a=>{$("#upload_btnpassword").hide(),$("#upload_password").show().focus()}),$("#upload_password").on("focusout",a=>{$("#upload_btnpassword").show().text(""==$("#upload_password").val()?"パスワードなし":"パスワードあり"),$("#upload_password").hide()}).on("keydown",a=>{13==a.keyCode&&$("#upload_password").blur()}),$("#window_upload .overwrap a").on("click",a=>($("#window_upload .overwrap :file").click(),!1)); + +},{}],48:[function(require,module,exports){ +var version=require("../../../package.json").version;$("#btn_version, #btn_version2").on("click",n=>{$("#version_DodontoF").text(ddf.info.version),$("#version_ddfjs").text(ddf.version),$("#version_ddfcli").text(version),$("#window_version").show().css("zIndex",151),$(".draggable:not(#window_version)").css("zIndex",150)}),$("#version_close").on("click",n=>{$("#window_version").hide()}); + },{"../../../package.json":16}]},{},[24]); - -//# sourceMappingURL=.maps/index.js.map + +//# sourceMappingURL=.maps/index.js.map diff --git a/build/js/lib/ddf.js b/build/js/lib/ddf.js index fdc22e5..d902160 100644 --- a/build/js/lib/ddf.js +++ b/build/js/lib/ddf.js @@ -8,195 +8,128 @@ require=(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof requ exports.read=function(a,o,t,r,h){var M,p,w=8*h-r-1,f=(1<>1,i=-7,N=t?h-1:0,n=t?-1:1,s=a[o+N];for(N+=n,M=s&(1<<-i)-1,s>>=-i,i+=w;i>0;M=256*M+a[o+N],N+=n,i-=8);for(p=M&(1<<-i)-1,M>>=-i,i+=r;i>0;p=256*p+a[o+N],N+=n,i-=8);if(0===M)M=1-e;else{if(M===f)return p?NaN:1/0*(s?-1:1);p+=Math.pow(2,r),M-=e}return(s?-1:1)*p*Math.pow(2,M-r)},exports.write=function(a,o,t,r,h,M){var p,w,f,e=8*M-h-1,i=(1<>1,n=23===h?Math.pow(2,-24)-Math.pow(2,-77):0,s=r?0:M-1,u=r?1:-1,l=o<0||0===o&&1/o<0?1:0;for(o=Math.abs(o),isNaN(o)||o===1/0?(w=isNaN(o)?1:0,p=i):(p=Math.floor(Math.log(o)/Math.LN2),o*(f=Math.pow(2,-p))<1&&(p--,f*=2),(o+=p+N>=1?n/f:n*Math.pow(2,1-N))*f>=2&&(p++,f/=2),p+N>=i?(w=0,p=i):p+N>=1?(w=(o*f-1)*Math.pow(2,h),p+=N):(w=o*Math.pow(2,N-1)*Math.pow(2,h),p=0));h>=8;a[t+s]=255&w,s+=u,w/=256,h-=8);for(p=p<0;a[t+s]=255&p,s+=u,p/=256,e-=8);a[t+s-u]|=128*l}; },{}],4:[function(require,module,exports){ -module.exports={ - "_args": [ - [ - { - "raw": "ddf@>0.5.0", - "scope": null, - "escapedName": "ddf", - "name": "ddf", - "rawSpec": ">0.5.0", - "spec": ">0.5.0", - "type": "range" - }, - "c:\\ruby\\ddf" - ] - ], - "_from": "ddf@>0.5.0", - "_id": "ddf@0.5.3", - "_inCache": true, - "_location": "/ddf", - "_nodeVersion": "4.5.0", - "_npmOperationalInternal": { - "host": "s3://npm-registry-packages", - "tmp": "tmp/ddf-0.5.3.tgz_1513573608700_0.1326135031413287" - }, - "_npmUser": { - "name": "kitt", - "email": "yosshi1123@gmail.com" - }, - "_npmVersion": "4.0.5", - "_phantomChildren": {}, - "_requested": { - "raw": "ddf@>0.5.0", - "scope": null, - "escapedName": "ddf", - "name": "ddf", - "rawSpec": ">0.5.0", - "spec": ">0.5.0", - "type": "range" - }, - "_requiredBy": [ - "#USER", - "/" - ], - "_resolved": "https://registry.npmjs.org/ddf/-/ddf-0.5.3.tgz", - "_shasum": "67685b59f51c0e18ae0f98308fa1d9e92e4f59ca", - "_shrinkwrap": null, - "_spec": "ddf@>0.5.0", - "_where": "c:\\ruby\\ddf", - "author": { - "name": "kitt" - }, - "bugs": { - "url": "https://github.com/op3kitt/ddf/issues" - }, - "dependencies": { - "msgpack-lite": "^0.1.26" - }, - "description": "DodontoFServer.rb API wrapper", - "devDependencies": {}, - "directories": {}, - "dist": { - "shasum": "67685b59f51c0e18ae0f98308fa1d9e92e4f59ca", - "tarball": "https://registry.npmjs.org/ddf/-/ddf-0.5.3.tgz" - }, - "gitHead": "b7e40d0ea6745d3125a458a65ddbcc544d76990d", - "homepage": "https://github.com/op3kitt/ddf#readme", - "license": "MIT", - "main": "index.js", - "maintainers": [ - { - "name": "kitt", - "email": "yosshi1123@gmail.com" - } - ], - "name": "ddf", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/op3kitt/ddf.git" - }, - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "version": "0.5.3" -} - -},{}],5:[function(require,module,exports){ function EventLite(){if(!(this instanceof EventLite))return new EventLite}!function(e){function n(e){for(var n in f)e[n]=f[n];return e}function t(e,n){function f(e){return e!==n&&e.originalListener!==n}var l,o=this;if(arguments.length){if(n){if(l=i(o,e,!0)){if(!(l=l.filter(f)).length)return t.call(o,e);o[r][e]=l}}else if((l=o[r])&&(delete l[e],!Object.keys(l).length))return t.call(o)}else delete o[r];return o}function i(e,n,t){if(!t||e[r]){var i=e[r]||(e[r]={});return i[n]||(i[n]=[])}}"undefined"!=typeof module&&(module.exports=e);var r="listeners",f={on:function(e,n){return i(this,e).push(n),this},once:function(e,n){function r(){t.call(f,e,r),n.apply(this,arguments)}var f=this;return r.originalListener=n,i(f,e).push(r),f},off:t,emit:function(e,n){function t(e){e.call(l)}function r(e){e.call(l,n)}function f(e){e.apply(l,c)}var l=this,o=i(l,e,!0);if(!o)return!1;var u=arguments.length;if(1===u)o.forEach(t);else if(2===u)o.forEach(r);else{var c=Array.prototype.slice.call(arguments,1);o.forEach(f)}return!!o.length}};n(e.prototype),e.mixin=n}(EventLite); -},{}],6:[function(require,module,exports){ +},{}],5:[function(require,module,exports){ exports.read=function(a,o,t,r,h){var M,p,w=8*h-r-1,f=(1<>1,i=-7,N=t?h-1:0,n=t?-1:1,s=a[o+N];for(N+=n,M=s&(1<<-i)-1,s>>=-i,i+=w;i>0;M=256*M+a[o+N],N+=n,i-=8);for(p=M&(1<<-i)-1,M>>=-i,i+=r;i>0;p=256*p+a[o+N],N+=n,i-=8);if(0===M)M=1-e;else{if(M===f)return p?NaN:1/0*(s?-1:1);p+=Math.pow(2,r),M-=e}return(s?-1:1)*p*Math.pow(2,M-r)},exports.write=function(a,o,t,r,h,M){var p,w,f,e=8*M-h-1,i=(1<>1,n=23===h?Math.pow(2,-24)-Math.pow(2,-77):0,s=r?0:M-1,u=r?1:-1,l=o<0||0===o&&1/o<0?1:0;for(o=Math.abs(o),isNaN(o)||o===1/0?(w=isNaN(o)?1:0,p=i):(p=Math.floor(Math.log(o)/Math.LN2),o*(f=Math.pow(2,-p))<1&&(p--,f*=2),(o+=p+N>=1?n/f:n*Math.pow(2,1-N))*f>=2&&(p++,f/=2),p+N>=i?(w=0,p=i):p+N>=1?(w=(o*f-1)*Math.pow(2,h),p+=N):(w=o*Math.pow(2,N-1)*Math.pow(2,h),p=0));h>=8;a[t+s]=255&w,s+=u,w/=256,h-=8);for(p=p<0;a[t+s]=255&p,s+=u,p/=256,e-=8);a[t+s-u]|=128*l}; -},{}],7:[function(require,module,exports){ +},{}],6:[function(require,module,exports){ (function (Buffer){ var Uint64BE,Int64BE,Uint64LE,Int64LE;!function(r){function t(t,p,B){function E(r,t,n,f){return this instanceof E?function(r,t,n,f,e){y&&v&&(t instanceof v&&(t=new y(t)),f instanceof v&&(f=new y(f)));if(!(t||n||f||a))return void(r.buffer=u(h,0));if(!o(t,n)){var c=a||Array;e=n,f=t,n=0,t=new c(8)}if(r.buffer=t,r.offset=n|=0,s===typeof f)return;"string"==typeof f?function(r,t,n,f){var e=0,o=n.length,i=0,u=0;"-"===n[0]&&e++;var a=e;for(;e=0))break;u=u*f+s,i=i*f+Math.floor(u/b),u%=b}a&&(i=~i,u?u=b-u:i++);A(r,t+I,i),A(r,t+L,u)}(t,n,f,e||10):o(f,e)?i(t,n,f,e):"number"==typeof e?(A(t,n+I,f),A(t,n+L,e)):f>0?m(t,n,f):f<0?x(t,n,f):i(t,n,h,0)}(this,r,t,n,f):new E(r,t,n,f)}function g(){var r=this.buffer,t=this.offset,n=U(r,t+I),f=U(r,t+L);return B||(n|=0),n?n*b+f:f}function A(r,t,n){r[t+j]=255&n,n>>=8,r[t+S]=255&n,n>>=8,r[t+d]=255&n,n>>=8,r[t+w]=255&n}function U(r,t){return r[t+w]*l+(r[t+d]<<16)+(r[t+S]<<8)+r[t+j]}var I=p?0:4,L=p?4:0,w=p?0:3,d=p?1:2,S=p?2:1,j=p?3:0,m=p?function(r,t,n){var f=t+8;for(;f>t;)r[--f]=255&n,n/=256}:function(r,t,n){var f=t+8;for(;tt;)r[--f]=255&-n^255,n/=256}:function(r,t,n){var f=t+8;n++;for(;t>>6,o[e++]=128|63&n):n<55296||n>57343?(o[e++]=224|n>>>12,o[e++]=128|n>>>6&63,o[e++]=128|63&n):(n=65536+(n-55296<<10|r.charCodeAt(h++)-56320),o[e++]=240|n>>>18,o[e++]=128|n>>>12&63,o[e++]=128|n>>>6&63,o[e++]=128|63&n);return e-t}function toString(r,t,o){var e=this,i=0|t;o||(o=e.length);for(var n="",h=0;i=65536?(h-=65536,n+=String.fromCharCode(55296+(h>>>10),56320+(1023&h))):n+=String.fromCharCode(h));return n}function copy(r,t,o,e){var i;o||(o=0),e||0===e||(e=this.length),t||(t=0);var n=e-o;if(r===this&&o=0;i--)r[i+t]=this[i+o];else for(i=0;ithis.buffer.length)throw new Error(BUFFER_SHORTAGE);return this.offset=f,t},offset:0}}function getEncoderMethods(){return{bufferish:Bufferish,write:write,fetch:function(){var e=this.start;if(e1?this.bufferish.concat(e):e[0];return e.length=0,t},read:read,reserve:function(e){var t=0|e;if(this.buffer){var f=this.buffer.length,r=0|this.offset,i=r+t;if(ithis.minBufferSize)this.flush(),this.push(e);else{var f=this.reserve(t);Bufferish.prototype.copy.call(e,this.buffer,f)}},maxBufferSize:MAX_BUFFER_SIZE,minBufferSize:MIN_BUFFER_SIZE,offset:0,start:0}}function write(){throw new Error("method not implemented: write()")}function fetch(){throw new Error("method not implemented: fetch()")}function read(){return this.buffers&&this.buffers.length?(this.flush(),this.pull()):this.fetch()}function push(e){(this.buffers||(this.buffers=[])).push(e)}function pull(){var t=this.buffers||(this.buffers=[]);return e=t.shift(),console.log(e),e}function mixinFactory(e){return function(t){for(var f in e)t[f]=e[f];return t}}exports.FlexDecoder=FlexDecoder,exports.FlexEncoder=FlexEncoder;var Bufferish=require("./bufferish"),MIN_BUFFER_SIZE=2048,MAX_BUFFER_SIZE=65536,BUFFER_SHORTAGE="BUFFER_SHORTAGE";FlexDecoder.mixin=mixinFactory(getDecoderMethods()),FlexDecoder.mixin(FlexDecoder.prototype),FlexEncoder.mixin=mixinFactory(getEncoderMethods()),FlexEncoder.mixin(FlexEncoder.prototype); -},{"./bufferish":16}],30:[function(require,module,exports){ +},{"./bufferish":15}],29:[function(require,module,exports){ function getDecoder(e){var t=ReadToken.getReadToken(e);return function(e){var r=readUint8(e),n=t[r];if(!n)throw new Error("Invalid type: "+(r?"0x"+r.toString(16):r));return n(e)}}function init(){var e=this.options;return this.decode=getDecoder(e),e&&e.preset&&ExtUnpacker.setExtUnpackers(this),this}function addExtUnpacker(e,t){(this.extUnpackers||(this.extUnpackers=[]))[e]=CodecBase.filter(t)}function getExtUnpacker(e){return(this.extUnpackers||(this.extUnpackers=[]))[e]||function(t){return new ExtBuffer(t,e)}}var ExtBuffer=require("./ext-buffer").ExtBuffer,ExtUnpacker=require("./ext-unpacker"),readUint8=require("./read-format").readUint8,ReadToken=require("./read-token"),CodecBase=require("./codec-base");CodecBase.install({addExtUnpacker:addExtUnpacker,getExtUnpacker:getExtUnpacker,init:init}),exports.preset=init.call(CodecBase.preset); -},{"./codec-base":17,"./ext-buffer":25,"./ext-unpacker":27,"./read-format":31,"./read-token":32}],31:[function(require,module,exports){ +},{"./codec-base":16,"./ext-buffer":24,"./ext-unpacker":26,"./read-format":30,"./read-token":31}],30:[function(require,module,exports){ function getReadFormat(r){var e=Bufferish.hasArrayBuffer&&r&&r.binarraybuffer,t=r&&r.int64;return{map:HAS_MAP&&r&&r.usemap?map_to_map:map_to_obj,array:array,str:str,bin:e?bin_arraybuffer:bin_buffer,ext:ext,uint8:uint8,uint16:uint16,uint32:uint32,uint64:read(8,t?readUInt64BE_int64:readUInt64BE),int8:int8,int16:int16,int32:int32,int64:read(8,t?readInt64BE_int64:readInt64BE),float32:read(4,readFloatBE),float64:read(8,readDoubleBE)}}function map_to_obj(r,e){var t,n={},f=new Array(e),u=new Array(e),i=r.codec.decode;for(t=0;t>>8,f[i]=r}}function write4(t){return function(e,r){var i=e.reserve(5),f=e.buffer;f[i++]=t,f[i++]=r>>>24,f[i++]=r>>>16,f[i++]=r>>>8,f[i]=r}}function writeN(t,e,r,i){return function(f,n){var w=f.reserve(e+1);f.buffer[w++]=t,r.call(f.buffer,n,w,i)}}function writeUInt64BE(t,e){new Uint64BE(this,e,t)}function writeInt64BE(t,e){new Int64BE(this,e,t)}function writeFloatBE(t,e){ieee754.write(this,t,e,!1,23,4)}function writeDoubleBE(t,e){ieee754.write(this,t,e,!1,52,8)}var ieee754=require("ieee754"),Int64Buffer=require("int64-buffer"),Uint64BE=Int64Buffer.Uint64BE,Int64BE=Int64Buffer.Int64BE,uint8=require("./write-uint8").uint8,Bufferish=require("./bufferish"),Buffer=Bufferish.global,IS_BUFFER_SHIM=Bufferish.hasBuffer&&"TYPED_ARRAY_SUPPORT"in Buffer,NO_TYPED_ARRAY=IS_BUFFER_SHIM&&!Buffer.TYPED_ARRAY_SUPPORT,Buffer_prototype=Bufferish.hasBuffer&&Buffer.prototype||{};exports.getWriteToken=getWriteToken; -},{"./bufferish":16,"./write-uint8":36,"ieee754":6,"int64-buffer":7}],35:[function(require,module,exports){ +},{"./bufferish":15,"./write-uint8":35,"ieee754":5,"int64-buffer":6}],34:[function(require,module,exports){ function getWriteType(e){function r(e,r){if(null===r)return n(e,r);if(a(r))return c(e,r);if(IS_ARRAY(r))return function(e,r){var n=r.length;i[n<16?144+n:n<=65535?220:221](e,n);for(var t=e.codec.encode,f=0;fe.val?1:-1}),o)return n.map(function(d){return d.val});var r=[];for(obj of n)r[obj.key]=d[obj.key];return r},ddf.userState={},ddf.getLoginInfo=function(d=null){return ddf.sendMsg({room:ddf.userState.room,cmd:"getLoginInfo",own:ddf.userState.own,params:{uniqueId:d}})},ddf.loginPassword=function(d,e,o){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{roomNumber:d,password:e,visiterMode:o},cmd:"loginPassword"})},ddf.logout=function(){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{uniqueId:ddf.info.uniqueId+ddf.userState.own},cmd:"logout"})},ddf.removeOldPlayRoom=function(){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{},cmd:"removeOldPlayRoom"})},ddf.createPlayRoom=function(d,e,o,n,r,a,t,f,u){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{playRoomIndex:d,playRoomName:e,playRoomPassword:o,gameType:n,canVisit:r,canUseExternalImage:a,chatChannelNames:t,viewStates:f,createPassword:u},cmd:"createPlayRoom"})},ddf.changePlayRoom=function(d,e,o,n,r,a,t){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{playRoomName:d,playRoomPassword:e,gameType:o,canVisit:n,canUseExternalImage:r,chatChannelNames:a,viewStates:t},cmd:"changePlayRoom"})},ddf.getPlayRoomInfo=function(d,e){return ddf.sendMsg({room:ddf.userState.room,cmd:"getPlayRoomStates",own:ddf.info.uniqueId+ddf.userState.own,params:{minRoom:d,maxRoom:e}})},ddf.checkRoomStatus=function(d){return ddf.sendMsg({params:{roomNumber:d},cmd:"checkRoomStatus",room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own})},ddf.addBotTable=function(d,e,o,n,r){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{gameType:d,title:e,command:o,dice:n,table:r},cmd:"addBotTable"})},ddf.changeBotTable=function(d,e,o,n,r,a,t){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{originalGameType:d,originalCommand:e,gameType:o,title:n,command:r,dice:a,table:t},cmd:"changeBotTable"})},ddf.removeBotTable=function(d){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{command:d},cmd:"removeBotTable"})},ddf.requestReplayDataList=function(){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{},cmd:"requestReplayDataList"})},ddf.removeReplayData=function(d,e){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{title:d,url:e},cmd:"removeReplayData"})},ddf.getDiceBotInfos=function(){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{},cmd:"getDiceBotInfos"})},ddf.getBotTableInfos=function(){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{},cmd:"getBotTableInfos"})},ddf.refresh=function(){return ddf.sendMsg({room:ddf.userState.room,params:{rIndex:ddf.userState.rIndex++,name:ddf.userState.name,times:ddf.userState.lastUpdateTimes},own:ddf.info.uniqueId+ddf.userState.own,cmd:"refresh"})},ddf.sendChatMessage=function(d,e,o,n,r=!1){return ddf.sendMsg({room:ddf.userState.room,params:{uniqueId:r?"dummy":ddf.info.uniqueId+ddf.userState.own,message:o,senderName:e,color:n,channel:d},own:ddf.info.uniqueId+ddf.userState.own,cmd:"sendChatMessage"})},ddf.sendChatMessageAll=function(d,e,o){return ddf.sendMsg({room:-1,params:{password:d,uniqueId:ddf.info.uniqueId+ddf.userState.own,message:o,senderName:e,color:"000000",channel:0},own:ddf.info.uniqueId+ddf.userState.own,cmd:"sendChatMessageAll"})},ddf.clearGraveyard=function(){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{},cmd:"clearGraveyard"})},ddf.getGraveyardCharacterData=function(){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{},cmd:"getGraveyardCharacterData"})},ddf.resurrectCharacter=function(d){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{imgId:d},cmd:"resurrectCharacter"})},ddf.removePlayRoom=function(d,e,o,n="",r=!1){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{ignoreLoginUser:e,adminPassword:n,password:o,roomNumbers:[d],isForce:r},cmd:"removePlayRoom"})},ddf.getWaitingRoomInfo=function(){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{},cmd:"getWaitingRoomInfo"})},ddf.save=function(){return ddf.sendMsg({extension:"sav",room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{},cmd:"save"})},ddf.saveMap=function(){return ddf.sendMsg({extension:"msv",room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{},cmd:"saveMap"})},ddf.saveAllData=function(d){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{chatPaletteData:d,baseUrl:ddf.base_url},cmd:"saveAllData"})},ddf.getImageTagsAndImageList=function(){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{},cmd:"getImageTagsAndImageList"})},ddf.deleteImage=function(d){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{imageUrlList:d},cmd:"deleteImage"})},ddf.changeImageTags=function(d,e){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{imageUrlList:imageUrlList,tagInfo:e},cmd:"changeImageTags"})},ddf.deleteChatLog=function(){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{},cmd:"deleteChatLog"})},ddf.sendDiceBotChatMessage=function(d,e,o,n,r,a,t,f=!0){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{channel:d,name:e,state:o,color:a,repeatCount:parseInt(n),message:r,gameType:t,isNeedResult:f,randomSeed:65536*Math.random()|0,uniqueId:ddf.info.uniqueId+ddf.userState.own},cmd:"sendDiceBotChatMessage"})},ddf.uploadImageData=function(d,e,o,n,r){return u8array=e,imageDataMsg=msgpack.encode(u8array),imageDataMsg=imageDataMsg.slice(imageDataMsg.indexOf(u8array[0])),ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{tagInfo:null!=r?{password:o,tags:n,roomNumber:r}:{password:o,tags:n},smallImageData:imageDataMsg,imageData:imageDataMsg,imageFileName:d},cmd:"uploadImageData"})},ddf.uploadImageUrl=function(d,e,o,n){return null},ddf.addEffectCharacter=function(d,e,o,n,r,a){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{type:"standingGraphicInfos",name:d,state:e,motion:o,source:n,mirrored:r,leftIndex:a},cmd:"addEffect"})},ddf.changeEffectCharacter=function(d,e,o,n,r,a,t){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{effectId:d,type:"standingGraphicInfos",name:e,state:o,motion:n,source:r,mirrored:a,leftIndex:t},cmd:"changeEffect"})},ddf.addEffect=function(d,e,o,n,r,a,t,f,u,s,m){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{message:d,isTail:e,cutInTag:o,height:n,width:r,position:a,source:t,displaySeconds:f,soundSource:u,volume:s,isSoundLoop:m},cmd:"addEffect"})},ddf.changeEffect=function(d,e,o,n,r,a,t,f,u,s,m,i){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{effectId:d,message:e,isTail:o,cutInTag:n,height:r,width:a,position:t,source:f,displaySeconds:u,soundSource:s,volume:m,isSoundLoop:i},cmd:"changeEffect"})},ddf.removeEffect=function(d){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{effectIds:d},cmd:"removeEffect"})},ddf.changeEffectsAll=function(d){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:d,cmd:"changeEffectsAll"})},ddf.addResource=function(d,e,o,n){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{name:d,value:e,check:o,unit:n},cmd:"addResouce"})},ddf.changeResource=function(d,e,o,n,r){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{resourceId:d,name:e,value:o,check:n,unit:r},cmd:"changeResouce"})},ddf.changeResourcesAll=function(d){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:resouces,cmd:"changeResoucesAll"})},ddf.removeResource=function(d){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{resourceId:d},cmd:"removeResouce"})},ddf.changeRoundTime=function(d,e,o){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{round:d,initiative:e,counterNames:o},cmd:"changeRoundTime"})},ddf.initCards=function(d){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{cardTypeInfos:d},cmd:"initCards"})},ddf.drawCard=function(d,e,o,n,r,a){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{mountName:d,count:e,x:o,y:n,isOpen:r,imgId:a,owner:ddf.info.uniqueId,ownerName:ddf.userinfo.name},cmd:"drawCard"})},ddf.returnCardToMount=function(d,e,o){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{returnCardId:d,cardMountId:e,mountName:o},cmd:"returnCardToMount"})},ddf.dumpTrushCards=function(d,e,o){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{dumpedCardId:d,trushMountId:e,mountName:o},cmd:"dumpTrashCard"})},ddf.shuffleOnlyMountCards=function(d,e){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{mountId:d,mountName:e},cmd:"shuffleOnlyMountCards"})},ddf.drawTargetCard=function(d,e,o,n,r){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{targetCardId:d,mountId:e,mountName:o,x:n,y:r,owner:ddf.info.uniqueId,ownerName:ddf.userinfo.name},cmd:"drawTargetCard"})},ddf.drawTargetTrushCard=function(d,e,o,n,r){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{targetCardId:d,mountId:e,mountName:o,x:n,y:r,owner:ddf.info.uniqueId,ownerName:ddf.userinfo.name},cmd:"drawTargetTrushCard"})},ddf.getMountCardInfos=function(d,e){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{mountId:d,mountName:e},cmd:"getMountCardInfos"})},ddf.getTrushMountCardInfos=function(d,e){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{mountId:d,mountName:e},cmd:"getTrushMountCardInfos"})},ddf.addCardZone=function(d,e){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{x:d,y:e,owner:ddf.info.uniqueId,ownerName:ddf.userinfo.name},cmd:"addCardZone"})},ddf.returnCard=function(d,e,o,n){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{imdId:d,mountName:e,mountName:e,x:o,y:n},cmd:"returnCard"})},ddf.shuffleCards=function(d,e,o){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{mountId:d,mountName:e,mountName:e,isShuffle:o},cmd:"shuffleCards"})},ddf.shuffleForNextRandomDungeon=function(d,e){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{mountId:d,mountName:e,mountName:e},cmd:"shuffleForNextRandomDungeon"})},ddf.getCardList=function(d){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{mountName:d,mountName:d},cmd:"getCardList"})},ddf.addCard=function(d,e,o,n){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{x:d,y:e,imageNameBack:o,imageName:n,canRewrite:!0,isText:!0,mountName:"messageCard",canDelete:!0,isUpDown:!1},cmd:"addCard"})},ddf.moveCharacter=function(d,e,o){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{imgId:d,x:e,y:o},cmd:"moveCharacter"})},ddf.removeCharacter=function(d,e=!0){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:[{imgId:d,isGotoGraveyard:e}],cmd:"removeCharacter"})},ddf.removeCharacters=function(d,e=!0){var o=[];for(id of d)o[o.length]={imgId:id,isGotoGraveyard:e};return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:o,cmd:"removeCharacter"})},ddf.enterWaitingRoomCharacter=function(d,e){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{characterId:d,index:e},cmd:"enterWaitingRoomCharacter"})},ddf.exitWaitingRoomCharacter=function(d,e,o){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{characterId:d,x:e,y:o},cmd:"exitWaitingRoomCharacter"})},ddf.addCharacter=function(d){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:d,cmd:"addCharacter"})},ddf.changeCharacter=function(d){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:d,cmd:"changeCharacter"})},ddf.changeMap=function(d,e,o,n,r,a,t,f,u,s=null){return null==s&&(s=new Array(n).fill(new Array(o).fill(-1))),ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{mapType:d,imageSource:e,xMax:o,yMax:n,gridInterval:r,isAlternately:a,mirrored:t,gridColor:f,mapMarksAlpha:u,mapMarks:s},cmd:"changeMap"})},ddf.drawOnMap=function(d,e,o,n){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{data:{type:d,weight:e,color:o},data:n},cmd:"drawOnMap"})},ddf.convertDrawToImage=function(d){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{fileData:d,tagInfo:{roomNumber:ddf.userState.room}},cmd:"convertDrawToImage"})},ddf.clearDrawOnMap=function(){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{},cmd:"clearDrawOnMap"})},ddf.undoDrawOnMap=function(){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{},cmd:"undoDrawOnMap"})},ddf.clearCharacterByType=function(d){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{type:d},cmd:"clearCharacterByType"})},ddf.uploadReplayData=function(d,e,o,n){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{fileName:d,replayDataName:e,ownUrl:o,fileData:n},cmd:"uploadReplayData"})},ddf.uploadFile=function(d,e,o){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{fileName:d,baseUrl:e,fileData:o},cmd:"uploadFile"})},ddf.load=function(d,e,o=null){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{fileName:d,fileData:e,targets:o},cmd:"load"})},module.exports=ddf; +msgpack=require("msgpack-lite");var ddf={};ddf.patterns={},ddf.base_url="",ddf.isDebug=!1,ddf.version=require("./package.json").version,ddf.sendMsg=function(d,e="json"){return new Promise(function(o,n){var r=new XMLHttpRequest;r.open("POST",ddf.base_url+"DodontoFServer.rb",!0),r.onload=function(d){o(d.target.response)},r.onerror=function(d){o(d.target.statusText)},r.responseType=e,r.setRequestHeader("Content-Type","application/x-msgpack"),r.send(msgpack.encode(d))}).catch(function(d){console.log("ddf.sendMsg rejected ("+d+")")}).then(function(e){return ddf.isDebug&&console.log({caller:d.cmd,param:d,result:e}),e})},ddf.util={},ddf.util.getUniqueId=function(){return Math.random().toString(36).replace(/[^a-zA-Z0-9]+/g,"").substr(1,8)},ddf.util.getDiceBotName=function(d){return"diceBot"==d&&(d="Dicebot"),result=ddf.info.diceBotInfos.find(function(d){return this==d.gameType},d),result?result.name:""},ddf.util.hashSort=function(d,e=null,o=!1){var n=[];for(key in d)void 0==key&&void 0==has[key]||(n[n.length]={key:key,val:e(d[key])});if(n.sort(function(d,e){return d.val>e.val?1:-1}),o)return n.map(function(d){return d.val});var r=[];for(obj of n)r[obj.key]=d[obj.key];return r},ddf.userState={},ddf.getLoginInfo=function(d=null){return ddf.sendMsg({room:ddf.userState.room,cmd:"getLoginInfo",own:ddf.userState.own,params:{uniqueId:d}})},ddf.loginPassword=function(d,e,o){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{roomNumber:d,password:e,visiterMode:o},cmd:"loginPassword"})},ddf.logout=function(){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{uniqueId:ddf.info.uniqueId+ddf.userState.own},cmd:"logout"})},ddf.removeOldPlayRoom=function(){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{},cmd:"removeOldPlayRoom"})},ddf.createPlayRoom=function(d,e,o,n,r,a,t,f,u){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{playRoomIndex:d,playRoomName:e,playRoomPassword:o,gameType:n,canVisit:r,canUseExternalImage:a,chatChannelNames:t,viewStates:f,createPassword:u},cmd:"createPlayRoom"})},ddf.changePlayRoom=function(d,e,o,n,r,a,t){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{playRoomName:d,playRoomPassword:e,gameType:o,canVisit:n,canUseExternalImage:r,chatChannelNames:a,viewStates:t},cmd:"changePlayRoom"})},ddf.getPlayRoomInfo=function(d,e){return ddf.sendMsg({room:ddf.userState.room,cmd:"getPlayRoomStates",own:ddf.info.uniqueId+ddf.userState.own,params:{minRoom:d,maxRoom:e}})},ddf.checkRoomStatus=function(d){return ddf.sendMsg({params:{roomNumber:d},cmd:"checkRoomStatus",room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own})},ddf.addBotTable=function(d,e,o,n,r){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{gameType:d,title:e,command:o,dice:n,table:r},cmd:"addBotTable"})},ddf.changeBotTable=function(d,e,o,n,r,a,t){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{originalGameType:d,originalCommand:e,gameType:o,title:n,command:r,dice:a,table:t},cmd:"changeBotTable"})},ddf.removeBotTable=function(d){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{command:d},cmd:"removeBotTable"})},ddf.requestReplayDataList=function(){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{},cmd:"requestReplayDataList"})},ddf.removeReplayData=function(d,e){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{title:d,url:e},cmd:"removeReplayData"})},ddf.getDiceBotInfos=function(){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{},cmd:"getDiceBotInfos"})},ddf.getBotTableInfos=function(){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{},cmd:"getBotTableInfos"})},ddf.refresh=function(){return ddf.sendMsg({room:ddf.userState.room,params:{rIndex:ddf.userState.rIndex++,name:ddf.userState.name,times:ddf.userState.lastUpdateTimes},own:ddf.info.uniqueId+ddf.userState.own,cmd:"refresh"})},ddf.sendChatMessage=function(d,e,o,n,r=!1){return ddf.sendMsg({room:ddf.userState.room,params:{uniqueId:r?"dummy":ddf.info.uniqueId+ddf.userState.own,message:o,senderName:e,color:n,channel:d},own:ddf.info.uniqueId+ddf.userState.own,cmd:"sendChatMessage"})},ddf.sendChatMessageAll=function(d,e,o){return ddf.sendMsg({room:-1,params:{password:d,uniqueId:ddf.info.uniqueId+ddf.userState.own,message:o,senderName:e,color:"000000",channel:0},own:ddf.info.uniqueId+ddf.userState.own,cmd:"sendChatMessageAll"})},ddf.clearGraveyard=function(){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{},cmd:"clearGraveyard"})},ddf.getGraveyardCharacterData=function(){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{},cmd:"getGraveyardCharacterData"})},ddf.resurrectCharacter=function(d){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{imgId:d},cmd:"resurrectCharacter"})},ddf.removePlayRoom=function(d,e,o,n="",r=!1){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{ignoreLoginUser:e,adminPassword:n,password:o,roomNumbers:[d],isForce:r},cmd:"removePlayRoom"})},ddf.getWaitingRoomInfo=function(){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{},cmd:"getWaitingRoomInfo"})},ddf.save=function(){return ddf.sendMsg({extension:"sav",room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{},cmd:"save"})},ddf.saveMap=function(){return ddf.sendMsg({extension:"msv",room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{},cmd:"saveMap"})},ddf.saveAllData=function(d){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{chatPaletteData:d,baseUrl:ddf.base_url},cmd:"saveAllData"})},ddf.getImageTagsAndImageList=function(){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{},cmd:"getImageTagsAndImageList"})},ddf.deleteImage=function(d){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{imageUrlList:d},cmd:"deleteImage"})},ddf.changeImageTags=function(d,e){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{imageUrlList:imageUrlList,tagInfo:e},cmd:"changeImageTags"})},ddf.deleteChatLog=function(){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{},cmd:"deleteChatLog"})},ddf.sendDiceBotChatMessage=function(d,e,o,n,r,a,t,f=!0){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{channel:d,name:e,state:o,color:a,repeatCount:parseInt(n),message:r,gameType:t,isNeedResult:f,randomSeed:65536*Math.random()|0,uniqueId:ddf.info.uniqueId+ddf.userState.own},cmd:"sendDiceBotChatMessage"})},ddf.uploadImageData=function(d,e,o,n,r){return u8array=e,imageDataMsg=msgpack.encode(u8array),imageDataMsg=imageDataMsg.slice(imageDataMsg.indexOf(u8array[0])),ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{tagInfo:null!=r?{password:o,tags:n,roomNumber:r}:{password:o,tags:n},smallImageData:imageDataMsg,imageData:imageDataMsg,imageFileName:d},cmd:"uploadImageData"})},ddf.uploadImageUrl=function(d,e,o,n){return null},ddf.addEffectCharacter=function(d,e,o,n,r,a){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{type:"standingGraphicInfos",name:d,state:e,motion:o,source:n,mirrored:r,leftIndex:a},cmd:"addEffect"})},ddf.changeEffectCharacter=function(d,e,o,n,r,a,t){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{effectId:d,type:"standingGraphicInfos",name:e,state:o,motion:n,source:r,mirrored:a,leftIndex:t},cmd:"changeEffect"})},ddf.addEffect=function(d,e,o,n,r,a,t,f,u,s,m){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{message:d,isTail:e,cutInTag:o,height:n,width:r,position:a,source:t,displaySeconds:f,soundSource:u,volume:s,isSoundLoop:m},cmd:"addEffect"})},ddf.changeEffect=function(d,e,o,n,r,a,t,f,u,s,m,i){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{effectId:d,message:e,isTail:o,cutInTag:n,height:r,width:a,position:t,source:f,displaySeconds:u,soundSource:s,volume:m,isSoundLoop:i},cmd:"changeEffect"})},ddf.removeEffect=function(d){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{effectIds:d},cmd:"removeEffect"})},ddf.changeEffectsAll=function(d){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:d,cmd:"changeEffectsAll"})},ddf.addResource=function(d,e,o,n){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{name:d,value:e,check:o,unit:n},cmd:"addResouce"})},ddf.changeResource=function(d,e,o,n,r){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{resourceId:d,name:e,value:o,check:n,unit:r},cmd:"changeResouce"})},ddf.changeResourcesAll=function(d){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:resouces,cmd:"changeResoucesAll"})},ddf.removeResource=function(d){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{resourceId:d},cmd:"removeResouce"})},ddf.changeRoundTime=function(d,e,o){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{round:d,initiative:e,counterNames:o},cmd:"changeRoundTime"})},ddf.initCards=function(d){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{cardTypeInfos:d},cmd:"initCards"})},ddf.drawCard=function(d,e,o,n,r,a){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{mountName:d,count:e,x:o,y:n,isOpen:r,imgId:a,owner:ddf.info.uniqueId,ownerName:ddf.userinfo.name},cmd:"drawCard"})},ddf.returnCardToMount=function(d,e,o){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{returnCardId:d,cardMountId:e,mountName:o},cmd:"returnCardToMount"})},ddf.dumpTrushCards=function(d,e,o){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{dumpedCardId:d,trushMountId:e,mountName:o},cmd:"dumpTrashCard"})},ddf.shuffleOnlyMountCards=function(d,e){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{mountId:d,mountName:e},cmd:"shuffleOnlyMountCards"})},ddf.drawTargetCard=function(d,e,o,n,r){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{targetCardId:d,mountId:e,mountName:o,x:n,y:r,owner:ddf.info.uniqueId,ownerName:ddf.userinfo.name},cmd:"drawTargetCard"})},ddf.drawTargetTrushCard=function(d,e,o,n,r){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{targetCardId:d,mountId:e,mountName:o,x:n,y:r,owner:ddf.info.uniqueId,ownerName:ddf.userinfo.name},cmd:"drawTargetTrushCard"})},ddf.getMountCardInfos=function(d,e){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{mountId:d,mountName:e},cmd:"getMountCardInfos"})},ddf.getTrushMountCardInfos=function(d,e){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{mountId:d,mountName:e},cmd:"getTrushMountCardInfos"})},ddf.addCardZone=function(d,e){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{x:d,y:e,owner:ddf.info.uniqueId,ownerName:ddf.userinfo.name},cmd:"addCardZone"})},ddf.returnCard=function(d,e,o,n){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{imdId:d,mountName:e,mountName:e,x:o,y:n},cmd:"returnCard"})},ddf.shuffleCards=function(d,e,o){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{mountId:d,mountName:e,mountName:e,isShuffle:o},cmd:"shuffleCards"})},ddf.shuffleForNextRandomDungeon=function(d,e){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{mountId:d,mountName:e,mountName:e},cmd:"shuffleForNextRandomDungeon"})},ddf.getCardList=function(d){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{mountName:d,mountName:d},cmd:"getCardList"})},ddf.addCard=function(d,e,o,n){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{x:d,y:e,imageNameBack:o,imageName:n,canRewrite:!0,isText:!0,mountName:"messageCard",canDelete:!0,isUpDown:!1},cmd:"addCard"})},ddf.moveCharacter=function(d,e,o){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{imgId:d,x:e,y:o},cmd:"moveCharacter"})},ddf.removeCharacter=function(d,e=!0){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:[{imgId:d,isGotoGraveyard:e}],cmd:"removeCharacter"})},ddf.removeCharacters=function(d,e=!0){var o=[];for(id of d)o[o.length]={imgId:id,isGotoGraveyard:e};return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:o,cmd:"removeCharacter"})},ddf.enterWaitingRoomCharacter=function(d,e){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{characterId:d,index:e},cmd:"enterWaitingRoomCharacter"})},ddf.exitWaitingRoomCharacter=function(d,e,o){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{characterId:d,x:e,y:o},cmd:"exitWaitingRoomCharacter"})},ddf.addCharacter=function(d){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:d,cmd:"addCharacter"})},ddf.changeCharacter=function(d){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:d,cmd:"changeCharacter"})},ddf.changeMap=function(d,e,o,n,r,a,t,f,u,s=null){return null==s&&(s=new Array(n).fill(new Array(o).fill(-1))),ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{mapType:d,imageSource:e,xMax:o,yMax:n,gridInterval:r,isAlternately:a,mirrored:t,gridColor:f,mapMarksAlpha:u,mapMarks:s},cmd:"changeMap"})},ddf.drawOnMap=function(d,e,o,n){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{data:{type:d,weight:e,color:o},data:n},cmd:"drawOnMap"})},ddf.convertDrawToImage=function(d){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{fileData:d,tagInfo:{roomNumber:ddf.userState.room}},cmd:"convertDrawToImage"})},ddf.clearDrawOnMap=function(){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{},cmd:"clearDrawOnMap"})},ddf.undoDrawOnMap=function(){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{},cmd:"undoDrawOnMap"})},ddf.clearCharacterByType=function(d){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{type:d},cmd:"clearCharacterByType"})},ddf.uploadReplayData=function(d,e,o,n){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{fileName:d,replayDataName:e,ownUrl:o,fileData:n},cmd:"uploadReplayData"})},ddf.uploadFile=function(d,e,o){return ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{fileName:d,baseUrl:e,fileData:o},cmd:"uploadFile"})},ddf.load=function(d,e,o=null){return u8array=e,fileDataMsg=msgpack.encode(u8array),fileDataMsg=fileDataMsg.slice(fileDataMsg.indexOf(u8array[0])),ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{fileName:d,fileData:fileDataMsg,targets:o},cmd:"load"})},ddf.loadAllSaveData=function(d,e){return u8array=e,fileDataMsg=msgpack.encode(u8array),fileDataMsg=fileDataMsg.slice(fileDataMsg.indexOf(u8array[0])),ddf.sendMsg({room:ddf.userState.room,own:ddf.info.uniqueId+ddf.userState.own,params:{fileName:d,fileData:fileDataMsg},cmd:"loadAllSaveData"})},module.exports=ddf; -},{"./package.json":4,"msgpack-lite":9}]},{},[]); +},{"./package.json":36,"msgpack-lite":8}]},{},[]); var ddf = require("ddf"); diff --git a/doc/index.html b/doc/index.html index 69eabde..c0d92c3 100644 --- a/doc/index.html +++ b/doc/index.html @@ -24,7 +24,7 @@
@@ -57,7 +57,7 @@
- Generated by JSDoc 3.5.5 on Tue Dec 19 2017 11:04:50 GMT+0900 (東京 (標準時)) using the Minami theme. + Generated by JSDoc 3.5.5 on Thu Dec 21 2017 20:28:40 GMT+0900 (東京 (標準時)) using the Minami theme.
diff --git a/doc/index.js.html b/doc/index.js.html index eed691b..13b326f 100644 --- a/doc/index.js.html +++ b/doc/index.js.html @@ -24,7 +24,7 @@
@@ -1705,18 +1705,44 @@

index.js

* @return {Promise} */ ddf.load = function(fileName, fileData, targets = null){ + u8array = fileData; + fileDataMsg = msgpack.encode(u8array); + fileDataMsg = fileDataMsg.slice(fileDataMsg.indexOf(u8array[0])); return ddf.sendMsg({ room: ddf.userState.room, own: ddf.info.uniqueId + ddf.userState.own, params: { fileName: fileName, - fileData: fileData, + fileData: fileDataMsg, targets: targets }, cmd: "load" }); }; +/** + * @function load + * @description セーブデータを読み込む + * @param {String} fileName ローカルファイル名 + * @param {String} fileData ファイルの内容 + * @param {Array(String)} [targets=null] 読み込む対象 + * @return {Promise} + */ +ddf.loadAllSaveData = function(fileName, fileData){ + u8array = fileData; + fileDataMsg = msgpack.encode(u8array); + fileDataMsg = fileDataMsg.slice(fileDataMsg.indexOf(u8array[0])); + return ddf.sendMsg({ + room: ddf.userState.room, + own: ddf.info.uniqueId + ddf.userState.own, + params: { + fileName: fileName, + fileData: fileDataMsg, + }, + cmd: "loadAllSaveData" + }); +}; + module.exports = ddf; @@ -1729,7 +1755,7 @@

index.js


- Generated by JSDoc 3.5.5 on Tue Dec 19 2017 11:04:50 GMT+0900 (東京 (標準時)) using the Minami theme. + Generated by JSDoc 3.5.5 on Thu Dec 21 2017 20:28:40 GMT+0900 (東京 (標準時)) using the Minami theme.
diff --git a/doc/module-ddf.html b/doc/module-ddf.html index 05b6a51..daeb066 100644 --- a/doc/module-ddf.html +++ b/doc/module-ddf.html @@ -24,7 +24,7 @@
@@ -9418,6 +9418,258 @@

(inner) loadSource: +
+ + + + + + + + + + + + + + + + + +
Parameters:
+ + +

${room.index}${encode(room.playRoomName)}${encode(ddf.util.getDiceBotName(room.gameType))}${room.loginUsers.length}${room.passwordLockState?\"有り\":\"--\"}${room.canVisit?\"可\":\"--\"}${room.lastUpdateTime?room.lastUpdateTime:\"\"}

順番

イニシアティブ

修正値

名前

${encode(counter.replace(/^\\*/, \"\"))}

その他

${(character.data.initiative==refreshData.roundTimeData.initiative?\"●\":\"\")}${encode(character.data.name)}${character.data.statusAlias[counter]?character.data.statusAlias[counter]:\"\"}
${room.index}${encode(room.playRoomName)}${encode(ddf.util.getDiceBotName(room.gameType))}${room.loginUsers.length}${room.passwordLockState?\"有り\":\"--\"}${room.canVisit?\"可\":\"--\"}${room.lastUpdateTime?room.lastUpdateTime:\"\"}

順番

イニシアティブ

修正値

名前

${encode(counter.replace(/^\\*/, \"\"))}

その他

${(character.data.initiative==refreshData.roundTimeData.initiative?\"●\":\"\")}${encode(character.data.name)}${character.data.statusAlias[counter]?character.data.statusAlias[counter]:\"\"}
${room.index}${encode(room.playRoomName)}${encode(ddf.util.getDiceBotName(room.gameType))}${room.loginUsers.length}${room.passwordLockState?"有り":"--"}${room.canVisit?"可":"--"}${room.lastUpdateTime?room.lastUpdateTime:""}

順番

イニシアティブ

修正値

名前

${encode(counter.replace(/^\*/, ""))}

その他

${(character.data.initiative==refreshData.roundTimeData.initiative?"●":"")}${encode(character.data.name)}${character.data.statusAlias[counter]?character.data.statusAlias[counter]:""}
${room.index}${encode(room.playRoomName)}${encode(ddf.util.getDiceBotName(room.gameType))}${room.loginUsers.length}${room.passwordLockState?"有り":"--"}${room.canVisit?"可":"--"}${room.lastUpdateTime?room.lastUpdateTime:""}

順番

イニシアティブ

修正値

名前

${encode(counter.replace(/^\*/,""))}

その他

${r.data.initiative==e.roundTimeData.initiative?"●":""}${encode(r.data.name)}${r.data.statusAlias[counter]?r.data.statusAlias[counter]:""}
イニシアティブ修正値${match[1]}${item}
イニシアティブ修正値${match[1]}${item}
${encode(item.name)}${encode(item.state)}${encode(item.leftIndex)}

${encode(item.source)}

${encode(item.name)}${encode(item.state)}${encode(item.leftIndex)}

${encode(item.source)}

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
fileName + + +String + + + + + + + + + + + + + ローカルファイル名 + +
fileData + + +String + + + + + + + + + + + + + ファイルの内容 + +
targets + + +Array(String) + + + + + + <optional>
+ + + + + +
+ + null + + + 読み込む対象 + +
+ + + + + + + + + + + + + + +
+
Returns:
+ + + +
+
+ Type: +
+
+ +Promise + + +
+
+ + + +
+ + + +
+ + +
+ + + +

(inner) load(fileName, fileData, targetsopt) → {Promise}

+ + + + + +
+ セーブデータを読み込む +
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + @@ -15688,7 +15940,7 @@
Returns:

- Generated by JSDoc 3.5.5 on Tue Dec 19 2017 11:04:50 GMT+0900 (東京 (標準時)) using the Minami theme. + Generated by JSDoc 3.5.5 on Thu Dec 21 2017 20:28:40 GMT+0900 (東京 (標準時)) using the Minami theme.
diff --git a/local/.gitkeep b/local/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/src/js/index.js b/src/js/index.js index 77885ce..e23c800 100644 --- a/src/js/index.js +++ b/src/js/index.js @@ -227,6 +227,7 @@ $(() => { } }); + $("#initiative table").colResizable({partialRefresh: true}); }); ddf.safeDragDestoroy = () => { @@ -813,6 +814,8 @@ function refresh_parseViewStateInfo(refreshData){ $("#btn_displayinitiative").addClass("checked"); $("#initiative").show(); + + $("#initiative table").colResizable({partialRefresh: true}); } break; case "isResourceWindowVisible": @@ -1240,18 +1243,19 @@ function refresh_parseRoundTimeData(refreshData, force = false){ ); } } + $("#initiative table").colResizable({partialRefresh: true}); }else{ - ddf.roomState.ini_characters = ddf.util.hashSort(ddf.roomState.ini_characters, (obj) => {return obj.data.initiative}); - for(key in ddf.roomState.ini_characters){ - var character = ddf.roomState.ini_characters[key]; - if(character != undefined){ - character.row.children("td:eq(0)").text(character.data.initiative==refreshData.roundTimeData.initiative?"●":""); - $("#initiative table tbody tr:eq(0)").before( - character.row - ); - } + ddf.roomState.ini_characters = ddf.util.hashSort(ddf.roomState.ini_characters, (obj) => {return obj.data.initiative}); + for(key in ddf.roomState.ini_characters){ + var character = ddf.roomState.ini_characters[key]; + if(character != undefined){ + character.row.children("td:eq(0)").text(character.data.initiative==refreshData.roundTimeData.initiative?"●":""); + $("#initiative table tbody tr:eq(0)").before( + character.row + ); } } + } $("#round").text(refreshData.roundTimeData.round); $("#now_ini").text(refreshData.roundTimeData.initiative); diff --git a/src/js/room_menu.js b/src/js/room_menu.js index 7292a0e..4a92f21 100644 --- a/src/js/room_menu.js +++ b/src/js/room_menu.js @@ -1,13 +1,35 @@ $(() => { /*プレイルームメニュー*/ $("#btn_save").on("click", (e) => { + ddf.save().then((r) => { + if(r.result == "OK"){ + obj = $(`.`); + $("body").append(obj); + obj[0].click(); + obj.remove(); + } + }); }); - $("#btn_load").on("click", (e) => { - }); + /*$("#btn_load").on("click", (e) => { + });*/ $("#btn_saveall").on("click", (e) => { + data = JSON.stringify({ + saveData: { + tabInfos: tab + }, + saveDataTypeName: "ChatPalette2" + }); + ddf.saveAllData(data).then((r) => { + if(r.result == "OK"){ + obj = $(`.`); + $("body").append(obj); + obj[0].click(); + obj.remove(); + } + }); }); - $("#btn_loadall").on("click", (e) => { - }); + /*$("#btn_loadall").on("click", (e) => { + });*/ /*$("#btn_savechatlog, #btn_saveChatLog2").on("click", (e) => { });*/ $("#btn_startrecord").on("click", (e) => { @@ -93,6 +115,11 @@ $(() => { $("#btn_resetwindow").on("click", (e) => { }); $("#btn_resetdisplay").on("click", (e) => { + if(confirm("ウィンドウ位置等の表示情報を初期化しますか?\n(初期化した場合再ログインが必要です)")){ + ddf.cmd.clearUserState(); + window.onbeforeunload = null; + location.reload(); + } }); /*$("#btn_addCharacter").on("click", (e) => { diff --git a/src/js/window/.loading.js b/src/js/window/.loading.js index a7e6ea6..1ecd107 100644 --- a/src/js/window/.loading.js +++ b/src/js/window/.loading.js @@ -5,6 +5,7 @@ $(() => { require("./roomDelete.js"); require("./saveChatLog.js"); + require("./loadSaveData.js"); require("./chatPalette.js"); require("./graveyard.js"); diff --git a/src/js/window/chatPalette.js b/src/js/window/chatPalette.js index 1343d70..86a686e 100644 --- a/src/js/window/chatPalette.js +++ b/src/js/window/chatPalette.js @@ -100,7 +100,7 @@ $("#chatPalette_load").on('click', (e) => { $(".draggable:not(#window_chatPalette_import)").css("zIndex", 150); }); -$form = $("#chatPalette_import_droparea"); +let $form = $("#chatPalette_import_droparea"); (($form) => { $("#chatPalette_import_droparea ~ .overwrap").on('dragenter', () => { diff --git a/src/js/window/loadSaveData.js b/src/js/window/loadSaveData.js new file mode 100644 index 0000000..7b09add --- /dev/null +++ b/src/js/window/loadSaveData.js @@ -0,0 +1,145 @@ +$("#btn_load").on('click', (e) => { + $("#window_loadSaveData [name=\"datatype\"][value=\"all\"]").prop("checked", true); + $("#window_loadSaveData [type=\"checkbox\"]").prop("checked", false).prop("disabled", true); + + $("#window_loadSaveData").show().css("zIndex", "151"); + $(".draggable:not(#window_loadSaveData)").css("zIndex", "150"); + $("#window_loadSaveData_import").hide(); +}); + +$("#window_loadSaveData [name=\"datatype\"]").on('click', (e) => { + if($("#window_loadSaveData [name=\"datatype\"]:checked").val() == "all"){ + $("#window_loadSaveData [type=\"checkbox\"]").prop("disabled", true); + }else{ + $("#window_loadSaveData [type=\"checkbox\"]").prop("disabled", false); + } +}); + +$("#loadSaveData_close, #loadSaveData_close2").on('click', (e) => { + $("#window_loadSaveData").hide(); +}); + +$("#loadSaveData_import_close").on('click', (e) => { + $("#window_loadSaveData_import").hide(); +}); + +$("#loadSaveData_send").on('click', (e) => { + $("#window_loadSaveData").hide(); + + if($("#window_loadSaveData [name=\"datatype\"]:checked").val() == "all"){ + $("#loadSaveData_import_target").val("all"); + }else{ + $("#loadSaveData_import_target").val($("#window_loadSaveData [type=\"checkbox\"]:checked").map((k,v)=>{return v.value;}).toArray().join()); + } + + $("#window_loadSaveData_import").show().css("zIndex", "151"); + $(".draggable:not(#window_loadSaveData_import)").css("zIndex", "150"); +}); + +$("#btn_loadall").on('click', (e) => { + $("#loadSaveData_import_target").val("allData"); + + $("#window_loadSaveData_import").show().css("zIndex", "151"); + $(".draggable:not(#window_loadSaveData_import)").css("zIndex", "150"); + $("#window_loadSaveData").hide(); +}); + +$("#window_loadSaveData_import :file").on('change', (e) => { + arr = []; + for(item of $("#window_loadSaveData_import :file")[0].files){ + arr.push(item); + } + loadSaveData_import_uploadfiles(arr); +}); + + +let $form = $("#loadSaveData_import_droparea"); + +(($form) => { + $("#loadSaveData_import_droparea ~ .overwrap").on('dragenter', () => { + $form.addClass('is-dragover'); + }); + + $form.on('drag dragstart dragend dragover dragenter dragleave drop', (e) => { + e.preventDefault(); + e.stopPropagation(); + }) + .on('dragover dragenter', () => { + $form.addClass('is-dragover'); + }) + .on('dragleave dragend drop', () => { + $form.removeClass('is-dragover'); + }) + .on('drop', (e) => { + droppedFiles = e.originalEvent.dataTransfer.files; + + if($("#loadSaveData_import_target").val() == "allData"){ + if(/application\/x-gzip/.test(file.type)){ + loadSaveData_import_uploadfiles(droppedFiles); + } + }else if($("#loadSaveData_import_target").val() == "mapData"){ + if(/\.msv$/.test(file.name)){ + loadSaveData_import_uploadfiles(droppedFiles); + } + }else{ + if(/\.sav$/.test(file.name)){ + loadSaveData_import_uploadfiles(droppedFiles); + } + } + }); +})($form); + +function loadSaveData_import_uploadfiles(droppedFiles){ + for(file of droppedFiles){ + new Promise((success, error)=>{ + let fr = new FileReader(); + + fr.onload = success; + + fr.readAsArrayBuffer(file); + }).then((r) => { + console.log(r); + console.log(file); + let data = new Uint8Array(r.target.result); + if($("#loadSaveData_import_target").val() == "allData"){ + ddf.loadAllSaveData(file.name, data).then((r) => { + $("#window_loadSaveData_import").hide(); + }); + }else if($("#loadSaveData_import_target").val() == "all"){ + ddf.load(file.name, data).then((r) => { + $("#window_loadSaveData_import").hide(); + }); + }else if($("#loadSaveData_import_target").val() == "mapData"){ + ddf.load(file.name, data, ["map", "mapMask", "mapMarker"]).then((r) => { + $("#window_loadSaveData_import").hide(); + }); + }else{ + ddf.load(file.name, data, $("#loadSaveData_import_target").val().split(",")).then((r) => { + $("#window_loadSaveData_import").hide(); + }); + } + }); + } + $("#window_loadSaveData_import").hide(); +} + +$("#window_loadSaveData_import .overwrap a").on('click', (e) => { + if($("#loadSaveData_import_target").val() == "allData"){ + $("#window_loadSaveData_import .overwrap :file").attr("accept", ".tar.gz"); + }else if($("#loadSaveData_import_target").val() == "mapData"){ + $("#window_loadSaveData_import .overwrap :file").attr("accept", ".msv"); + }else{ + $("#window_loadSaveData_import .overwrap :file").attr("accept", ".sav"); + } + $("#window_loadSaveData_import .overwrap :file").click(); + return false; +}); + + +$("#btn_mapchange").on('click', (e) => { + $("#loadSaveData_import_target").val("mapData"); + + $("#window_loadSaveData_import").show().css("zIndex", "151"); + $(".draggable:not(#window_loadSaveData_import)").css("zIndex", "150"); + $("#window_loadSaveData").hide(); +}); \ No newline at end of file diff --git a/src/js/window/upload.js b/src/js/window/upload.js index 7b4530c..07fe540 100644 --- a/src/js/window/upload.js +++ b/src/js/window/upload.js @@ -6,7 +6,7 @@ $("#btn_imageupload").on("click", (e) => { var upload_uploadlist = []; -$form = $("#upload_droparea"); +let $form = $("#upload_droparea"); $("#upload_droparea ~ .overwrap").on('dragenter', () => { $form.addClass('is-dragover'); diff --git a/src/module/index.js b/src/module/index.js index d85ab75..78e8068 100644 --- a/src/module/index.js +++ b/src/module/index.js @@ -1664,16 +1664,42 @@ ddf.uploadFile = function(fileName, baseUrl, fileData){ * @return {Promise} */ ddf.load = function(fileName, fileData, targets = null){ + u8array = fileData; + fileDataMsg = msgpack.encode(u8array); + fileDataMsg = fileDataMsg.slice(fileDataMsg.indexOf(u8array[0])); return ddf.sendMsg({ room: ddf.userState.room, own: ddf.info.uniqueId + ddf.userState.own, params: { fileName: fileName, - fileData: fileData, + fileData: fileDataMsg, targets: targets }, cmd: "load" }); }; +/** + * @function load + * @description セーブデータを読み込む + * @param {String} fileName ローカルファイル名 + * @param {String} fileData ファイルの内容 + * @param {Array(String)} [targets=null] 読み込む対象 + * @return {Promise} + */ +ddf.loadAllSaveData = function(fileName, fileData){ + u8array = fileData; + fileDataMsg = msgpack.encode(u8array); + fileDataMsg = fileDataMsg.slice(fileDataMsg.indexOf(u8array[0])); + return ddf.sendMsg({ + room: ddf.userState.room, + own: ddf.info.uniqueId + ddf.userState.own, + params: { + fileName: fileName, + fileData: fileDataMsg, + }, + cmd: "loadAllSaveData" + }); +}; + module.exports = ddf; \ No newline at end of file diff --git a/src/pug/_playRoom.pug b/src/pug/_playRoom.pug index 9364a04..9513f7e 100644 --- a/src/pug/_playRoom.pug +++ b/src/pug/_playRoom.pug @@ -23,4 +23,5 @@ include window/_playRoomInfo.pug include window/_characterCutin.pug include window/_chatFont.pug - include window/_chatPalette.pug \ No newline at end of file + include window/_chatPalette.pug + include window/_loadSaveData.pug \ No newline at end of file diff --git a/src/pug/_playRoom_menu.pug b/src/pug/_playRoom_menu.pug index 6c1d1b0..530a9d4 100644 --- a/src/pug/_playRoom_menu.pug +++ b/src/pug/_playRoom_menu.pug @@ -2,11 +2,11 @@ .menuarea .dropdown ファイル .dropdown-content - button#btn_save(disabled) セーブ - button#btn_load(disabled) ロード + button#btn_save セーブ + button#btn_load ロード hr - button#btn_saveall(disabled) 全データセーブ - button#btn_loadall(disabled) 全データロード(旧:シナリオデータ読み込み) + button#btn_saveall 全データセーブ + button#btn_loadall 全データロード(旧:シナリオデータ読み込み) hr button#btn_savechatlog チャットログ保存 hr @@ -39,7 +39,7 @@ button#btn_changefont(disabled) フォントサイズ変更 hr button#btn_resetwindow(disabled) ウィンドウ配置初期化 - button#btn_resetdisplay(disabled) 表示状態初期化 + button#btn_resetdisplay 表示状態初期化 .dropdown コマ .dropdown-content button#btn_createcharacter キャラクター追加 @@ -73,7 +73,7 @@ button#btn_mapmodify(disabled) 簡易マップ作成 hr button#btn_mapsave マップ状態保存 - button#btn_mapchange(disabled) マップ切り替え + button#btn_mapchange マップ切り替え .dropdown 画像 .dropdown-content button#btn_imageupload ファイルアップローダー @@ -91,12 +91,12 @@ img#btn_zoomout(src="img/icons/zoom_out.png") button#btn_member ルームNo.X:0名 button#btn_memo 共有メモ - button#btn_draw.disabled + button#btn_draw(disabled) img(src="img/icons/pencil.gif") | 手書き button#btn_graveyard2 墓場 button#btn_logout2.pull-right img(src="img/icons/door_out.png") | ログアウト - button#btn_screenshot.disabled.pull-right + button#btn_screenshot(disabled).pull-right img(src="img/icons/camera.png") \ No newline at end of file diff --git a/src/pug/index.pug b/src/pug/index.pug index 7bce62a..b7df315 100644 --- a/src/pug/index.pug +++ b/src/pug/index.pug @@ -12,6 +12,7 @@ html(lang='ja') script(src='https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js') script(src='js/jquery.tablesorter.min.js') script(src='js/jquery.contextMenu.js') + script(src='js/colResizable-1.6.min.js') script(src='js/spectrum.js') script(src='js/lib/htmlspecialchars.js') script(src='js/lib/dateformat.js') diff --git a/src/pug/window/_initiative.pug b/src/pug/window/_initiative.pug index 33df247..f428922 100644 --- a/src/pug/window/_initiative.pug +++ b/src/pug/window/_initiative.pug @@ -10,8 +10,8 @@ button#initiative_next 次へ button#initiative_reset 戦闘開始 button#initiative_change 設定 - div#wrap - table.dragprev + div#wrap.dragprev + table thead tr tbody diff --git a/src/pug/window/_loadSaveData.pug b/src/pug/window/_loadSaveData.pug new file mode 100644 index 0000000..6840c0e --- /dev/null +++ b/src/pug/window/_loadSaveData.pug @@ -0,0 +1,74 @@ +#window_loadSaveData.draggable + .bg + div + span.title ロード + .pull-right#loadSaveData_close2 × + .body.dragprev + .row + input(type="radio",name="datatype",value="all") + | 全データをロードする(現在のデータはすべて破棄されます) + .row + input(type="radio",name="datatype",value="part") + | 一部データのみをロードする。 + .row + input(type="checkbox",value="map") + | マップを変更する + .row + | 以下は現状に該当データを追加します(現在のデータは保持されます) + .row + input(type="checkbox",value="floorTile") + | フロアタイル + .row + input(type="checkbox",value="mapMask") + | マップマスク + .row + input(type="checkbox",value="mapMarker") + | マップマーカー + .row + input(type="checkbox",value="characterData") + | キャラクター + .row + input(type="checkbox",value="characterWaitingRoom") + | キャラクター待合室 + .row + input(type="checkbox",value="magicRangeMarker,magicRangeMarkerDD4th") + | 魔法範囲 + .row + input(type="checkbox",value="Memo") + | 共有メモ + .row + input(type="checkbox",value="standingGraphicInfos") + | 立ち絵 + .row + input(type="checkbox",value="cutIn") + | カットイン + .row + input(type="checkbox",value="Card") + | カード + .row + input(type="checkbox",value="initiative") + | イニシアティブ表 + .row + input(type="checkbox",value="resource") + | リソース + .row + input(type="checkbox",value="diceBotTable") + | ダイスボット表 + .row.center + button#loadSaveData_send 実行 + button#loadSaveData_close キャンセル +#window_loadSaveData_import.draggable + .bg + div + span.title ロード + .pull-right#loadSaveData_import_close × + .body.dragprev + input(type="hidden")#loadSaveData_import_target + #loadSaveData_import_droparea + .overwrap + input(type="file",accept="").hide + a(href="#") ファイルを選択 + br + |  または  + br + | ファイルをドラッグアンドドロップ \ No newline at end of file diff --git a/src/scss/style.scss b/src/scss/style.scss index f7d2259..993f964 100644 --- a/src/scss/style.scss +++ b/src/scss/style.scss @@ -377,7 +377,7 @@ label { padding-left: 0; &::before { - content: url(../image/icons/tick.png); + content: url(../img/icons/tick.png); position: relative; top: 2px; } @@ -587,7 +587,7 @@ label { } &.rangeCenterMarker::after { - content: url(../image/centerMarker.png); + content: url(../img/centerMarker.png); position: absolute; top: 50%; left: 50%; @@ -596,7 +596,7 @@ label { } &.rangeLeftMarker::after { - content: url(../image/centerMarker.png); + content: url(../img/centerMarker.png); position: absolute; top: 50%; left: 0; @@ -605,7 +605,7 @@ label { } &.rangeRightMarker::after { - content: url(../image/centerMarker.png); + content: url(../img/centerMarker.png); position: absolute; top: 50%; right: 0; @@ -614,7 +614,7 @@ label { } &.rangeTopMarker::after { - content: url(../image/centerMarker.png); + content: url(../img/centerMarker.png); position: absolute; top: 0; left: 50%; @@ -623,7 +623,7 @@ label { } &.rangeBottomMarker::after { - content: url(../image/centerMarker.png); + content: url(../img/centerMarker.png); position: absolute; bottom: 0; left: 50%; @@ -632,7 +632,7 @@ label { } &.rangeTopLeftMarker::after { - content: url(../image/centerMarker.png); + content: url(../img/centerMarker.png); position: absolute; top: 0; left: 0; @@ -641,7 +641,7 @@ label { } &.rangeTopRightMarker::after { - content: url(../image/centerMarker.png); + content: url(../img/centerMarker.png); position: absolute; top: 0; right: 0; @@ -650,7 +650,7 @@ label { } &.rangeBottomLeftMarker::after { - content: url(../image/centerMarker.png); + content: url(../img/centerMarker.png); position: absolute; bottom: 0; left: 0; @@ -659,7 +659,7 @@ label { } &.rangeBottomRightMarker::after { - content: url(../image/centerMarker.png); + content: url(../img/centerMarker.png); position: absolute; bottom: 0; right: 0; @@ -769,14 +769,41 @@ label { border-top: solid #ccc 1px; border-left: solid #ccc 1px; + + tr { + background: white; + + &:hover { + background: #cff; + + input:not([type="checkbox"]) { + background: #cff; + } + } + } } table th, table td { + position: relative; border-right: solid #ccc 1px; border-bottom: solid #ccc 1px; - input:not([type="checkbox"]) { + &:nth-child(n+2):not(:last-child) { + min-width: 3.2em; + } + + input[type="number"] { + text-align: right; + + input[type="number"]::-webkit-outer-spin-button, + input[type="number"]::-webkit-inner-spin-button { + width: 0.3em; + } + } + + input:not([type="checkbox"]), textarea { + @include full(); border: 0; width: 100%; } @@ -2034,7 +2061,7 @@ label { } p:hover { - background: #99f; + background: #cff; } } @@ -2136,6 +2163,110 @@ label { } } + +#window_loadSaveData { + @include window(500px, 540px, 200px, 200px); + + .bg { + @include bg(0.8); + + & > div { + margin: 0; + font-weight: bold; + padding: 2px 4px; + } + } + + .body { + @include full(); + top: 22px; + padding: 0.3em; + left: 0; + right: 0; + bottm: 0; + line-height: 2.4; + + input[type=checkbox] { + margin-left: 2em; + } + } +} + +#window_loadSaveData_import { + @include window(250px, 152px, 40%, 40%); + + .bg { + @include bg(0.8); + + & > div { + margin: 0; + font-weight: bold; + padding: 2px 4px; + } + } + + .body { + @include full(); + top: 22px; + padding: 0.3em; + text-align: center; + left: 0; + right: 0; + bottm: 0; + } + + #loadSaveData_import_droparea { + width: 100%; + height: 120px; + border: solid #666 1px; + z-index: 55; + background: #fff; + + &.is-dragover{ + background: #ccf; + + & ~ .overwrap, img { + display: none; + } + + &::before { + content: "ここにドロップ"; + display: block; + width: 100%; + text-align: center; + } + } + + div { + display: inline-block; + width: 50px; + height: 50px; + text-align: center; + + img { + max-width: 50px; + max-height: 50px; + } + } + + & ~ .overwrap { + position: absolute; + width: 100%; + text-align: center; + top: 8px; + left: 0; + + input { + overflow: hidden; + width: 0; + } + z-index: 54; + } + + + } +} + #window_createPlayRoom { @include window(500px, 140px, 200px, 200px); diff --git a/src/vender/js/colResizable-1.6.min.js b/src/vender/js/colResizable-1.6.min.js new file mode 100644 index 0000000..3487db8 --- /dev/null +++ b/src/vender/js/colResizable-1.6.min.js @@ -0,0 +1,3 @@ +// colResizable 1.6 - a jQuery plugin by Alvaro Prieto Lauroba http://www.bacubacu.com/colresizable/ + +!function(t){var e,i=t(document),r=t("head"),o=null,s={},d=0,n="id",a="px",l="JColResizer",c="JCLRFlex",f=parseInt,h=Math,p=navigator.userAgent.indexOf("Trident/4.0")>0;try{e=sessionStorage}catch(g){}r.append("");var u=function(e,i){var o=t(e);if(o.opt=i,o.mode=i.resizeMode,o.dc=o.opt.disabledColumns,o.opt.disable)return w(o);var a=o.id=o.attr(n)||l+d++;o.p=o.opt.postbackSafe,!o.is("table")||s[a]&&!o.opt.partialRefresh||("e-resize"!==o.opt.hoverCursor&&r.append(""),o.addClass(l).attr(n,a).before('
'),o.g=[],o.c=[],o.w=o.width(),o.gc=o.prev(),o.f=o.opt.fixed,i.marginLeft&&o.gc.css("marginLeft",i.marginLeft),i.marginRight&&o.gc.css("marginRight",i.marginRight),o.cs=f(p?e.cellSpacing||e.currentStyle.borderSpacing:o.css("border-spacing"))||2,o.b=f(p?e.border||e.currentStyle.borderLeftWidth:o.css("border-left-width"))||1,s[a]=o,v(o))},w=function(t){var e=t.attr(n),t=s[e];t&&t.is("table")&&(t.removeClass(l+" "+c).gc.remove(),delete s[e])},v=function(i){var r=i.find(">thead>tr:first>th,>thead>tr:first>td");r.length||(r=i.find(">tbody>tr:first>th,>tr:first>th,>tbody>tr:first>td, >tr:first>td")),r=r.filter(":visible"),i.cg=i.find("col"),i.ln=r.length,i.p&&e&&e[i.id]&&m(i,r),r.each(function(e){var r=t(this),o=-1!=i.dc.indexOf(e),s=t(i.gc.append('
')[0].lastChild);s.append(o?"":i.opt.gripInnerHtml).append('
'),e==i.ln-1&&(s.addClass("JCLRLastGrip"),i.f&&s.html("")),s.bind("touchstart mousedown",J),o?s.addClass("JCLRdisabledGrip"):s.removeClass("JCLRdisabledGrip").bind("touchstart mousedown",J),s.t=i,s.i=e,s.c=r,r.w=r.width(),i.g.push(s),i.c.push(r),r.width(r.w).removeAttr("width"),s.data(l,{i:e,t:i.attr(n),last:e==i.ln-1})}),i.cg.removeAttr("width"),i.find("td, th").not(r).not("table th, table td").each(function(){t(this).removeAttr("width")}),i.f||i.removeAttr("width").addClass(c),C(i)},m=function(t,i){var r,o,s=0,d=0,n=[];if(i){if(t.cg.removeAttr("width"),t.opt.flush)return void(e[t.id]="");for(r=e[t.id].split(";"),o=r[t.ln+1],!t.f&&o&&(t.width(o*=1),t.opt.overflow&&(t.css("min-width",o+a),t.w=o));d*{cursor:"+n.opt.dragCursor+"!important}"),a.addClass(n.opt.draggingClass),o=a,n.c[d.i].l)for(var f,h=0;h