This commit is contained in:
libccy 2016-07-24 13:22:17 +08:00
parent 2c0b4a8173
commit 6d6d9f322c
11 changed files with 367 additions and 80 deletions

View File

@ -507,7 +507,7 @@ character.ow={
}
}
},
juji:{
juji_old:{
trigger:{player:'shaBegin'},
forced:true,
filter:function(event,player){
@ -2216,7 +2216,7 @@ character.ow={
juji:'狙击',
juji2:'狙击',
juji3:'狙击',
juji_info:'出牌阶段限一次,你可以指定一名角色,你对该角色使用卡牌无视距离且该角色对你使用卡牌无视距离,直到该角色的下一回合结束;锁定技,攻击范围不含你的角色无法闪避你的杀',
juji_info:'出牌阶段限一次,你可以弃置任意张花色不同的牌并指定一名有手牌的其他角色若该角色的手牌中含有与你弃置的牌花色相同的牌则本回合内你与其距离为1且该角色不能闪避你的杀',
duwen:'毒吻',
duwen_info:'锁定技,当你使用杀造成伤害时,若你的手牌数与受伤害角色相等,此杀的伤害+1若你的体力值与受伤害角色相等此杀的伤害+1在伤害结算后若伤害值不小于3你流失两点体力',
zhuagou:'抓钩',

View File

@ -6261,7 +6261,7 @@ character.sp={
tianming_info:'当你成为【杀】的目标时,你可以弃置两张牌(不足则全弃,无牌则不弃),然后摸两张牌;若此时全场体力值最多的角色仅有一名(且不是你),该角色也可以如此做。',
mizhao_info:'出牌阶段,你可以将所有手牌(至少一张)交给一名其他角色。若如此做,你令该角色与你指定的另一名有手牌的角色拼点。视为拼点赢的角色对没赢的角色使用一张【杀】。每阶段限一次。',
yuanhu_info:'回合结束阶段开始时你可以将一张装备牌置于一名角色的装备区里然后根据此装备牌的种类执行以下效果。武器牌弃置距离该角色1以内的一名角色区域中的一张牌防具牌该角色摸一张牌坐骑牌该角色回复1点体力。',
lihun_info:'出牌阶段,你可以弃置一张牌并将你的武将牌翻面,若如此做,定一名男性角色,获得其所有手牌。出牌阶段结束时,你需为该角色每一点体力分配给其一张牌。每回合限一次。',
lihun_info:'出牌阶段,你可以弃置一张牌并将你的武将牌翻面,若如此做,你指定一名男性角色,获得其所有手牌。出牌阶段结束时,你需为该角色每一点体力分配给其一张牌。每回合限一次。',
chongzhen_info:'每当你发动“龙胆”使用或打出一张手牌时,你可以立即获得对方的一张手牌。',
bifa_info:'回合结束阶段开始时你可以将一张手牌移出游戏并指定一名其他角色。该角色的回合开始时其观看你移出游戏的牌并选择一项交给你一张与此牌同类型的手牌并获得此牌或将此牌置入弃牌堆然后失去1点体力。',
songci_info:'出牌阶段,你可以选择一项:令一名手牌数小于其体力值的角色摸两张牌;或令一名手牌数大于其体力值的角色弃置两张牌。此技能对每名角色只能使用一次。',

BIN
font/lishu.ttf Normal file

Binary file not shown.

View File

@ -1,5 +1,5 @@
window.noname_asset_list=[
'1.8.14',
'1.8.15',
'image/background/huangtian_bg.jpg',
'image/background/shengshi_bg.jpg',
'image/background/xueji_bg.jpg',
@ -2286,6 +2286,7 @@ window.noname_asset_list=[
'audio/skill/zuoding1.mp3',
'audio/skill/zuoding2.mp3',
'font/xiaozhuan.ttf',
'font/lishu.ttf',
'font/huangcao.ttf',
'font/xinwei.ttf',
'theme/music/grid.png',

View File

@ -1062,10 +1062,10 @@
onclick:function(bool){
game.saveConfig('blur_ui',bool);
if(bool){
ui.css.blur_ui=lib.init.css(lib.assetURL+'layout/default','blur');
ui.window.classList.add('blur_ui');
}
else if(ui.css.blur_ui){
ui.css.blur_ui.remove();
else{
ui.window.classList.remove('blur_ui');
}
}
},
@ -1395,7 +1395,7 @@
clear:true
},
reset_database:{
name:'重置自定义武将及录像',
name:'重置游戏录像',
onclick:function(){
var node=this;
if(node._clearing){
@ -1410,7 +1410,7 @@
setTimeout(function(){
node.innerHTML='单击以确认 (1)';
setTimeout(function(){
node.innerHTML='重置自定义武将及录像';
node.innerHTML='重置游戏录像';
delete node._clearing;
},1000);
},1000);
@ -3290,10 +3290,10 @@
if(!lib.config.gameRecord){
lib.config.gameRecord={};
}
if(lib.config.debug){
mode.pack.story='群侠';
mode.pack.realtime='即时';
}
// if(lib.config.debug){
// mode.pack.story='群侠';
// mode.pack.realtime='即时';
// }
for(i in mode.pack){
if(lib.config.hiddenModePack.indexOf(i)==-1){
lib.config.all.mode.push(i);
@ -3450,7 +3450,6 @@
}
}
ui.css.layout=lib.init.css(lib.assetURL+'layout/'+layout,'layout');
if(lib.config.blur_ui) ui.css.blur_ui=lib.init.css(lib.assetURL+'layout/default','blur');
ui.css.theme=lib.init.css(lib.assetURL+'theme/'+lib.config.theme,'style');
ui.css.card_style=lib.init.css(lib.assetURL+'theme/style/card',lib.config.card_style);
ui.css.cardback_style=lib.init.css(lib.assetURL+'theme/style/cardback',lib.config.cardback_style);
@ -3500,54 +3499,54 @@
db.createObjectStore('skill');
}
};
request.onsuccess=function(e){
var db=e.target.result;
lib.db=db;
for(var i=0;i<lib._onDB.length;i++){
lib._onDB[i]();
}
game.getDB('skill',null,function(skills){
if(skills){
for(var i in skills){
try{
eval('lib.skill["'+i+'"]={'+skills[i].content+'}');
}
catch(e){
console.log(e);
lib.skill[i]={};
}
lib.skill[i].createInfo=skills[i];
lib.setTranslate(i);
lib.translate[i+'_info']=skills[i].description;
if(lib.skill[i].marktext){
lib.translate[i+'_bg']=lib.skill[i].marktext;
}
}
if(_status.cardsFinished){
game.finishCards();
}
}
game.getDB('character',null,function(list){
for(var i in list){
if(!list[i][4]) list[i][4]=[];
lib.character[i]=list[i];
lib.customCharacters.push(i);
lib.setTranslate(i);
}
_status.characterLoaded=true;
if(_status.waitingForCharacters){
game.createEvent('game',false).content=lib.init.start;
delete lib.init.start;
game.loop();
delete _status.waitingForCharacters;
}
if(lib.onCharacterLoad){
lib.onCharacterLoad();
delete lib.onCharacterLoad;
}
});
});
}
// request.onsuccess=function(e){
// var db=e.target.result;
// lib.db=db;
// for(var i=0;i<lib._onDB.length;i++){
// lib._onDB[i]();
// }
// game.getDB('skill',null,function(skills){
// if(skills){
// for(var i in skills){
// try{
// eval('lib.skill["'+i+'"]={'+skills[i].content+'}');
// }
// catch(e){
// console.log(e);
// lib.skill[i]={};
// }
// lib.skill[i].createInfo=skills[i];
// lib.setTranslate(i);
// lib.translate[i+'_info']=skills[i].description;
// if(lib.skill[i].marktext){
// lib.translate[i+'_bg']=lib.skill[i].marktext;
// }
// }
// if(_status.cardsFinished){
// game.finishCards();
// }
// }
// game.getDB('character',null,function(list){
// for(var i in list){
// if(!list[i][4]) list[i][4]=[];
// lib.character[i]=list[i];
// lib.customCharacters.push(i);
// lib.setTranslate(i);
// }
// _status.characterLoaded=true;
// if(_status.waitingForCharacters){
// game.createEvent('game',false).content=lib.init.start;
// delete lib.init.start;
// game.loop();
// delete _status.waitingForCharacters;
// }
// if(lib.onCharacterLoad){
// lib.onCharacterLoad();
// delete lib.onCharacterLoad;
// }
// });
// });
// }
}
if(typeof window.require=='function'&&!lib.device){
lib.node={
@ -4118,7 +4117,7 @@
delete lib.extensions;
ui.create.arena();
if(window.indexedDB&&!_status.characterLoaded){
if(window.indexedDB&&!_status.characterLoaded&&false){
_status.waitingForCharacters=true;
}
else{
@ -20225,7 +20224,7 @@
rightPane.appendChild(active.link);
lib.onDB(function(){
if(connectMenu) return;
if(connectMenu||true) return;
var page=ui.create.div('.menu-buttons');
var node=ui.create.div('.menubutton.large','自定义',clickMode);
ui.customCharacter=node;
@ -21357,6 +21356,7 @@
var node=start.firstChild.childNodes[i];
if(node.link){
if(node.mode=='get') continue;
if(node.mode=='create') continue;
if(node.mode.indexOf('extension_')==0){
if(lib.config[node.mode+'_enable']){
node.classList.remove('off');
@ -21450,6 +21450,204 @@
if(lib.config.hiddenPlayPack.contains(i)) continue;
createModeConfig(i,start.firstChild);
}
(function(){
var page=ui.create.div('#create-extension');
var node=ui.create.div('.menubutton.large','创建扩展',start.firstChild,clickMode);
node.link=page;
node.mode='create';
var pageboard=ui.create.div(page);
var inputExtLine=ui.create.div(pageboard);
inputExtLine.style.padding='10px';
inputExtLine.style.whiteSpace='nowrap';
var inputExtName=document.createElement('input');
inputExtName.type='text';
inputExtName.value='无名扩展';
inputExtName.style.width='120px';
inputExtLine.appendChild(inputExtName);
var buttonSave=document.createElement('button');
buttonSave.innerHTML='保存';
buttonSave.style.marginLeft='3px';
buttonSave.onclick=function(){
exportExtLine.style.display='';
}
inputExtLine.appendChild(buttonSave);
var buttonExport=document.createElement('button');
buttonExport.innerHTML='导出';
buttonExport.style.marginLeft='3px';
inputExtLine.appendChild(buttonExport);
var exportExtLine=ui.create.div(pageboard);
exportExtLine.style.display='none';
exportExtLine.style.width='calc(100% - 40px)';
exportExtLine.style.textAlign='left';
exportExtLine.style.marginBottom='5px';
exportExtLine.innerHTML='重启后生效。<span style="text-decoration:underline">立即重启</span><span style="float:right">×</span>';
exportExtLine.querySelectorAll('span')[0].onclick=game.reload;
exportExtLine.querySelectorAll('span')[1].onclick=function(){
exportExtLine.style.display='none';
};
var dashboard=ui.create.div('#extension-dashboard',pageboard);
var clickDash=function(){
pageboard.hide();
this.link.show();
};
var createDash=function(str1,str2,node){
page.appendChild(node);
var dash=ui.create.div('.menubutton.large',dashboard);
dash.link=node;
dash.listen(clickDash);
ui.create.div('',str1,dash);
ui.create.div('',str2,dash);
};
var dash1=(function(){
var page=ui.create.div('.hidden.menu-buttons');
ui.create.div('.config.more','<div style="transform:none;margin-right:3px">←</div>返回',page,function(){
page.hide();
pageboard.show();
});
var newCharacter;
var toggle=ui.create.div('.config.more','创建武将 <div>&gt;</div>',page,function(){
this.classList.toggle('on');
if(this.classList.contains('on')){
newCharacter.style.display='';
}
else{
newCharacter.style.display='none';
}
});
var resetEditor=function(){
toggle.classList.remove('on');
newCharacter.style.display='none';
fakeme.classList.remove('inited');
delete fakeme.image;
fakeme.style.backgroundImage='';
var inputs=newCharacter.querySelectorAll('input');
for(var i=0;i<inputs.length;i++){
inputs[i].value='';
}
inputs=newCharacter.querySelectorAll('textarea');
for(var i=0;i<inputs.length;i++){
inputs[i].value='';
}
skillList.firstChild.innerHTML='';
toggle.innerHTML='创建武将 <div>&gt;</div>';
var node=newCharacter.querySelector('.menubutton.large');
node.innerHTML='创建武将';
delete node._origin;
if(node.nextSibling){
node.nextSibling.remove();
}
}
newCharacter=ui.create.div('.new_character',page);
newCharacter.style.display='none';
var fakeme=ui.create.div('.avatar',newCharacter);
var input=document.createElement('input');
input.type='file';
input.accept='image/jpeg';
input.onchange=function(){
var fileToLoad=input.files[0];
if(fileToLoad){
var fileReader = new FileReader();
fileReader.onload = function(fileLoadedEvent)
{
var data = fileLoadedEvent.target.result;
fakeme.image=data;
fakeme.style.backgroundImage='url('+data+')';
fakeme.classList.add('inited');
};
fileReader.readAsDataURL(fileToLoad, "UTF-8");
}
}
fakeme.appendChild(input);
ui.create.div('.select_avatar','选择头像',fakeme);
ui.create.div('.indent','姓名:<input class="new_name" type="text">',newCharacter).style.paddingTop='10px';
ui.create.div('.indent','体力:<input class="new_hp" type="text">',newCharacter).style.paddingTop='10px';
var sexes=ui.create.selectlist([
['male','男'],
['female','女'],
['none','无'],
],null,ui.create.div('.indent','性别:',newCharacter));
var groups=ui.create.selectlist([
['wei','魏'],
['shu','蜀'],
['wu','吴'],
['qun','群'],
],null,ui.create.div('.indent','势力:',newCharacter));
var options=ui.create.div('.add_skill.options','<span>主公<input type="checkbox" name="zhu"></span><span>BOSS<input type="checkbox" name="boss"></span><span>AI禁选<input type="checkbox" name="forbidai"></span><br>',newCharacter);
var addSkill=ui.create.div('.add_skill','添加技能<br>',newCharacter);
var list=[];
for(var i in lib.character){
if(!lib.customCharacters.contains(i)&&lib.character[i][3].length)
list.push([i,lib.translate[i]]);
}
list.sort(function(a,b){
a=a[0];b=b[0];
var aa=a,bb=b;
if(aa.indexOf('_')!=-1){
aa=aa.slice(aa.indexOf('_')+1);
}
if(bb.indexOf('_')!=-1){
bb=bb.slice(bb.indexOf('_')+1);
}
if(aa!=bb){
return aa>bb?1:-1;
}
return a>b?1:-1;
});
var list2=[];
var skills=lib.character[list[0][0]][3];
for(var i=0;i<skills.length;i++){
list2.push([skills[i],lib.translate[skills[i]]]);
}
var selectname=ui.create.selectlist(list,list[0],addSkill);
selectname.onchange=function(){
var skills=lib.character[this.value][3];
skillopt.innerHTML='';
for(var i=0;i<skills.length;i++){
var option=document.createElement('option');
option.value=skills[i];
option.innerHTML=lib.translate[skills[i]];
skillopt.appendChild(option);
}
};
selectname.style.maxWidth='85px';
var skillopt=ui.create.selectlist(list2,list2[0],addSkill);
var addSkillButton=document.createElement('button');
addSkillButton.innerHTML='添加';
addSkill.appendChild(addSkillButton);
var deletenode=function(){
this.remove();
}
addSkillButton.onclick=function(){
for(var i=0;i<skillList.firstChild.childNodes.length;i++){
if(skillList.firstChild.childNodes[i].skill==skillopt.value) return;
}
var node=document.createElement('button');
node.skill=skillopt.value;
node.onclick=deletenode;
node.innerHTML=lib.translate[skillopt.value];
skillList.firstChild.appendChild(node);
};
var skillList=ui.create.div('.skill_list',newCharacter);
ui.create.div(skillList);
ui.create.div('.menubutton.large','创建武将',ui.create.div(skillList),function(){
});
return page;
}());
var dash2=ui.create.div('.hidden',page);
var dash3=ui.create.div('.hidden',page);
var dash4=ui.create.div('.hidden',page);
createDash('将','编辑武将',dash1);
createDash('卡','编辑卡牌',dash2);
createDash('技','编辑技能',dash3);
createDash('码','编辑代码',dash4);
}());
(function(){
var page=ui.create.div('');
var node=ui.create.div('.menubutton.large','获取扩展',start.firstChild,clickMode);
@ -23636,6 +23834,10 @@
if((lib.config.layout=='phone'||lib.config.layout=='mobile')&&lib.config.textequip=='text'){
ui.arena.classList.add('textequip');
}
if(lib.config.blur_ui){
ui.window.classList.add('blur_ui');
}
// var themeentry='background_color_'+lib.config.theme;
// if(lib.config[themeentry]){
// document.body.dataset[themeentry]=lib.config[themeentry];

View File

@ -60,6 +60,7 @@ font.pack={
xiaozhuan:'小篆',
xinwei:'新魏',
huangcao:'黄草',
lishu:'隶书',
};
theme.pack={
woodden:'木纹',

View File

@ -37,7 +37,6 @@ window.noname_source_list=[
'game/server.js',
'game/source.js',
'game/update.js',
'layout/default/blur.css',
'layout/default/layout.css',
'layout/default/menu.css',
'layout/mobile/equip.css',

View File

@ -1,14 +1,21 @@
window.noname_update={
version:'1.8.18.2',
version:'1.8.19',
changeLog:[
'修bug',
'移除自定义武将功能、增加扩展制作向导'
],
files:{
global:[
'game/game.js',
'game/source.js',
'game/package.js',
'game/asset.js',
'character/yijiang.js',
'character/ow.js',
'character/sp.js',
'layout/default/layout.css',
'layout/default/menu.css',
],
'1.8.18':[],
'1.8.18.1':[],
}
}

View File

@ -1,13 +0,0 @@
#arena.paused,#arena.unfocus,#arena.right,
#arena.menupaused,
#window.shortcutpaused>#arena{
filter:blur(3px);
-webkit-filter:blur(3px);
}
#arena.menupaused{
opacity: 0.6;
}
#arena.thrownhighlight>.card.thrown:not(.thrownhighlight){
filter:blur(2px);
-webkit-filter:blur(2px);
}

View File

@ -43,6 +43,23 @@ table{table-layout: fixed;}
#window.shortcutpaused>#arena>div:not(#timer):not(.removing):not(.hidden):not(#autonode){opacity: 0.3 !important}
#window.noclick_important *{pointer-events: none !important;}
#window.noclick_important .noclick_click_important div{pointer-events: auto !important}
#window.blur_ui #arena.paused,
#window.blur_ui #arena.unfocus,
#window.blur_ui #arena.right,
#window.blur_ui #arena.menupaused,
#window.blur_ui.shortcutpaused>#arena{
filter:blur(3px);
-webkit-filter:blur(3px);
}
#window.blur_ui #arena.menupaused{
opacity: 0.6;
}
#window.blur_ui #arena.thrownhighlight>.card.thrown:not(.thrownhighlight){
filter:blur(2px);
-webkit-filter:blur(2px);
}
#shortcut{
width:100%;
height:100%;
@ -181,6 +198,9 @@ table{table-layout: fixed;}
#arena[data-global_font='xiaozhuan']{
font-family: 'xiaozhuan';
}
#arena[data-global_font='lishu']{
font-family: 'lishu';
}
#arena[data-global_font='xinwei']{
font-family: 'xinwei';
}
@ -188,6 +208,7 @@ table{table-layout: fixed;}
font-family: 'huangcao','xinwei';
}
#arena[data-global_font='xiaozhuan'] #control,
#arena[data-global_font='lishu'] #control,
#arena[data-global_font='xinwei'] #control,
#arena[data-global_font='huangcao'] #control{
font-family:'STHeiti','SimHei','Microsoft JhengHei','Microsoft YaHei','WenQuanYi Micro Hei',Helvetica,Arial,sans-serif
@ -775,6 +796,10 @@ margin-bottom: 5px;
#arena[data-name_font='xiaozhuan'] .button.character>.name{
font-family: 'xiaozhuan';
}
#arena[data-name_font='lishu'] .player>.name,
#arena[data-name_font='lishu'] .button.character>.name{
font-family: 'lishu';
}
#arena[data-name_font='xinwei'] .player>.name,
#arena[data-name_font='xinwei'] .button.character>.name{
font-family: 'xinwei';
@ -1354,6 +1379,9 @@ div:hover>.intro{opacity: 1;}
#arena[data-identity_font='xiaozhuan'] .player .identity>div{
font-family: 'xiaozhuan';
}
#arena[data-identity_font='lishu'] .player .identity>div{
font-family: 'lishu';
}
#arena[data-identity_font='xinwei'] .player .identity>div{
font-family: 'xinwei';
}
@ -1365,6 +1393,9 @@ div:hover>.intro{opacity: 1;}
#arena[data-cardtext_font='xiaozhuan'] .card div:not(.info):not(.background){
font-family: 'xiaozhuan';
}
#arena[data-cardtext_font='lishu'] .card div:not(.info):not(.background){
font-family: 'lishu';
}
#arena[data-cardtext_font='xinwei'] .card div:not(.info):not(.background){
font-family: 'xinwei';
}

