v1.10.1.0.1

v1.10.1.0.1
This commit is contained in:
Spmario233 2023-09-18 21:03:28 +08:00 committed by GitHub
commit 4ef8c89f3a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 378 additions and 247 deletions

View File

@ -604,6 +604,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
},
},
mark:true,
markimage2:'image/card/muniu_small.png',
intro:{
content:function(storage,player){
var muniu=player.getEquip('muniu');

View File

@ -1098,7 +1098,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
forced:true,
charlotte:true,
filter:(event,player)=>{
if(!event.olqifan_discard) return false;
var num=player.getStorage('olqifan').length,pos=('jeh').slice(0,num);
return num>0&&player.countCards(pos)>0;
},
@ -1122,14 +1121,16 @@ game.import('character',function(lib,game,ui,get,ai,_status){
else card=get.autoViewAs({name,isCard:true});
event.result.card=card;
player.markAuto('olqifan',[get.type2(card,false)]);
event.getParent().set('olqifan_discard',true);
var id=get.id();
player.when('chooseToUseAfter')
.filter((evt)=>evt==event.getParent())
.filter(lib.skill.olqifan_discard.filter)
.then(()=>{
event.maxNum=Math.min(3,player.getStorage('olqifan').length);
event.num=0;
})
.then(lib.skill.olqifan_discard.content)
.translation('器翻');
},
filterCard:function(){return false},
selectCard:-1,

View File

@ -2045,7 +2045,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
var target=trigger.target;
event.target=target;
trigger.targets.remove(target);
trigger.triggeredTargets1.remove(target);
//trigger.triggeredTargets1.remove(target);
trigger.untrigger();
game.delayx();
'step 1'

View File

@ -4715,7 +4715,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
countdown:{
trigger:{player:'useCardAfter'},
mark:true,
marktext:'💀',
marktext:'',
silent:true,
forced:true,
charlotte:true,

View File

@ -1,5 +1,5 @@
window.noname_asset_list=[
'v1.10.1',
'v1.10.1.0.1',
'audio/background/aozhan_chaoming.mp3',
'audio/background/aozhan_online.mp3',
'audio/background/aozhan_rewrite.mp3',
@ -6199,6 +6199,7 @@ window.noname_asset_list=[
'image/card/mtg_youlin.jpg',
'image/card/mujiaren.png',
'image/card/muniu.png',
'image/card/muniu_small.png',
'image/card/mutoumianju.png',
'image/card/nanman.png',
'image/card/numa.png',

View File

@ -1,5 +1,5 @@
"use strict";
(()=>{
{
if(!localStorage.getItem('gplv3_noname_alerted')){
if(confirm('①无名杀是一款基于GPLv3协议的开源软件\n你可以在遵守GPLv3协议的基础上任意使用修改并转发《无名杀》以及所有基于《无名杀》开发的拓展。\n点击“确定”即代表您认可并接受GPLv3协议↓\nhttps://www.gnu.org/licenses/gpl-3.0.html\n②无名杀官方发布地址仅有GitHub仓库\n其他所有的所谓“无名杀”社群包括但不限于绝大多数“官方”QQ群、QQ频道等均为玩家自发组织与无名杀官方无关')){
localStorage.setItem('gplv3_noname_alerted',true);
@ -3938,17 +3938,17 @@
init:true,
unfrequent:true,
},
show_skillnamepinyin:{
name:'显示技能名拼音',
intro:'在武将资料卡显示技能名拼音',
init:true,
unfrequent:true,
},
show_characternamepinyin:{
name:'显示武将名拼音等信息',
intro:'在武将资料卡显示武将名及其拼音、性别、势力、体力等信息',
init:true,
unfrequent:true,
},
show_skillnamepinyin:{
name:'显示技能名拼音',
intro:'在武将资料卡显示技能名拼音',
init:true,
unfrequent:true,
}
}
},
@ -7275,31 +7275,31 @@
}
},
comparator:{
e:function(){
equals:function(){
if(arguments.length==0) return false;
if(arguments.length==1) return true;
for(let i=1;i<arguments.length;++i) if(arguments[i]!==arguments[0])return false;
return true;
},
ei:function(){
equalAny:function(){
if(arguments.length==0) return false;
if(arguments.length==1) return true;
for(let i=1;i<arguments.length;++i) if(arguments[i]===arguments[0])return true;
return false;
},
ne:function(){
notEquals:function(){
if(arguments.length==0) return false;
if(arguments.length==1) return true;
for(let i=1;i<arguments.length;++i) if(arguments[i]===arguments[0])return false;
return true;
},
nei:function(){
notEqualAny:function(){
if(arguments.length==0) return false;
if(arguments.length==1) return true;
for(let i=1;i<arguments.length;++i) if(arguments[i]!==arguments[0])return true;
return false;
},
te:function(){
typeEquals:function(){
if(arguments.length==0)return false;
if(arguments.length==1)return arguments[0]!==null;
const type=typeof arguments[0];
@ -8323,7 +8323,7 @@
toLoad--;
if(toLoad) return;
if(_status.importing){
let promises=lib.creation.a;
let promises=lib.creation.array;
for(const type in _status.importing){
promises.addArray(_status.importing[type])
}
@ -8404,22 +8404,22 @@
window.game=game;
game.dynamicStyle.init();
Object.defineProperty(lib.creation,"a",{
Object.defineProperty(lib.creation,"array",{
enumerable:true,
get:()=>[],
set:()=>null
});
Object.defineProperty(lib.creation,"o",{
Object.defineProperty(lib.creation,"object",{
enumerable:true,
get:()=>({}),
set:()=>null
});
Object.defineProperty(lib.creation,"no",{
Object.defineProperty(lib.creation,"nullObject",{
enumerable:true,
get:()=>Object.create(null),
set:()=>null
});
Object.defineProperty(lib.creation,"s",{
Object.defineProperty(lib.creation,"string",{
enumerable:true,
get:()=>"",
set:()=>null
@ -9724,7 +9724,7 @@
_status.extension=lib.extensions[i][0];
_status.evaluatingExtension=lib.extensions[i][3];
if (typeof lib.extensions[i][1]=="function")
yield (gnc.is.coroutine(lib.extensions[i][1])?gnc.of(lib.extensions[i][1]):lib.extensions[i][1])(lib.extensions[i][2],lib.extensions[i][4]);
yield (gnc.is.coroutine(lib.extensions[i][1])?gnc.of(lib.extensions[i][1]):lib.extensions[i][1]).call(lib.extensions[i],lib.extensions[i][2],lib.extensions[i][4]);
if(lib.extensions[i][4]){
if(lib.extensions[i][4].character){
for(var j in lib.extensions[i][4].character.character){
@ -10016,8 +10016,7 @@
js:(path,file,onload,onerror)=>{
if(path[path.length-1]=='/') path=path.slice(0,path.length-1);
if(path==`${lib.assetURL}mode`&&lib.config.all.stockmode.indexOf(file)==-1){
lib.init[`setMode_${file}`]();
onload();
lib.genAwait(lib.init[`setMode_${file}`]()).then(onload);
return;
}
if(Array.isArray(file)){
@ -10235,47 +10234,103 @@
localStorage.removeItem(lib.configprefix+'background');
}
},
//by 诗笺、Tipx-L
parsex:function(func){
//Remove all comments
//移除所有注释
var str=func.toString().replace(/((?:(?:^[ \t]*)?(?:\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\/(?:[ \t]*\r?\n(?=[ \t]*(?:\r?\n|\/\*|\/\/)))?|\/\/(?:[^\\]|\\(?:\r?\n)?)*?(?:\r?\n(?=[ \t]*(?:\r?\n|\/\*|\/\/))|(?=\r?\n))))+)|("(?:\\[\s\S]|[^"\\])*"|'(?:\\[\s\S]|[^'\\])*'|(?:\r?\n|[\s\S])[^\/"'\\\s]*)/mg,'$2').trim();
//获取第一个 { 后的所有字符
str=str.slice(str.indexOf('{')+1);
//func中要写步骤的话必须要写step 0
if(str.indexOf('step 0')==-1){
str='{if(event.step==1) {event.finish();return;}\n'+str;
}else{
var skip=0;
//每层最多找99个step
for (var k=0;k<99;k++) {
//正则表达式
var reg=new RegExp(`['"]step ${k}['"]`);
var result=str.slice(skip).match(reg);
if(result==null) break;
var insertStr;
if(k==0){
insertStr=`switch(step){case 0:`;
}else{
insertStr=`break;case ${k}:`;
}
var copy=str;
copy=copy.slice(0,skip+result.index)+insertStr+copy.slice(skip+result.index+result[0].length);
//测试是否有错误
try{
new Function(copy);
str=copy;
skip+=result.index+insertStr.length;
}catch(error){
k--;
skip+=result.index+result[0].length;
parsex:function(item){
//by 诗笺、Tipx-L
function Legacy(func){
//Remove all comments
//移除所有注释
var str=func.toString().replace(/((?:(?:^[ \t]*)?(?:\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\/(?:[ \t]*\r?\n(?=[ \t]*(?:\r?\n|\/\*|\/\/)))?|\/\/(?:[^\\]|\\(?:\r?\n)?)*?(?:\r?\n(?=[ \t]*(?:\r?\n|\/\*|\/\/))|(?=\r?\n))))+)|("(?:\\[\s\S]|[^"\\])*"|'(?:\\[\s\S]|[^'\\])*'|(?:\r?\n|[\s\S])[^\/"'\\\s]*)/mg,'$2').trim();
//获取第一个 { 后的所有字符
str=str.slice(str.indexOf('{')+1);
//func中要写步骤的话必须要写step 0
if(str.indexOf('step 0')==-1){
str='{if(event.step==1) {event.finish();return;}\n'+str;
}else{
var skip=0;
//每层最多找99个step
for (var k=0;k<99;k++) {
//正则表达式
var reg=new RegExp(`['"]step ${k}['"]`);
var result=str.slice(skip).match(reg);
if(result==null) break;
var insertStr;
if(k==0){
insertStr=`switch(step){case 0:`;
}else{
insertStr=`break;case ${k}:`;
}
var copy=str;
copy=copy.slice(0,skip+result.index)+insertStr+copy.slice(skip+result.index+result[0].length);
//测试是否有错误
try{
new Function(copy);
str=copy;
skip+=result.index+insertStr.length;
}catch(error){
k--;
skip+=result.index+result[0].length;
}
}
str=`if(event.step==${k}){event.finish();return;}`+str;
}
str=`if(event.step==${k}){event.finish();return;}`+str;
return (new Function('event','step','source','player','target','targets',
'card','cards','skill','forced','num','trigger','result',
'_status','lib','game','ui','get','ai',str));
}
switch(typeof item){
case "object":
if(Array.isArray(item)){
let lastEvent=null;
return (event,step,source,player,target,targets,card,cards,skill,forced,num,trigger,result,_status,lib,game,ui,get,ai)=>{
if(step>=item.length) return event.finish();
var current=item[step];
lastEvent=current(event,{
event:event,
step:step,
source:source,
player:player,
target:target,
targets:targets,
card:card,
cards:cards,
skill:skill,
forced:forced,
num:num,
trigger:trigger,
result:result
},(lastEvent&&("result" in lastEvent))?lastEvent.result:null);
}
}
else{
// TODO: Parse Common Object
throw new Error("NYI: Parse Common Object");
}
case "function":
if (gnc.is.generatorFunc(item)) {
let gen,lastEvent;
return (event,step,source,player,target,targets,card,cards,skill,forced,num,trigger,result,_status,lib,game,ui,get,ai)=>{
if(!gen)gen=item(event,{
event:event,
step:step,
source:source,
player:player,
target:target,
targets:targets,
card:card,
cards:cards,
skill:skill,
forced:forced,
num:num,
trigger:trigger,
result:result
});
var res=gen.next((lastEvent&&("result" in lastEvent))?lastEvent.result:null);
if(res.done) event.finish();
else lastEvent=res.value;
}
}
else return Legacy(item);
}
return (new Function('event','step','source','player','target','targets',
'card','cards','skill','forced','num','trigger','result',
'_status','lib','game','ui','get','ai',str));
},
eval:function(func){
if(typeof func=='function'){
@ -19177,6 +19232,18 @@
* 使用者只需要关注技能的效果而不是技能的本身
*/
when:function(){
if(!_status.postReconnect.player_when) _status.postReconnect.player_when=[
function(map){
for(var i in map){
lib.skill[i]={
charlotte:true,
forced:true,
popup:false,
}
if(typeof map[i]=='string') lib.translate[i]=map[i];
}
},{}
];
var triggerNames=Array.from(arguments);
if(triggerNames.length==0) throw 'player.when的参数数量应大于0';
var skillName='player_when_'+Math.random().toString(36).slice(-8);
@ -19210,7 +19277,20 @@
writable:true,
value:skill
});
game.broadcast(function(skillName){
Object.defineProperty(lib.skill,skillName,{
configurable:true,
enumerable:false,
writable:true,
value:{
forced:true,
charlotte:true,
popup:false,
}
});
},skillName);
this.addSkill(skillName);
_status.postReconnect.player_when[1][skillName]=true;
return{
filter(fun){
if(lib.skill[skillName]!=skill) throw `This skill has been destroyed`;
@ -19251,7 +19331,10 @@
},
translation(translation){
if(lib.skill[skillName]!=skill) throw `This skill has been destroyed`;
if(typeof translation=='string') lib.translate[skillName]=translation;
if(typeof translation=='string'){
_status.postReconnect.player_when[1][skillName]=translation;
game.broadcastAll((skillName,translation)=>lib.translate[skillName]=translation,skillName,translation)
}
return this;
},
assgin(obj) {
@ -24836,6 +24919,11 @@
node.style['box-shadow']='none';
node.style['background-size']='contain';
}
else if(lib.skill[name]&&lib.skill[name].markimage2){
let img=ui.create.div('.background.skillmark',node);
img.setBackgroundImage(lib.skill[name].markimage2);
img.style['background-size']='contain';
}
else{
var str=lib.translate[name+'_bg'];
if(!str||str[0]=='+'||str[0]=='-'){
@ -28603,16 +28691,19 @@
}
return this;
},
setContent:function(name){
if(typeof name=='function'){
this.content=lib.init.parsex(name);
}
else{
if(!lib.element.content[name]._parsed){
lib.element.content[name]=lib.init.parsex(lib.element.content[name]);
lib.element.content[name]._parsed=true;
}
this.content=lib.element.content[name];
setContent:function(item){
switch(typeof item){
case "object":
case "function":
this.content=lib.init.parsex(item);
break;
default:
if(!lib.element.content[item]._parsed){
lib.element.content[item]=lib.init.parsex(lib.element.content[item]);
lib.element.content[item]._parsed=true;
}
this.content=lib.element.content[item];
break;
}
return this;
},
@ -32519,8 +32610,7 @@
'妹子,交个朋友吧',
],
other:{
bool:(item)=>Boolean(item),
ignore:()=>{}
ignore:()=>void 0
}
};
const game={
@ -32560,15 +32650,15 @@
//基于钩子的添加势力方法
addGroup:(id,short,name,config)=>{
if(!id) throw new TypeError();
if(lib.comparator.te(short,"object")){
if(lib.comparator.typeEquals(short,"object")){
config=short;
short=null;
}
if(lib.comparator.te(name,"object")){
if(lib.comparator.typeEquals(name,"object")){
config=name;
name=null;
}
if(!lib.comparator.te(short,"string")&&short){
if(!lib.comparator.typeEquals(short,"string")&&short){
name=short;
}
lib.group.add(id);
@ -33737,23 +33827,23 @@
}
}
},
import:function(type,content){
import:function(type,content,url){
if(type=='extension'){
if(typeof _status.extensionLoading=="undefined")_status.extensionLoading=[];
const promise=game.loadExtension(content);
if(typeof _status.extensionLoading=="undefined")_status.extensionLoading=[];
_status.extensionLoading.add(promise);
return promise;
}
else{
if(!lib.imported[type])lib.imported[type]={};
if(typeof _status.importing=="undefined")_status.importing={};
if(!_status.importing[type])_status.importing[type]=[];
const promise=Promise.resolve((gnc.is.generator(content)?gnc.of(content):content)(lib,game,ui,get,ai,_status)).then(content2=>{
if(content2.name){
lib.imported[type][content2.name]=content2;
delete content2.name;
}
});
if(typeof _status.importing=="undefined")_status.importing={};
if(!_status.importing[type])_status.importing[type]=[];
_status.importing[type].add(promise);
return promise;
}
@ -33879,7 +33969,7 @@
}
if(obj.precontent){
_status.extension=obj.name;
yield (gnc.is.generatorFunc(obj.precontent)?gnc.of(obj.precontent):obj.precontent)(cfg);
yield (gnc.is.generatorFunc(obj.precontent)?gnc.of(obj.precontent):obj.precontent).call(obj,cfg);
delete _status.extension;
}
if(obj.content){
@ -36530,12 +36620,12 @@
splash:imgsrc,
fromextension:true
}
lib.init['setMode_'+name]=function(){
game.import('mode',function(lib,game,ui,get,ai,_status){
lib.init['setMode_'+name]=gnc.of(function*(){
yield game.import('mode',function(lib,game,ui,get,ai,_status){
info.name=name;
return info;
});
}
});
if(!lib.config.extensionInfo[extname]){
lib.config.extensionInfo[extname]={};
}
@ -38238,7 +38328,8 @@
},
loadModeAsync:function(name,callback){
window.game=game;
var script=lib.init.js(lib.assetURL+'mode',name,function(){
var script=lib.init.js(lib.assetURL+'mode',name,gnc.of(function*(){
yield Promise.allSettled(_status.importing.mode);
if(!lib.config.dev) delete window.game;
script.remove();
var content=lib.imported.mode[name];
@ -38247,7 +38338,7 @@
delete lib.imported.mode;
}
callback(content);
});
}));
},
switchMode:function(name,configx){
if(!lib.layoutfixed.contains(name)){
@ -38261,7 +38352,8 @@
}
}
window.game=game;
var script=lib.init.js(lib.assetURL+'mode',name,function(){
var script=lib.init.js(lib.assetURL+'mode',name,gnc.of(function*(){
yield Promise.allSettled(_status.importing.mode);
if(!lib.config.dev) delete window.game;
script.remove();
var mode=lib.imported.mode;
@ -38436,7 +38528,7 @@
game.loop();
});
}
});
}));
},
loadMode:function(mode){
var next=game.createEvent('loadMode',false);
@ -46325,7 +46417,8 @@
}
}
else if(updates[i].indexOf('image/card')==0){
if(updates[i].indexOf('qiaosi_card')!=11&&!skipcard.contains(updates[i].slice(11,updates[i].lastIndexOf('.')))){
let cardname=updates[i].slice(11,updates[i].lastIndexOf('.'));
if(lib.card[cardname]&&!skipcard.contains(cardname)){
updates.splice(i--,1);
}
}
@ -58997,4 +59090,4 @@
get:get
};
lib.init.init();
})();
}

View File

@ -1,6 +1,6 @@
window.noname_update={
version:'1.10.1',
update:'1.9.126.1',
version:'1.10.1.0.1',
update:'1.10.1',
changeLog:[
'整合@rintim @mengxinzxz @Tipx-L @chen079 @lieren2023 @universe-st @nonameShijian @copcap的Pull Request',
'增加/更改一系列全新的机制写法',
@ -16,54 +16,54 @@ window.noname_update={
//'LICENSE',
'card/extra.js',
//'card/gujian.js',
'card/guozhan.js',
//'card/guozhan.js',
//'card/gwent.js',
//'card/hearth.js',
//'card/huanlekapai.js',
'card/mtg.js',
//'card/mtg.js',
//'card/sp.js',
//'card/standard.js',
//'card/swd.js',
//'card/yunchou.js',
'card/yingbian.js',
'card/yongjian.js',
//'card/yingbian.js',
//'card/yongjian.js',
//'card/zhenfa.js',
//'card/zhulu.js',
'character/clan.js',
'character/collab.js',
'character/ddd.js',
'character/diy.js',
'character/extra.js',
//'character/clan.js',
//'character/collab.js',
//'character/ddd.js',
//'character/diy.js',
//'character/extra.js',
//'character/gujian.js',
'character/gwent.js',
//'character/gwent.js',
//'character/hearth.js',
'character/huicui.js',
'character/jsrg.js',
'character/mobile.js',
//'character/huicui.js',
//'character/jsrg.js',
//'character/mobile.js',
//'character/mtg.js',
'character/offline.js',
'character/old.js',
//'character/offline.js',
//'character/old.js',
//'character/ow.js',
'character/rank.js',
'character/refresh.js',
'character/sb.js',
'character/shenhua.js',
'character/shiji.js',
//'character/rank.js',
//'character/refresh.js',
//'character/sb.js',
//'character/shenhua.js',
//'character/shiji.js',
'character/sp.js',
'character/sp2.js',
'character/standard.js',
'character/tw.js',
//'character/standard.js',
//'character/tw.js',
//'character/swd.js',
//'character/xiake.js',
'character/xianding.js',
//'character/xianjian.js',
'character/xinghuoliaoyuan.js',
'character/yijiang.js',
'character/yingbian.js',
'character/yxs.js',
//'character/xinghuoliaoyuan.js',
//'character/yijiang.js',
//'character/yingbian.js',
//'character/yxs.js',
//'extension/boss/extension.js',
//'font/suits.woff2',
'image/card/cardtempname_bg.png',
//'image/card/cardtempname_bg.png',
'layout/default/layout.css',
//'layout/default/menu.css',
//'layout/long2/layout.css',
@ -71,14 +71,14 @@ window.noname_update={
//'layout/mobile/layout.css',
//'layout/newlayout/global.css',
//'layout/nova/layout.css',
'mode/boss.js',
'mode/brawl.js',
//'mode/boss.js',
//'mode/brawl.js',
//'mode/chess.js',
//'mode/connect.js',
'mode/doudizhu.js',
'mode/guozhan.js',
//'mode/doudizhu.js',
//'mode/guozhan.js',
'mode/identity.js',
'mode/single.js',
//'mode/single.js',
//'mode/stone.js',
//'mode/tafang.js',
//'mode/versus.js',
@ -87,10 +87,10 @@ window.noname_update={
//'game/NoSleep.js',
//'game/config.js',
//'game/package.js',
'game/path.min.js',
'game/pinyinjs.js',
//'game/path.min.js',
//'game/pinyinjs.js',
//'game/asset.js',
'game/source.js',
//'game/source.js',
//'theme/simple/style.css',
//'theme/style/hp/custom.css',
//'theme/style/hp/emotion.css',

BIN
image/card/muniu_small.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

View File

@ -1743,7 +1743,7 @@ div:not(.handcards)>.card>.info>span,
margin-left: 4px;
margin-right: 4px;
position: relative;
width: calc(100% - 8px);
/* width: calc(100% - 8px); */
}
.content>.caption + .buttons:not(*:last-child){
margin-top: 0;

View File

@ -1,148 +1,183 @@
#bosslist{
width:100%;
height:260px;
text-align:center;
top:calc(50% - 200px);
top:60px;
white-space:nowrap;
z-index:1;
overflow-x:scroll;
#bosslist {
width: 100%;
height: 260px;
text-align: center;
top: calc(50% - 200px);
top: 60px;
white-space: nowrap;
z-index: 1;
overflow-x: scroll;
}
#window[data-radius_size='reduce'] #bosslist>.player{
border-radius:4px;
#window[data-radius_size='reduce'] #bosslist>.player {
border-radius: 4px;
}
#window[data-radius_size='off'] #bosslist>.player{
border-radius:0px;
#window[data-radius_size='off'] #bosslist>.player {
border-radius: 0px;
}
#window[data-radius_size='increase'] #bosslist>.player{
border-radius:20px;
#window[data-radius_size='increase'] #bosslist>.player {
border-radius: 20px;
}
#window #bosslist>.player{
border-radius: 10px;
#window #bosslist>.player {
border-radius: 10px;
}
#window[data-player_border='normal'] #bosslist>.player>.avatar{
left: 8px;
top: 8px;
width: 164px;
height: 200px;
#window[data-player_border='normal'] #bosslist>.player>.avatar {
left: 8px;
top: 8px;
width: 164px;
height: 200px;
}
#window[data-player_border='slim'] #bosslist>.player>.avatar{
left: 4px;
top: 4px;
width: 172px;
height: 208px;
#window[data-player_border='slim'] #bosslist>.player>.avatar {
left: 4px;
top: 4px;
width: 172px;
height: 208px;
}
.bosspaused>#bosslist,
.bosspaused>#control,
.bosspaused>.dialog.bosscharacter{
opacity:0.2 !important;
.bosspaused>.dialog.bosscharacter {
opacity: 0.2 !important;
}
#bosslist.hidden>.player{
transition:all 0s;
#bosslist.hidden>.player {
transition: all 0s;
}
#bosslist>div:first-child,
#bosslist>div:last-child{
width:20px;
position:relative;
#bosslist>div:last-child {
width: 20px;
position: relative;
}
#window:not(.nopointer) #bosslist>.player{
cursor: pointer;
#bosslist>.player .identity {
align-items: flex-start;
}
.dialog.bosscharacter .buttons .button.selectable{
#bosslist>.player .identity>div {
writing-mode: vertical-rl;
-webkit-writing-mode: vertical-rl;
}
#window:not(.nopointer) #bosslist>.player {
cursor: pointer;
}
.dialog.bosscharacter .buttons .button:not(.selectable){
opacity: 0.6
.dialog.bosscharacter .buttons .button.selectable {
cursor: pointer;
}
.player.bossplayer.bossing{
position:absolute;
}
.player.bossing .avatar{
transition:all 0.5s;
}
.player.bossplayer.highlight{
transform:scale(1.1);
opacity:1;
}
#bosslist.removing>.player.bossplayer.highlight{
transition:all 0s;
opacity:0;
}
.player.bossplayer{
position:relative;
margin:10px;
left:0;
top:4px;
width:180px;
height:216px;
transition: all 0.3s;
opacity:0.6;
animation:game_start 0.5s;
-webkit-animation:game_start 0.5s;
}
.player.bossplayer>div:not(.hp):not(.identity):not(.avatar):not(.framebg){
display:none !important;
}
.player.bossplayer>.identity{
left:16px;
top:20px;
line-height:24px;
white-space:normal;
}
.player.bossplayer>.hp{
top:22px;
left:144px;
}
.player.bossplayer>.avatar{
width:160px;
height:196px;
.dialog.bosscharacter .buttons .button:not(.selectable) {
opacity: 0.6
}
#control.bosslist{
top:calc(100% - 50px) !important;
position:fixed;
.player.bossplayer.bossing {
position: absolute;
}
.dialog.bosscharacter{
top:auto;
bottom:65px;
height:calc(100% - 383px);
animation: dialog_start2 0.5s;
.player.bossing .avatar {
transition: all 0.5s;
}
.player.bossplayer.highlight {
transform: scale(1.1);
opacity: 1;
}
#bosslist.removing>.player.bossplayer.highlight {
transition: all 0s;
opacity: 0;
}
.player.bossplayer {
position: relative;
margin: 10px;
left: 0;
top: 4px;
width: 180px;
height: 216px;
transition: all 0.3s;
opacity: 0.6;
animation: game_start 0.5s;
-webkit-animation: game_start 0.5s;
}
.player.bossplayer>div:not(.hp):not(.identity):not(.avatar):not(.framebg) {
display: none !important;
}
.player.bossplayer>.identity {
left: 16px;
top: 18px;
line-height: 24px;
white-space: normal;
}
.player.bossplayer>.hp {
top: 22px;
left: 144px;
}
.player.bossplayer>.avatar {
width: 160px;
height: 196px;
}
#control.bosslist {
top: calc(100% - 50px) !important;
position: fixed;
}
.dialog.bosscharacter {
top: auto;
bottom: 65px;
height: calc(100% - 383px);
animation: dialog_start2 0.5s;
-webkit-animation: dialog_start2 0.5s;
}
.bosschongzheng{
width:calc(100% - 20px);
white-space:nowrap;
position:relative;
.bosschongzheng {
width: calc(100% - 20px);
white-space: nowrap;
position: relative;
}
.bosschongzheng div{
position:relative;
.bosschongzheng div {
position: relative;
}
.bosschongzheng>div{
width:100%;
display:block;
margin-bottom:5px;
.bosschongzheng>div {
width: 100%;
display: block;
margin-bottom: 5px;
}
.bosschongzheng>div>div:first-child{
text-align:left;
width:30%;
.bosschongzheng>div>div:first-child {
text-align: left;
width: 30%;
}
.bosschongzheng>div>div:last-child{
text-align:right;
width:70%;
.bosschongzheng>div>div:last-child {
text-align: right;
width: 70%;
}
@media screen and (min-height: 800px) {
.dialog.bosscharacter{
height:417px;
bottom:calc(50% - 335px);
.dialog.bosscharacter {
height: 417px;
bottom: calc(50% - 335px);
}
#control.bosslist{
top:calc(50% + 350px) !important;
}
#bosslist{
top:calc(40% - 260px);
}
}
#control.bosslist {
top: calc(50% + 350px) !important;
}
#bosslist {
top: calc(40% - 260px);
}
}

View File

@ -1392,7 +1392,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
}
}
if(!game.zhu) game.zhu=game.me;
if(!game.zhu) game.zhu=game.me;
else{
game.zhu.setIdentity();
game.zhu.identityShown=true;