View File

@ -707,3 +707,62 @@
left: 0 !important;
top:0;
}
#extension-dashboard>.menubutton.large{
width: 80px;
height: 80px;
margin: 6px;
}
#extension-dashboard>.menubutton.large>div:first-child{
font-family: 'lishu','xiaozhuan';
font-size: 60px;
line-height: 60px;
position: absolute;
left: 0;
top: 10px;
width: 100%;
height: 60px;
}
#extension-dashboard>.menubutton.large>div:last-child{
font-size: 18px;
position: absolute;
left: 0;
bottom: 0;
width: 100%;
}
#create-extension{
height: calc(100% - 5px);
}
#create-extension>div{
position: absolute;
width: 100%;
height: 100%;
overflow: scroll;
left: 0;
top: 0;
}
#create-extension>.menu-buttons{
left:10px;
height: calc(100% - 5px);
}
#create-extension>.menu-buttons>.config.more{
margin-left: 0px !important;
margin-top: 10px !important;
}
#create-extension>.hidden{
pointer-events: none;
}
#create-extension>div:not(*:first-child).hidden{
transform: translateX(200px);
}
#create-extension>.menu-buttons>.new_character>.skill_list{
top: 210px;
}
#create-extension>.menu-buttons>.new_character>.skill_list>div:first-child:not(*:empty){
margin-top: 10px;
margin-bottom: 17px;
}
#create-extension>.menu-buttons>.new_character>.skill_list>div:first-child>button{
margin-right: 3px;
margin-bottom: 3px;
}