ushio
This commit is contained in:
parent
bec3319a41
commit
e8072153c4
|
@ -967,6 +967,7 @@ window.noname_character_rank={
|
|||
'xin_fuhuanghou',
|
||||
'sp_xunchen',
|
||||
'zhaozhong',
|
||||
'zongyu',
|
||||
],
|
||||
c:[
|
||||
'xiahoudun',
|
||||
|
|
|
@ -73,7 +73,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
perfectPair:{
|
||||
jiaxu:['liqueguosi'],
|
||||
re_yuanshao:['yanwen'],
|
||||
re_yuanshao:['yanwen','tianfeng'],
|
||||
menghuo:['zhurong'],
|
||||
sp_zhugeliang:['pangtong','huangyueying'],
|
||||
sunce:['zhouyu','taishici','daqiao'],
|
||||
|
|
|
@ -10,13 +10,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
sp_star:["sp_xiahoushi","jsp_zhaoyun","huangjinleishi","sp_pangtong","sp_daqiao","sp_ganning","sp_xiahoudun","sp_lvmeng","sp_zhangfei","sp_liubei"],
|
||||
sp_sticker:['sp_gongsunzan','sp_simazhao','sp_wangyuanji','sp_xinxianying','sp_liuxie'],
|
||||
sp_guozhan:["zangba","shamoke","ganfuren","yuejin","hetaihou","dingfeng","panfeng","jianggan"],
|
||||
sp_guozhan2:["mifuren","mateng","tianfeng","chendong","sp_dongzhuo","jiangfei","jiangqing","kongrong","bianfuren","liqueguosi","lvfan","cuimao","jiling","zhangren","zoushi","huaxin","luyusheng"],
|
||||
sp_guozhan2:["mifuren","mateng","tianfeng","chendong","sp_dongzhuo","jiangfei","jiangqing","kongrong","bianfuren","liqueguosi","lvfan","cuimao","jiling","zhangren","zoushi","huaxin","luyusheng","zongyu"],
|
||||
sp_single:["niujin"],
|
||||
sp_others:["hanba","caiyang"],
|
||||
},
|
||||
},
|
||||
characterFilter:{},
|
||||
character:{
|
||||
zongyu:['male','shu',3,['zyqiao','chengshang']],
|
||||
luyusheng:['female','wu',3,['zhente','zhiwei']],
|
||||
ol_xinxianying:['female','wei',3,['xincaishi','xinzhongjian']],
|
||||
huaxin:['male','wei',3,['wanggui','xibing']],
|
||||
|
@ -154,6 +155,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
//kaisa:["male","western",4,["zhengfu"]],
|
||||
},
|
||||
characterIntro:{
|
||||
zongyu:'宗预(?-264年),字德艳 ,荆州南阳郡安众县(今河南省南阳市)人。三国时期蜀汉官员、将领。曾随张飞入蜀助平益州,又受辟为丞相诸葛亮手下主簿,升任参军、右中郎将。诸葛亮逝世后,宗预受命出使孙吴,得到孙权的赞赏。迁后将军,出督永安,又升任征西大将军,并受封关内侯。公元258年(景耀元年),因病回成都,受任镇军大将军。蜀汉灭亡后,宗预随后主刘禅徙往洛阳,在中途病逝。宗预为人坦率耿直,多次出使孙吴并深得孙权的敬重,为吴、汉两国同盟的巩固作出了一定的贡献。',
|
||||
mifangfushiren:'麋芳(生卒年不详),字子方,东海郡朐县(今江苏省连云港市)人。汉末三国时期蜀国将领,刘备糜夫人的兄弟。麋芳本为徐州牧陶谦部下,曾被曹操表为彭城相。后来辞官,随刘备从徐州辗转至邺城、汝南、新野、长坂坡、江夏等地,奔波多年。傅士仁(生卒年不详),字君义,幽州广阳郡(今北京市)人,刘备手下将领。受到刘备的重用,但被关羽轻慢。<br>刘备称汉中王时,糜芳为南郡太守,但受到关羽的轻慢。后来,因未完成供给军资的任务而被关羽责骂,心中不安。吕蒙袭取荆州时,将已经投降的傅士仁展示给糜芳,麋芳于是选择投降,导致关羽兵败被杀。此后,在吴国担任将军,并且为吴征伐。',
|
||||
mengda:'孟达(?-228),字子度,本字子敬,因刘备的叔父名叫刘子敬,为避讳而改字。扶风郡郿人,三国时期人物。本为刘璋属下,后降刘备。关羽围樊城、襄阳时因不发兵救关羽而触怒刘备,于是投奔曹魏。此后,劝降刘封,未果。在魏官至散骑常侍、建武将军,封平阳亭侯。此后又欲反曹魏而归蜀汉,事败而死。',
|
||||
luyusheng:'陆郁生(?年-?),三国时期吴国官员陆绩之女。陆郁生的父亲陆绩是吴郡公认的才子,又是当时吴郡陆氏的领袖。陆绩赴任担任郁林太守,遂取此名。陆郁生年少的时候就定下坚贞的志向。建安二十四年(219年),陆绩早亡,她与两个兄弟陆宏、陆睿当时都只有几岁,一起返回吴县,被他们的从兄陆瑁接回抚养。13周岁的陆郁生嫁给同郡出身的张白为妻。出嫁3个月后,张白因为其兄张温一族的案件遭到连坐,被处以流刑,后死于流放地,陆郁生成为了寡妇,其后公开宣言不再改嫁,困难于生计但拒绝了所有提亲,在艰苦中从未停止服侍、照顾张白的姐妹。事情传到朝廷,皇帝褒奖陆郁生,号其为“义姑”。她的表侄姚信在文集中称赞她的义举。',
|
||||
|
@ -400,6 +402,64 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
},
|
||||
skill:{
|
||||
//宗预
|
||||
zyqiao:{
|
||||
audio:2,
|
||||
trigger:{target:'useCardToTargeted'},
|
||||
logTarget:'player',
|
||||
usable:2,
|
||||
filter:function(event,player){
|
||||
var source=event.player;
|
||||
if(source==player) return false;
|
||||
if(get.mode()=='guozhan'&&source.isFriendOf(player)) return false;
|
||||
return source.countDiscardableCards(player,'he')>0;
|
||||
},
|
||||
check:function(event,player){
|
||||
var target=event.player;
|
||||
if(get.attitude(player,target)>=0) return false;
|
||||
if(!player.countCards('he',function(card){
|
||||
return lib.filter.cardDiscardable(card,player,'zyqiao');
|
||||
})) return true;
|
||||
if(player.countCards('he',(card)=>get.value(card,player)<5)) return true;
|
||||
if(target.countCards('he',(card)=>get.value(card,target)>6)&&player.countCards('he',(card)=>get.value(card,player)<7)) return true;
|
||||
return false;
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
player.discardPlayerCard(trigger.player,true,'he');
|
||||
'step 1'
|
||||
if(player.countCards('he',function(card){
|
||||
return lib.filter.cardDiscardable(card,player,'zyqiao');
|
||||
})) player.chooseToDiscard('he',true);
|
||||
},
|
||||
},
|
||||
chengshang:{
|
||||
audio:2,
|
||||
trigger:{player:'useCardAfter'},
|
||||
filter:function(event,player){
|
||||
if(!lib.suit.contains(get.suit(event.card,false))||typeof get.number(event.card)!='number') return false;
|
||||
if(player.getHistory('sourceDamage',function(evt){
|
||||
return evt.card==event.card;
|
||||
}).length) return false;
|
||||
var phsu=event.getParent('phaseUse');
|
||||
if(!phsu||phsu.player!=player) return false;
|
||||
if(player.getHistory('gain',function(evt){
|
||||
return evt.getParent().name=='chengshang';
|
||||
}).length) return false;
|
||||
for(var i of event.targets){
|
||||
if(i!=player&&(get.mode()!='guozhan'||i.isEnemyOf(player))) return true;
|
||||
}
|
||||
return false;
|
||||
},
|
||||
content:function(){
|
||||
var suit=get.suit(trigger.card);
|
||||
var number=get.number(trigger.card);
|
||||
var card=get.cardPile2(function(card){
|
||||
return card.suit==suit&&card.number==number;
|
||||
});
|
||||
if(card) player.gain(card,'gain2');
|
||||
},
|
||||
},
|
||||
//新丁奉
|
||||
reduanbing:{
|
||||
audio:2,
|
||||
|
@ -16618,6 +16678,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
refenxun:'奋迅',
|
||||
refenxun2:'奋迅',
|
||||
refenxun_info:'出牌阶段限一次,你可以选择一名其他角色,然后本回合你计算与其的距离视为1;结束阶段开始时,若你未对其造成过伤害,你弃一张牌。',
|
||||
zongyu:'宗预',
|
||||
zyqiao:'气傲',
|
||||
zyqiao_info:'每回合限两次。当你成为其他角色使用牌的目标后,你可以弃置其一张牌,然后你弃置一张牌。',
|
||||
zyqiao_info_guozhan:'每回合限两次。当你成为其他势力的角色使用牌的目标后,你可以弃置其一张牌,然后你弃置一张牌。',
|
||||
chengshang:'承赏',
|
||||
chengshang_info:'当你于出牌阶段内使用的牌结算完成后,若此牌未造成过伤害且此牌的目标包含其他角色且你本阶段内未因〖承赏〗获得过牌,则你可以从牌堆中获得一张与此牌花色点数相同的牌。',
|
||||
chengshang_info_guozhan:'当你于出牌阶段内使用的牌结算完成后,若此牌未造成过伤害且此牌的目标包含其他角色且你本阶段内未因〖承赏〗获得过牌,则你可以从牌堆中获得一张与此牌花色点数相同的牌。',
|
||||
|
||||
sp_default:"常规",
|
||||
sp_zhongdan:"忠胆英杰",
|
||||
|
|
|
@ -5,7 +5,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
connect:true,
|
||||
character:{
|
||||
caosong:['male','wei',3,['cslilu','csyizheng']],
|
||||
re_taoqian:['male','qun',3,['zhaohuo','reyixiang','yirang']],
|
||||
re_taoqian:['male','qun',3,['zhaohuo','reyixiang','reyirang']],
|
||||
zhaozhong:['male','qun',6,['yangzhong','huangkong']],
|
||||
fanyufeng:['female','qun',3,['bazhan','jiaoying']],
|
||||
ol_lisu:['male','qun',3,['qiaoyan','xianzhu']],
|
||||
|
@ -113,6 +113,41 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
skill:{
|
||||
//陶谦和曹嵩
|
||||
reyirang:{
|
||||
audio:'yirang',
|
||||
audioname:['re_taoqian'],
|
||||
trigger:{player:'phaseUseBegin'},
|
||||
direct:true,
|
||||
filter:function(event,player){
|
||||
if(!player.countCards('he',function(card){
|
||||
return get.type(card)!='basic';
|
||||
})){
|
||||
return false;
|
||||
}
|
||||
return game.hasPlayer(function(current){
|
||||
return current.maxHp>player.maxHp;
|
||||
});
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
player.chooseTarget(get.prompt2('reyirang'),function(card,player,target){
|
||||
return target.maxHp>player.maxHp;
|
||||
}).set('ai',function(target){
|
||||
return (get.attitude(_status.event.player,target)-2)*target.maxHp;
|
||||
});
|
||||
'step 1'
|
||||
if(result.bool){
|
||||
var cards=player.getCards('he',function(card){
|
||||
return get.type(card)!='basic';
|
||||
});
|
||||
var target=result.targets[0];
|
||||
player.logSkill('reyirang',target);
|
||||
target.gain(cards,player,'give');
|
||||
player.gainMaxHp(target.maxHp-player.maxHp,true);
|
||||
player.recover(cards.length);
|
||||
}
|
||||
}
|
||||
},
|
||||
cslilu:{
|
||||
audio:2,
|
||||
trigger:{player:'phaseDrawBegin1'},
|
||||
|
@ -2674,7 +2709,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
'step 1'
|
||||
if(result.bool){
|
||||
var target=result.targets[0];
|
||||
player.logSkill('xinfu_wuniang',target);
|
||||
player.logSkill('decadewuniang',target);
|
||||
player.line(target,'fire');
|
||||
player.gainPlayerCard(target,'he',true);
|
||||
target.draw();
|
||||
|
@ -9892,7 +9927,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
duyu:'杜预',
|
||||
sanchen:'三陈',
|
||||
sanchen_info:'出牌阶段,你可选择一名本回合内未选择过的角色。其摸三张牌,然后弃置三张牌。若其未以此法弃置牌或以此法弃置的牌的类别均不相同,则其摸一张牌。否则你本阶段内不能再发动〖三陈〗。',
|
||||
sanchen_info_guozhan:'出牌阶段,你可选择一名本回合内未选择过的角色。其摸三张牌,然后弃置三张牌。若其未以此法弃置牌或以此法弃置的牌的类别均不相同,则其摸一张牌且你获得技能〖破竹〗只到回合结束。否则你本阶段内不能再发动〖三陈〗。',
|
||||
sanchen_info_guozhan:'出牌阶段,你可选择一名本回合内未选择过的角色。其摸三张牌,然后弃置三张牌。若其未以此法弃置牌或以此法弃置的牌的类别均不相同,则其摸一张牌且你获得技能〖破竹〗直到回合结束。否则你本阶段内不能再发动〖三陈〗。',
|
||||
zhaotao:'诏讨',
|
||||
zhaotao_info:'觉醒技,准备阶段,若你本局游戏内发动〖三陈〗的次数大于2,则你减1点体力上限并获得〖破竹〗。',
|
||||
pozhu:'破竹',
|
||||
|
@ -10002,10 +10037,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
reyixiang_info:'锁定技,其他角色于其出牌阶段内使用的第一张牌对你的伤害-1;其使用的第二张牌若为黑色,则对你无效。',
|
||||
caosong:'曹嵩',
|
||||
cslilu:'礼赂',
|
||||
cslilu_info:'摸牌阶段,你可以放弃摸牌,改为将手牌摸至X张,然后将至少一张手牌交给一名其他角色。若你以此法给出的牌数大于你上次以此法给出的牌数,则你加1点体力上限并回复1点体力。',
|
||||
cslilu_info:'摸牌阶段,你可以放弃摸牌,改为将手牌摸至X张(X为你的体力上限和5中的最小值),然后将至少一张手牌交给一名其他角色。若你以此法给出的牌数大于你上次以此法给出的牌数,则你加1点体力上限并回复1点体力。',
|
||||
csyizheng:'翊正',
|
||||
csyizheng2:'翊正',
|
||||
csyizheng_info:'结束阶段开始时,你可以选择一名其他角色。你的下回合开始前,当该角色造成伤害或回复体力时,若其体力上限小于你,则你减1点体力上限,且令此伤害值/回复值+1。',
|
||||
reyirang:'揖让',
|
||||
reyirang_info:'出牌阶段开始时,你可以将所有非基本牌交给一名体力上限大于你的其他角色,然后调整体力上限至与该角色相同并回复X点体力(X为你以此法交给其的牌数)。',
|
||||
|
||||
sp_yingbian:'文德武备',
|
||||
sp_whlw:"文和乱武",
|
||||
|
|
|
@ -37,7 +37,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
|
||||
pal_xiahoujinxuan:['male','shu',3,['xuanmo','danqing']],
|
||||
pal_muchanglan:['female','wu',3,['feixia','lueying']],
|
||||
pal_xia:['female','shu',3,['zongyu','fanling']],
|
||||
pal_xia:['female','shu',3,['xjzongyu','fanling']],
|
||||
pal_jiangcheng:['male','qun',4,['yanzhan','fenshi']],
|
||||
|
||||
pal_yuejinzhao:['male','wei',4,['ywuhun','yingfeng']],
|
||||
|
@ -1338,7 +1338,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
threaten:1.3
|
||||
}
|
||||
},
|
||||
zongyu:{
|
||||
xjzongyu:{
|
||||
enable:'phaseUse',
|
||||
usable:1,
|
||||
filterCard:{color:'black'},
|
||||
|
@ -4222,8 +4222,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
yingfeng_info:'锁定技,每当你使用一张杀结算完毕后,你随机对一名不是此杀目标的敌方角色使用一张杀',
|
||||
fenglue:'风掠',
|
||||
fenglue_info:'你可以放弃出牌阶段,改为指定一名其他角色并选择任意张手牌,依次对该角色使用,若如此做,此阶段内该角色每受到一点伤害,你在结算后摸一张牌',
|
||||
zongyu:'纵雨',
|
||||
zongyu_info:'出牌阶段限一次,你可以弃置一张黑色手牌,视为使用一张飞镖,随机指定两名敌方角色为目标',
|
||||
xjzongyu:'纵雨',
|
||||
xjzongyu_info:'出牌阶段限一次,你可以弃置一张黑色手牌,视为使用一张飞镖,随机指定两名敌方角色为目标',
|
||||
fanling:'返灵',
|
||||
fanling_info:'锁定技,每当一名角色失去体力,你回复一点体力,每回合只能发动一次',
|
||||
huahu:'化狐',
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
window.noname_asset_list=[
|
||||
'v1.9.109.3.4',
|
||||
'v1.9.109.3.5',
|
||||
'audio/background/aozhan_chaoming.mp3',
|
||||
'audio/background/aozhan_online.mp3',
|
||||
'audio/background/aozhan_rewrite.mp3',
|
||||
|
@ -3857,6 +3857,8 @@ window.noname_asset_list=[
|
|||
'image/character/re_taoqian.jpg',
|
||||
'image/character/re_zhangchunhua.jpg',
|
||||
'image/character/xin_handang.jpg',
|
||||
'image/character/zongyu.jpg',
|
||||
'image/character/key_ushio.jpg',
|
||||
|
||||
'image/character/baiwuchang.jpg',
|
||||
'image/character/baosanniang.jpg',
|
||||
|
|
66
game/game.js
66
game/game.js
|
@ -6224,6 +6224,11 @@
|
|||
init:true,
|
||||
frequent:true
|
||||
},
|
||||
qunxionggeju:{
|
||||
name:'群雄割据',
|
||||
init:true,
|
||||
frequent:true
|
||||
},
|
||||
duzhansanguo:{
|
||||
name:'毒战三国',
|
||||
init:true,
|
||||
|
@ -32877,6 +32882,7 @@
|
|||
ui.playerids.style.display='';
|
||||
}
|
||||
|
||||
if(mode[lib.config.mode].startBefore) mode[lib.config.mode].startBefore();
|
||||
game.createEvent('game',false).setContent(mode[lib.config.mode].start);
|
||||
if(lib.mode[lib.config.mode]&&lib.mode[lib.config.mode].fromextension){
|
||||
var startstr=mode[lib.config.mode].start.toString();
|
||||
|
@ -34900,18 +34906,6 @@
|
|||
}
|
||||
else button.node.group.style.backgroundColor=get.translation('weiColor');
|
||||
}
|
||||
var group=get.is.double(button.link,true);
|
||||
if(group&&group.length==2){
|
||||
var str='';
|
||||
for(var i of group){
|
||||
str+=get.translation(i);
|
||||
}
|
||||
button.node.group.innerHTML=str;
|
||||
if(button.classList.contains('newstyle')){
|
||||
button.node.name.dataset.nature=get.groupnature(group[0]);
|
||||
button.node.group.dataset.nature=get.groupnature(group[1]);
|
||||
}
|
||||
}
|
||||
},
|
||||
div:function(){
|
||||
var str,innerHTML,position,position2,style,divposition,listen;
|
||||
|
@ -44026,16 +44020,9 @@
|
|||
}
|
||||
node.link=item;
|
||||
if(type=='character'||type=='characterx'){
|
||||
if(type=='characterx'&&item.indexOf('gz_')==0&&lib.character[item]&&lib.character[item][4]){
|
||||
for(var ix of lib.character[item][4]){
|
||||
if(ix.indexOf('doublegroup:')==0){
|
||||
node._replaceButton=true;
|
||||
node._changeGroup=ix.split(':').slice(1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if(type=='characterx'&&lib.characterReplace[node._link]&&lib.characterReplace[node._link].length>1) node._replaceButton=true;
|
||||
var double=get.is.double(node._link,true);
|
||||
if(double) node._changeGroup=true;
|
||||
if(type=='characterx'&&lib.characterReplace[node._link]&&lib.characterReplace[node._link].length>1) node._replaceButton=true;
|
||||
var func=function(node,item){
|
||||
node.setBackground(item,'character');
|
||||
if(node.node){
|
||||
|
@ -44067,6 +44054,10 @@
|
|||
node.node.name.dataset.nature=get.groupnature(infoitem[1]);
|
||||
node.node.group.dataset.nature=get.groupnature(infoitem[1],'raw');
|
||||
node.classList.add('newstyle');
|
||||
if(double&&double.length){
|
||||
node.node.name.dataset.nature=get.groupnature(double[0]);
|
||||
node.node.group.dataset.nature=get.groupnature(double[double.length==2?1:0]);
|
||||
}
|
||||
ui.create.div(node.node.hp);
|
||||
var textnode=ui.create.div('.text',get.numStr(infoitem[2]),node.node.hp);
|
||||
if(infoitem[2]==0){
|
||||
|
@ -44109,7 +44100,18 @@
|
|||
lib.setIntro(node);
|
||||
}
|
||||
if(infoitem[1]){
|
||||
node.node.group.innerHTML='<div>'+get.translation(infoitem[1])+'</div>';
|
||||
if(double){
|
||||
var str='<div>';
|
||||
if(double.length==2){
|
||||
for(var i of double){
|
||||
str+=get.translation(i);
|
||||
}
|
||||
}
|
||||
else str+=get.translation(double[0]);
|
||||
str+='</div>';
|
||||
node.node.group.innerHTML=str;
|
||||
}
|
||||
else node.node.group.innerHTML='<div>'+get.translation(infoitem[1])+'</div>';
|
||||
node.node.group.style.backgroundColor=get.translation(infoitem[1]+'Color');
|
||||
}
|
||||
else{
|
||||
|
@ -44120,23 +44122,7 @@
|
|||
node.node.replaceButton=intro;
|
||||
intro.innerHTML='切换';
|
||||
intro._node=node;
|
||||
if(node._changeGroup) intro.addEventListener(lib.config.touchscreen?'touchend':'click',function(){
|
||||
_status.tempNoButton=true;
|
||||
var node=this._node;
|
||||
var list=node._changeGroup;
|
||||
var link=lib.character[node.link][1];
|
||||
var index=list.indexOf(link);
|
||||
if(index==list.length-1) index=0;
|
||||
else index++;
|
||||
lib.character[node.link][1]=list[index];
|
||||
node.refresh(node,node.link);
|
||||
game.uncheck();
|
||||
game.check();
|
||||
setTimeout(function(){
|
||||
delete _status.tempNoButton;
|
||||
},200);
|
||||
});
|
||||
else intro.addEventListener(lib.config.touchscreen?'touchend':'click',function(){
|
||||
intro.addEventListener(lib.config.touchscreen?'touchend':'click',function(){
|
||||
_status.tempNoButton=true;
|
||||
var node=this._node;
|
||||
var list=lib.characterReplace[node._link];
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
window.noname_update={
|
||||
version:'1.9.109.3.4',
|
||||
update:'1.9.109.3.3',
|
||||
version:'1.9.109.3.5',
|
||||
update:'1.9.109.3.4',
|
||||
changeLog:[
|
||||
'界韩当、界张春华',
|
||||
'曹嵩、陶谦',
|
||||
'国战徐庶',
|
||||
'冈崎汐',
|
||||
'宗预',
|
||||
'群雄割据',
|
||||
'bug修复',
|
||||
],
|
||||
files:[
|
||||
|
@ -21,25 +21,25 @@ window.noname_update={
|
|||
//'card/yingbian.js',
|
||||
//'card/zhenfa.js',
|
||||
//'card/zhulu.js',
|
||||
'character/diy.js',
|
||||
//'character/diy.js',
|
||||
//'character/extra.js',
|
||||
//'character/hearth.js',
|
||||
//'character/gujian.js',
|
||||
//'character/gwent.js',
|
||||
//'character/hearth.js',
|
||||
'character/mobile.js',
|
||||
//'character/mobile.js',
|
||||
//'character/mtg.js',
|
||||
//'character/old.js',
|
||||
//'character/ow.js',
|
||||
'character/rank.js',
|
||||
'character/refresh.js',
|
||||
//'character/shenhua.js',
|
||||
//'character/refresh.js',
|
||||
'character/shenhua.js',
|
||||
'character/sp.js',
|
||||
'character/sp2.js',
|
||||
//'character/tw.js',
|
||||
//'character/standard.js',
|
||||
//'character/swd.js',
|
||||
//'character/xianjian.js',
|
||||
'character/xianjian.js',
|
||||
//'character/xinghuoliaoyuan.js',
|
||||
'character/yijiang.js',
|
||||
//'character/yxs.js',
|
||||
|
@ -48,7 +48,7 @@ window.noname_update={
|
|||
//'layout/default/menu.css',
|
||||
//'layout/nova/layout.css',
|
||||
//'mode/boss.js',
|
||||
//'mode/brawl.js',
|
||||
'mode/brawl.js',
|
||||
//'mode/chess.js',
|
||||
//'mode/doudizhu.js',
|
||||
'mode/guozhan.js',
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 115 KiB |
Binary file not shown.
After Width: | Height: | Size: 173 KiB |
371
mode/brawl.js
371
mode/brawl.js
|
@ -1144,6 +1144,377 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
},
|
||||
},
|
||||
qunxionggeju:{
|
||||
name:'群雄割据',
|
||||
mode:'guozhan',
|
||||
intro:[
|
||||
'开放不同势力组合,以优先亮出的武将牌作为自己的势力,双势力武将则使用列表的第一个势力',
|
||||
],
|
||||
showcase:function(init){
|
||||
var node=this;
|
||||
var list=[
|
||||
['re_yuanshao','re_lidian'],
|
||||
['zhangliao','sunquan'],
|
||||
['xin_fazheng','lvfan'],
|
||||
['sunjian','lvbu'],
|
||||
['jin_simashi','re_weiyan'],
|
||||
['guanyu','sunce'],
|
||||
['zhenji','sp_zhangjiao'],
|
||||
['guojia','sp_zhugeliang'],
|
||||
];
|
||||
list.randomSort();
|
||||
var func=function(){
|
||||
var card=ui.create.player(null,true);
|
||||
var name=list.shift();
|
||||
card.init(name[0],name[1]);
|
||||
card.node.marks.remove();
|
||||
card.node.count.remove();
|
||||
card.node.hp.remove();
|
||||
card.classList.remove('unseen');
|
||||
node.nodes.push(card);
|
||||
card.style.position='absolute';
|
||||
card.style.zIndex=2;
|
||||
card.style.transition='all 2s';
|
||||
var rand1=Math.round(Math.random()*100);
|
||||
var rand2=Math.round(Math.random()*100);
|
||||
var rand3=Math.round(Math.random()*40)-20;
|
||||
card.style.left='calc('+rand1+'% - '+(rand1*1.5)+'px)';
|
||||
card.style.top='calc('+rand2+'% - '+(rand2*1.8)+'px)';
|
||||
card.style.transform='scale(0.8) rotate('+rand3+'deg)';
|
||||
node.appendChild(card);
|
||||
ui.refresh(card);
|
||||
};
|
||||
|
||||
var list2=['feilongduofeng','taipingyaoshu','dinglanyemingzhu'];
|
||||
var func2=function(){
|
||||
var card=game.createCard(list2.shift(),'noclick');
|
||||
node.nodes.push(card);
|
||||
card.style.position='absolute';
|
||||
card.style.zIndex=2;
|
||||
card.style.transition='all 2s';
|
||||
var rand1=Math.round(Math.random()*100);
|
||||
var rand2=Math.round(Math.random()*100);
|
||||
var rand3=Math.round(Math.random()*40)-20;
|
||||
card.style.left='calc('+rand1+'% - '+rand1+'px)';
|
||||
card.style.top='calc('+rand2+'% - '+rand2+'px)';
|
||||
card.style.transform='rotate('+rand3+'deg)';
|
||||
node.appendChild(card);
|
||||
ui.refresh(card);
|
||||
};
|
||||
if(init){
|
||||
node.nodes=[];
|
||||
}
|
||||
else{
|
||||
while(node.nodes.length){
|
||||
node.nodes.shift().remove();
|
||||
}
|
||||
}
|
||||
for(var i=0;i<5;i++){
|
||||
func();
|
||||
}
|
||||
for(var i=0;i<3;i++){
|
||||
func2();
|
||||
func();
|
||||
}
|
||||
},
|
||||
init:function(){},
|
||||
content:{
|
||||
chooseCharacterBefore:function(){
|
||||
game.chooseCharacter=function(){
|
||||
var next=game.createEvent('chooseCharacter',false);
|
||||
next.showConfig=true;
|
||||
next.addPlayer=true;
|
||||
next.ai=function(player,list,back){
|
||||
var mainx=list[0];
|
||||
var vicex=list[1];
|
||||
if(get.guozhanReverse(mainx,vicex)){
|
||||
mainx=list[1];
|
||||
vicex=list[0];
|
||||
}
|
||||
player.init(mainx,vicex,false);
|
||||
if(back){
|
||||
list.remove(player.name1);
|
||||
list.remove(player.name2);
|
||||
for(var i=0;i<list.length;i++){
|
||||
back.push(list[i]);
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
next.setContent(function(){
|
||||
"step 0"
|
||||
var eltp={
|
||||
getGuozhanGroup:function(num){
|
||||
if(num==1) return lib.character[this.name2][1];
|
||||
return lib.character[this.name1][1];
|
||||
},
|
||||
wontYe:function(group){
|
||||
if(!group) group=lib.character[this.name1][1];
|
||||
if(_status.yeidentity&&_status.yeidentity.contains(group)) return false;
|
||||
if(get.zhu(this,null,true)) return true;
|
||||
var num=3,total=get.population();
|
||||
if(total<6) num=1;
|
||||
else if(total<8) num=2;
|
||||
return get.totalPopulation(group)+1<=num;
|
||||
},
|
||||
}
|
||||
for(var i of game.players){
|
||||
for(var j in eltp) i[j]=eltp[j];
|
||||
}
|
||||
for(var j in eltp) lib.element.player[j]=eltp[j];
|
||||
ui.arena.classList.add('choose-character');
|
||||
var addSetting=function(dialog){
|
||||
dialog.add('选择座位').classList.add('add-setting');
|
||||
var seats=document.createElement('table');
|
||||
seats.classList.add('add-setting');
|
||||
seats.style.margin='0';
|
||||
seats.style.width='100%';
|
||||
seats.style.position='relative';
|
||||
for(var i=1;i<=game.players.length;i++){
|
||||
var td=ui.create.div('.shadowed.reduce_radius.pointerdiv.tdnode');
|
||||
td.innerHTML='<span>'+get.cnNumber(i,true)+'</span>';
|
||||
td.link=i-1;
|
||||
seats.appendChild(td);
|
||||
td.addEventListener(lib.config.touchscreen?'touchend':'click',function(){
|
||||
if(_status.dragged) return;
|
||||
if(_status.justdragged) return;
|
||||
if(_status.cheat_seat){
|
||||
_status.cheat_seat.classList.remove('bluebg');
|
||||
if(_status.cheat_seat==this){
|
||||
delete _status.cheat_seat;
|
||||
return;
|
||||
}
|
||||
}
|
||||
this.classList.add('bluebg');
|
||||
_status.cheat_seat=this;
|
||||
});
|
||||
}
|
||||
dialog.content.appendChild(seats);
|
||||
if(game.me==game.zhu){
|
||||
seats.previousSibling.style.display='none';
|
||||
seats.style.display='none';
|
||||
}
|
||||
|
||||
dialog.add(ui.create.div('.placeholder.add-setting'));
|
||||
dialog.add(ui.create.div('.placeholder.add-setting'));
|
||||
if(get.is.phoneLayout()) dialog.add(ui.create.div('.placeholder.add-setting'));
|
||||
};
|
||||
var removeSetting=function(){
|
||||
var dialog=_status.event.dialog;
|
||||
if(dialog){
|
||||
dialog.style.height='';
|
||||
delete dialog._scrollset;
|
||||
var list=Array.from(dialog.querySelectorAll('.add-setting'));
|
||||
while(list.length){
|
||||
list.shift().remove();
|
||||
}
|
||||
ui.update();
|
||||
}
|
||||
};
|
||||
event.addSetting=addSetting;
|
||||
event.removeSetting=removeSetting;
|
||||
|
||||
var chosen=lib.config.continue_name||[];
|
||||
game.saveConfig('continue_name');
|
||||
event.chosen=chosen;
|
||||
|
||||
var i;
|
||||
event.list=[];
|
||||
for(i in lib.character){
|
||||
if(i.indexOf('gz_shibing')==0) continue;
|
||||
if(chosen.contains(i)) continue;
|
||||
if(lib.filter.characterDisabled(i)) continue;
|
||||
if(get.config('onlyguozhan')){
|
||||
if(!lib.characterPack.mode_guozhan[i]) continue;
|
||||
if(get.is.jun(i)) continue;
|
||||
}
|
||||
if(lib.character[i][4].contains('hiddenSkill')) continue;
|
||||
if(lib.character[i][2]==3||lib.character[i][2]==4||lib.character[i][2]==5)
|
||||
event.list.push(i);
|
||||
}
|
||||
_status.characterlist=event.list.slice(0);
|
||||
_status.yeidentity=[];
|
||||
event.list.randomSort();
|
||||
// var list=event.list.splice(0,parseInt(get.config('choice_num')));
|
||||
var list=event.list.randomRemove(parseInt(get.config('choice_num')));
|
||||
if(_status.auto){
|
||||
event.ai(game.me,list);
|
||||
lib.init.onfree();
|
||||
}
|
||||
else if(chosen.length){
|
||||
game.me.init(chosen[0],chosen[1],false);
|
||||
lib.init.onfree();
|
||||
}
|
||||
else{
|
||||
var dialog=ui.create.dialog('选择角色','hidden',[list,'character']);
|
||||
if(get.config('change_identity')){
|
||||
addSetting(dialog);
|
||||
}
|
||||
var next=game.me.chooseButton(dialog,true,2).set('onfree',true);
|
||||
next.filterButton=function(button){
|
||||
if(ui.dialog.buttons.length<=10){
|
||||
for(var i=0;i<ui.dialog.buttons.length;i++){
|
||||
if(ui.dialog.buttons[i]!=button){
|
||||
if(lib.element.player.perfectPair.call({
|
||||
name1:button.link,name2:ui.dialog.buttons[i].link
|
||||
})){
|
||||
button.classList.add('glow2');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
};
|
||||
next.switchToAuto=function(){
|
||||
event.ai(game.me,list);
|
||||
ui.arena.classList.remove('selecting');
|
||||
};
|
||||
var createCharacterDialog=function(){
|
||||
event.dialogxx=ui.create.characterDialog('heightset',function(i){
|
||||
if(i.indexOf('gz_shibing')==0) return true;
|
||||
if(get.config('onlyguozhan')){
|
||||
if(!lib.characterPack.mode_guozhan[i]) return true;
|
||||
if(get.is.jun(i)) return true;
|
||||
}
|
||||
},get.config('onlyguozhanexpand')?'expandall':undefined,get.config('onlyguozhan')?'onlypack:mode_guozhan':undefined);
|
||||
if(ui.cheat2){
|
||||
ui.cheat2.animate('controlpressdownx',500);
|
||||
ui.cheat2.classList.remove('disabled');
|
||||
}
|
||||
};
|
||||
if(lib.onfree){
|
||||
lib.onfree.push(createCharacterDialog);
|
||||
}
|
||||
else{
|
||||
createCharacterDialog();
|
||||
}
|
||||
ui.create.cheat2=function(){
|
||||
ui.cheat2=ui.create.control('自由选将',function(){
|
||||
if(this.dialog==_status.event.dialog){
|
||||
if(game.changeCoin){
|
||||
game.changeCoin(50);
|
||||
}
|
||||
this.dialog.close();
|
||||
_status.event.dialog=this.backup;
|
||||
this.backup.open();
|
||||
delete this.backup;
|
||||
game.uncheck();
|
||||
game.check();
|
||||
if(ui.cheat){
|
||||
ui.cheat.animate('controlpressdownx',500);
|
||||
ui.cheat.classList.remove('disabled');
|
||||
}
|
||||
}
|
||||
else{
|
||||
if(game.changeCoin){
|
||||
game.changeCoin(-10);
|
||||
}
|
||||
this.backup=_status.event.dialog;
|
||||
_status.event.dialog.close();
|
||||
_status.event.dialog=_status.event.parent.dialogxx;
|
||||
this.dialog=_status.event.dialog;
|
||||
this.dialog.open();
|
||||
game.uncheck();
|
||||
game.check();
|
||||
if(ui.cheat){
|
||||
ui.cheat.classList.add('disabled');
|
||||
}
|
||||
}
|
||||
});
|
||||
if(lib.onfree){
|
||||
ui.cheat2.classList.add('disabled');
|
||||
}
|
||||
}
|
||||
ui.create.cheat=function(){
|
||||
_status.createControl=ui.cheat2;
|
||||
ui.cheat=ui.create.control('更换',function(){
|
||||
if(ui.cheat2&&ui.cheat2.dialog==_status.event.dialog){
|
||||
return;
|
||||
}
|
||||
if(game.changeCoin){
|
||||
game.changeCoin(-3);
|
||||
}
|
||||
event.list=event.list.concat(list);
|
||||
event.list.randomSort();
|
||||
// list=event.list.splice(0,parseInt(get.config('choice_num')));
|
||||
list=event.list.randomRemove(parseInt(get.config('choice_num')));
|
||||
var buttons=ui.create.div('.buttons');
|
||||
var node=_status.event.dialog.buttons[0].parentNode;
|
||||
_status.event.dialog.buttons=ui.create.buttons(list,'character',buttons);
|
||||
_status.event.dialog.content.insertBefore(buttons,node);
|
||||
buttons.animate('start');
|
||||
node.remove();
|
||||
game.uncheck();
|
||||
game.check();
|
||||
});
|
||||
delete _status.createControl;
|
||||
}
|
||||
if(!ui.cheat&&get.config('change_choice'))
|
||||
ui.create.cheat();
|
||||
if(!ui.cheat2&&get.config('free_choose'))
|
||||
ui.create.cheat2();
|
||||
}
|
||||
"step 1"
|
||||
if(ui.cheat){
|
||||
ui.cheat.close();
|
||||
delete ui.cheat;
|
||||
}
|
||||
if(ui.cheat2){
|
||||
ui.cheat2.close();
|
||||
delete ui.cheat2;
|
||||
}
|
||||
if(result.buttons){
|
||||
game.me.init(result.buttons[0].link,result.buttons[1].link,false);
|
||||
game.addRecentCharacter(result.buttons[0].link,result.buttons[1].link);
|
||||
}
|
||||
// game.me.setIdentity(game.me.group);
|
||||
event.list.remove(game.me.name1);
|
||||
event.list.remove(game.me.name2);
|
||||
for(var i=0;i<game.players.length;i++){
|
||||
if(game.players[i]!=game.me){
|
||||
event.ai(game.players[i],event.list.randomRemove(parseInt(get.config('choice_num'))),event.list);
|
||||
}
|
||||
}
|
||||
for(var i=0;i<game.players.length;i++){
|
||||
game.players[i].classList.add('unseen');
|
||||
game.players[i].classList.add('unseen2');
|
||||
_status.characterlist.remove(game.players[i].name);
|
||||
_status.characterlist.remove(game.players[i].name2);
|
||||
if(game.players[i]!=game.me){
|
||||
game.players[i].node.identity.firstChild.innerHTML='猜';
|
||||
game.players[i].node.identity.dataset.color='unknown';
|
||||
game.players[i].node.identity.classList.add('guessing');
|
||||
}
|
||||
game.players[i].hiddenSkills=lib.character[game.players[i].name1][3].slice(0);
|
||||
var hiddenSkills2=lib.character[game.players[i].name2][3];
|
||||
for(var j=0;j<hiddenSkills2.length;j++){
|
||||
game.players[i].hiddenSkills.add(hiddenSkills2[j]);
|
||||
}
|
||||
for(var j=0;j<game.players[i].hiddenSkills.length;j++){
|
||||
if(!lib.skill[game.players[i].hiddenSkills[j]]){
|
||||
game.players[i].hiddenSkills.splice(j--,1);
|
||||
}
|
||||
}
|
||||
game.players[i].group='unknown';
|
||||
game.players[i].sex='unknown';
|
||||
game.players[i].name1=game.players[i].name;
|
||||
game.players[i].name='unknown';
|
||||
game.players[i].identity='unknown';
|
||||
game.players[i].node.name.show();
|
||||
game.players[i].node.name2.show();
|
||||
game.players[i]._group=lib.character[game.players[i].name1][1];
|
||||
for(var j=0;j<game.players[i].hiddenSkills.length;j++){
|
||||
game.players[i].addSkillTrigger(game.players[i].hiddenSkills[j],true);
|
||||
}
|
||||
}
|
||||
setTimeout(function(){
|
||||
ui.arena.classList.remove('choose-character');
|
||||
},500);
|
||||
});
|
||||
}
|
||||
},
|
||||
},
|
||||
},
|
||||
duzhansanguo:{
|
||||
name:'毒战三国',
|
||||
mode:'identity',
|
||||
|
|
174
mode/guozhan.js
174
mode/guozhan.js
|
@ -301,13 +301,14 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
'gz_jiangwei','gz_zhangfei','gz_sp_zhugeliang',
|
||||
'gz_zhouyu','gz_lingcao','gz_daqiao','gz_dingfeng',
|
||||
'gz_yuji','gz_caiwenji','gz_diaochan','gz_zuoci',
|
||||
'gz_key_ushio',
|
||||
],
|
||||
'5':[
|
||||
'gz_zhangliao','gz_caocao','gz_xuhuang',
|
||||
'gz_liushan','gz_pangtong','gz_zhaoyun',
|
||||
'gz_re_lusu','gz_sunquan','gz_ganning',
|
||||
'gz_zhangxiu','gz_liqueguosi','gz_huatuo',
|
||||
'gz_zhanghuyuechen','gz_re_xushu',
|
||||
'gz_zhanghuyuechen','gz_re_xushu','gz_zongyu',
|
||||
],
|
||||
'4':[
|
||||
'gz_dianwei','gz_dengai','gz_xunyu',
|
||||
|
@ -347,9 +348,10 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
guozhan_quan:["gz_cuimao","gz_yujin","gz_wangping","gz_fazheng","gz_wuguotai","gz_lukang","gz_yuanshu","gz_zhangxiu"],
|
||||
guozhan_jun:["gz_jun_caocao","gz_jun_sunquan","gz_jun_liubei","gz_jun_zhangjiao"],
|
||||
guozhan_jin:['gz_jin_simayi','gz_jin_simazhao','gz_jin_simashi','gz_jin_zhangchunhua','gz_jin_wangyuanji','gz_jin_xiahouhui','gz_duyu','gz_zhanghuyuechen'],
|
||||
guozhan_double:['gz_tangzi','gz_liuqi','gz_mengda','gz_mifangfushiren','gz_zhanglu','gz_shixie','gz_re_xushu'],
|
||||
guozhan_zongheng:['gz_huaxin','gz_luyusheng'],
|
||||
guozhan_others:["gz_lingcao","gz_lifeng","gz_beimihu","gz_jianggan"],
|
||||
guozhan_single:['gz_re_xushu'],
|
||||
guozhan_double:['gz_tangzi','gz_liuqi','gz_mengda','gz_mifangfushiren','gz_zhanglu','gz_shixie'],
|
||||
guozhan_zongheng:['gz_huaxin','gz_luyusheng','gz_zongyu'],
|
||||
guozhan_others:["gz_lingcao","gz_lifeng","gz_beimihu","gz_jianggan","gz_key_ushio"],
|
||||
}
|
||||
},
|
||||
characterPack:{
|
||||
|
@ -474,6 +476,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
gz_jianggan:["male","wei",3,["weicheng","daoshu"]],
|
||||
gz_huaxin:['male','wei',3,['wanggui','xibing']],
|
||||
gz_luyusheng:['female','wu',3,['zhente','zhiwei']],
|
||||
gz_zongyu:['male','shu',3,['zyqiao','chengshang']],
|
||||
|
||||
gz_cuimao:['male','wei',3,['gzzhengbi','gzfengying'],[]],
|
||||
gz_yujin:['male','wei',4,['gzjieyue'],['gzskin']],
|
||||
|
@ -493,6 +496,8 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
gz_jin_simashi:['male','jin',3,['yimie','tairan']],
|
||||
gz_duyu:['male','jin',4,['sanchen']],
|
||||
gz_zhanghuyuechen:['male','jin',4,['xijue']],
|
||||
|
||||
gz_key_ushio:['female','key',3,['ushio_huanxin','ushio_xilv'],['doublegroup:key:wei:shu:wu:qun:jin']],
|
||||
}
|
||||
},
|
||||
skill:{
|
||||
|
@ -1194,7 +1199,9 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
if(target.identity=='unknown'||target.identity=='ye') return true;
|
||||
for(var i=0;i<storage.character.length;i++){
|
||||
var group=lib.character[storage.character[i]][1];
|
||||
if(target.identity==group) return true;
|
||||
if(group=='ye'||target.identity==group) return true;
|
||||
var double=get.is.double(storage.character[i],true);
|
||||
if(double&&double.contains(target.identity)) return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
@ -1231,6 +1238,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
var evt=_status.event.getParent('chooseToUse');
|
||||
var name=button.link[2];
|
||||
var group=lib.character[ui.selected.buttons[0].link][1];
|
||||
var double=get.is.double(ui.selected.buttons[0].link,true);
|
||||
var player=_status.event.player;
|
||||
if(evt.type=='dying'){
|
||||
if(evt.dying!=player&&get.effect(evt.dying,{name:name},player,player)<=0) return 0;
|
||||
|
@ -1240,7 +1248,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
if(!['tao','juedou','guohe','shunshou','wuzhong','xietianzi','yuanjiao','taoyuan','wugu','wanjian','nanman','huoshaolianying'].contains(name)) return 0;
|
||||
if(['taoyuan','wugu','wanjian','nanman','huoshaolianying'].contains(name)){
|
||||
var list=game.filterPlayer(function(current){
|
||||
return (current.identity=='unknown'||current.identity=='ye'||current.identity==group)&&player.canUse({name:name},current);
|
||||
return (group=='ye'||current.identity=='unknown'||current.identity=='ye'||current.identity==group||(double&&double.contains(current.identity)))&&player.canUse({name:name},current);
|
||||
});
|
||||
var num=0;
|
||||
for(var i=0;i<list.length;i++){
|
||||
|
@ -1258,7 +1266,8 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
if(typeof button.link!='string') return false;
|
||||
if(evt.type=='dying'){
|
||||
if(evt.dying.identity=='unknown'||evt.dying.identity=='ye') return true;
|
||||
return evt.dying.identity==lib.character[button.link][1];
|
||||
var double=get.is.double(button.link,true);
|
||||
return evt.dying.identity==lib.character[button.link][1]||lib.character[button.link][1]=='ye'||(double&&double.contains(evt.dying.identity));
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
@ -1271,6 +1280,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
if(button.link[3]) card.nature=button.link[3];
|
||||
var info=get.info(card);
|
||||
var group=lib.character[ui.selected.buttons[0].link][1];
|
||||
var double=get.is.double(ui.selected.buttons[0].link,true);
|
||||
if(evt.type=='dying'){
|
||||
return evt.filterCard(card,player,evt);
|
||||
}
|
||||
|
@ -1285,7 +1295,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
var targets=[list[i]];
|
||||
info.changeTarget(player,targets);
|
||||
for(var j=0;j<targets.length;j++){
|
||||
if(targets[j].identity!='unknown'&&targets[j].identity!='ye'&&targets[j].identity!=group){
|
||||
if(group!='ye'&&targets[j].identity!='unknown'&&targets[j].identity!='ye'&&targets[j].identity!=group&&(!double||!double.contains(targets[j].identity))){
|
||||
giveup=true;
|
||||
break;
|
||||
}
|
||||
|
@ -1296,7 +1306,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
return false;
|
||||
}
|
||||
else return game.hasPlayer(function(current){
|
||||
return evt.filterTarget(card,player,current)&&(current.identity=='unknown'||current.identity=='ye'||current.identity==group);
|
||||
return evt.filterTarget(card,player,current)&&(group=='ye'||current.identity=='unknown'||current.identity=='ye'||current.identity==group||(double&&double.contains(current.identity)));
|
||||
});
|
||||
}
|
||||
},
|
||||
|
@ -1322,21 +1332,22 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
isCard:true,
|
||||
},
|
||||
filterTarget:function(card,player,target){
|
||||
var xx=lib.skill.yigui_backup;
|
||||
var evt=_status.event;
|
||||
var group=xx.group;
|
||||
var info=get.info(card);
|
||||
if((!(info.singleCard&&ui.selected.targets.length))&&target.identity!='unknown'&&target.identity!='ye'&&target.identity!=group) return false;
|
||||
if(info.changeTarget){
|
||||
var targets=[target];
|
||||
info.changeTarget(player,targets);
|
||||
for(var i=0;i<targets.length;i++){
|
||||
if(targets[i].identity!='unknown'&&targets[i].identity!='ye'&&targets[i].identity!=group) return false;
|
||||
}
|
||||
}
|
||||
//if(evt.type=='dying') return target==evt.dying;
|
||||
if(evt._backup&&evt._backup.filterTarget) return evt._backup.filterTarget(card,player,target);
|
||||
return lib.filter.filterTarget(card,player,target);
|
||||
var xx=lib.skill.yigui_backup;
|
||||
var evt=_status.event;
|
||||
var group=xx.group;
|
||||
var double=get.is.double(xx.character,true);
|
||||
var info=get.info(card);
|
||||
if((!(info.singleCard&&ui.selected.targets.length))&&group!='ye'&&target.identity!='unknown'&&target.identity!='ye'&&target.identity!=group&&(!double||!double.contains(target.identity))) return false;
|
||||
if(info.changeTarget){
|
||||
var targets=[target];
|
||||
info.changeTarget(player,targets);
|
||||
for(var i=0;i<targets.length;i++){
|
||||
if(group!='ye'&&targets[i].identity!='unknown'&&targets[i].identity!='ye'&&targets[i].identity!=group&&(!double||!double.contains(targets[i].identity))) return false;
|
||||
}
|
||||
}
|
||||
//if(evt.type=='dying') return target==evt.dying;
|
||||
if(evt._backup&&evt._backup.filterTarget) return evt._backup.filterTarget(card,player,target);
|
||||
return lib.filter.filterTarget(card,player,target);
|
||||
},
|
||||
onuse:function(result,player){
|
||||
player.logSkill('yigui');
|
||||
|
@ -1408,9 +1419,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
content:function(){
|
||||
player.storage.yigui_init=true;
|
||||
var list=_status.characterlist.filter(function(name){
|
||||
return !get.is.double(name);
|
||||
}).randomGets(2);
|
||||
var list=_status.characterlist.randomGets(2);
|
||||
if(list.length){
|
||||
_status.characterlist.removeArray(list);
|
||||
player.storage.yigui.character.addArray(list);
|
||||
|
@ -1560,9 +1569,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
return event.name=='damage'||(event.player.isAlive()&&!event.player.isFriendOf(player))
|
||||
},
|
||||
content:function(){
|
||||
var list=_status.characterlist.filter(function(name){
|
||||
return !get.is.double(name);
|
||||
}).randomGets(1);
|
||||
var list=_status.characterlist.randomGets(1);
|
||||
if(list.length){
|
||||
_status.characterlist.removeArray(list);
|
||||
player.storage.yigui.character.addArray(list);
|
||||
|
@ -2504,7 +2511,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
event.showCharacter=false;
|
||||
var choiceList=['执行该军令,增加一点体力上限,然后回复一点体力','不执行该军令'];
|
||||
if(event.current.isFriendOf(player)) event.current.chooseJunlingControl(player,event.junling,targets).set('prompt','将略').set('choiceList',choiceList).set('ai',function(){return 0});
|
||||
else if(event.current._group==player.identity&&event.current.wontYe()){
|
||||
else if((lib.character[event.current.name1][1]==player.identity||lib.character[event.current.name2][1]==player.identity)&&event.current.wontYe(player.identity)){
|
||||
event.showCharacter=true;
|
||||
choiceList[0]='明置一张武将牌以'+choiceList[0];
|
||||
choiceList[1]='不明置武将牌且'+choiceList[1];
|
||||
|
@ -2517,7 +2524,17 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
event.carry=false;
|
||||
if(result.index==0&&result.control!='ok'){
|
||||
event.carry=true;
|
||||
if(event.showCharacter) event.current.chooseControl(['主将','副将']).set('ai',function(){return Math.round()>0.5?0:1;}).prompt='选择并展示一张武将牌,然后执行军令';
|
||||
if(event.showCharacter){
|
||||
var list=[];
|
||||
if(lib.character[event.current.name1][1]==player.identity) list.push('主将');
|
||||
if(lib.character[event.current.name2][1]==player.identity) list.push('副将');
|
||||
if(list.length>1) event.current.chooseControl(['主将','副将']).set('ai',function(){
|
||||
if(player.name1=='gz_fazheng') return 0;
|
||||
if(player.name2=='gz_fazheng') return 1;
|
||||
return Math.random()>0.5?0:1;
|
||||
}).prompt='选择并展示一张武将牌,然后执行军令';
|
||||
else event._result={index:list[0]=='主将'?0:1};
|
||||
}
|
||||
}
|
||||
'step 4'
|
||||
if(!event.list) event.list=[player];
|
||||
|
@ -5693,7 +5710,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
trigger:{player:'phaseZhunbeiBegin'},
|
||||
forced:true,
|
||||
filter:function(event,player){
|
||||
return player.storage.huangjintianbingfu.length==0;
|
||||
return player.storage.huangjintianbingfu.length==0&&get.population('qun')>0;
|
||||
},
|
||||
content:function(){
|
||||
var cards=get.cards(get.population('qun'));
|
||||
|
@ -5833,6 +5850,9 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
// return num>event.num;
|
||||
// },
|
||||
audio:2,
|
||||
filter:function(event,player){
|
||||
return get.population('qun')>0;
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
var num=get.population('qun');
|
||||
|
@ -7162,7 +7182,9 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
'step 0'
|
||||
player.storage._mingzhi3=true;
|
||||
var name=player.name1;
|
||||
if(!player.isUnseen(0)||name.indexOf('gz_')!=0||!lib.junList.contains(name.slice(3))||!lib.character['gz_jun_'+name.slice(3)]) event.finish();
|
||||
if(!player.isUnseen(0)||name.indexOf('gz_')!=0
|
||||
||!lib.junList.contains(name.slice(3))||!lib.character['gz_jun_'+name.slice(3)]
|
||||
||(player.identity!='ye'&&player.identity!='unknown'&&lib.character[player.name1][1]!=player.identity)) event.finish();
|
||||
else{
|
||||
player.chooseBool("是否将主武将牌替换为君主武将?").ai=function(){return true};
|
||||
}
|
||||
|
@ -7262,6 +7284,47 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
}
|
||||
},
|
||||
ushio_huanxin:{
|
||||
trigger:{
|
||||
player:['damageEnd','useCard'],
|
||||
source:'damageSource',
|
||||
},
|
||||
frequent:true,
|
||||
filter:function(event,player,name){
|
||||
if(name=='useCard') return get.type(event.card)=='equip';
|
||||
if(name=='damageEnd') return true;
|
||||
return event.getParent().name=='sha';
|
||||
},
|
||||
content:function(){
|
||||
player.judge().set('callback',function(){
|
||||
var card=event.judgeResult.card;
|
||||
if(card&&get.position(card,true)=='o'){
|
||||
player.gain(card,'gain2');
|
||||
player.chooseToDiscard(true,'he');
|
||||
}
|
||||
});
|
||||
},
|
||||
},
|
||||
ushio_xilv:{
|
||||
trigger:{player:'judgeEnd'},
|
||||
forced:true,
|
||||
content:function(){
|
||||
player.addTempSkill('ushio_xilv2',{player:'phaseJieshu'});
|
||||
player.addMark('ushio_xilv2',1,false);
|
||||
},
|
||||
},
|
||||
ushio_xilv2:{
|
||||
onremove:true,
|
||||
charlotte:true,
|
||||
mod:{
|
||||
maxHandcard:function(player,num){
|
||||
return num+player.countMark('ushio_xilv2');
|
||||
}
|
||||
},
|
||||
intro:{
|
||||
content:'手牌上限+#',
|
||||
},
|
||||
},
|
||||
},
|
||||
game:{
|
||||
getCharacterChoice:function(list,num){
|
||||
|
@ -7683,7 +7746,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
lib.init.onfree();
|
||||
}
|
||||
else{
|
||||
var dialog=ui.create.dialog('选择角色','hidden',[list,'characterx']);
|
||||
var dialog=ui.create.dialog('选择角色','hidden',[list,'character']);
|
||||
if(!_status.brawl||!_status.brawl.noAddSetting){
|
||||
if(get.config('change_identity')){
|
||||
addSetting(dialog);
|
||||
|
@ -7713,6 +7776,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
return false;
|
||||
};
|
||||
if(get.is.double(ui.selected.buttons[0].link)) return false;
|
||||
if(get.is.double(button.link)) return get.is.double(button.link,true).contains(lib.character[ui.selected.buttons[0].link][1]);
|
||||
return (lib.character[button.link][1]==lib.character[ui.selected.buttons[0].link][1]);
|
||||
};
|
||||
next.switchToAuto=function(){
|
||||
|
@ -7720,7 +7784,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
ui.arena.classList.remove('selecting');
|
||||
};
|
||||
var createCharacterDialog=function(){
|
||||
event.dialogxx=ui.create.characterDialog('heightset','characterx',function(i){
|
||||
event.dialogxx=ui.create.characterDialog('heightset',function(i){
|
||||
if(i.indexOf('gz_shibing')==0) return true;
|
||||
if(get.config('onlyguozhan')){
|
||||
if(!lib.characterPack.mode_guozhan[i]) return true;
|
||||
|
@ -7790,7 +7854,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
list=game.getCharacterChoice(event.list,parseInt(get.config('choice_num')));
|
||||
var buttons=ui.create.div('.buttons');
|
||||
var node=_status.event.dialog.buttons[0].parentNode;
|
||||
_status.event.dialog.buttons=ui.create.buttons(list,'characterx',buttons);
|
||||
_status.event.dialog.buttons=ui.create.buttons(list,'character',buttons);
|
||||
_status.event.dialog.content.insertBefore(buttons,node);
|
||||
buttons.animate('start');
|
||||
node.remove();
|
||||
|
@ -7925,11 +7989,12 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
};
|
||||
if(!lib.character[button.link]) return false;
|
||||
if(get.is.double(ui.selected.buttons[0].link)) return false;
|
||||
if(get.is.double(button.link)) return get.is.double(button.link,true).contains(lib.character[ui.selected.buttons[0].link][1]);
|
||||
return (lib.character[button.link][1]==lib.character[ui.selected.buttons[0].link][1]);
|
||||
};
|
||||
list.randomSort();
|
||||
for(var i=0;i<game.players.length;i++){
|
||||
list2.push([game.players[i],['选择角色',[game.getCharacterChoice(list,num),'characterx']],2,
|
||||
list2.push([game.players[i],['选择角色',[game.getCharacterChoice(list,num),'character']],2,
|
||||
true,function(){return Math.random()},filterButton]);
|
||||
}
|
||||
game.me.chooseButtonOL(list2,function(player,result){
|
||||
|
@ -8400,7 +8465,14 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
duoshi_info:'出牌阶段限四次,你可以将一张红色手牌当做【以逸待劳】使用。',
|
||||
gzxiaoguo:'骁果',
|
||||
gzxiaoguo_info:'其他角色的结束阶段开始时,你可以弃置一张基本牌,令该角色选择一项:1.弃置一张装备牌;2.受到你对其造成的1点伤害。',
|
||||
|
||||
|
||||
gz_key_ushio:'冈崎汐',
|
||||
ushio_huanxin:'幻心',
|
||||
ushio_huanxin_info:'当你受到伤害后/使用【杀】造成伤害后/使用装备牌时,你可进行判定。然后你获得判定牌并弃置一张牌。',
|
||||
ushio_xilv:'汐旅',
|
||||
ushio_xilv2:'汐旅',
|
||||
ushio_xilv_info:'锁定技,此武将牌可作为任意单势力武将牌的副将。当你进行判定后,你令你的手牌上限+1直至你的下个结束阶段。',
|
||||
|
||||
guozhan_default:"国战标准",
|
||||
guozhan_zhen:"君临天下·阵",
|
||||
guozhan_shi:"君临天下·势",
|
||||
|
@ -8408,7 +8480,8 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
guozhan_quan:"君临天下·权",
|
||||
guozhan_jun:"君主武将",
|
||||
guozhan_jin:'文德武备',
|
||||
guozhan_double:'不臣篇·上',
|
||||
guozhan_single:'君临天下EX/不臣篇',
|
||||
guozhan_double:'双势力武将',
|
||||
guozhan_zongheng:'纵横捭阖',
|
||||
guozhan_others:"其他",
|
||||
},
|
||||
|
@ -8957,12 +9030,17 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
_status.characterlist.randomSort();
|
||||
event.tochange=[]
|
||||
for(var i=0;i<_status.characterlist.length;i++){
|
||||
if(lib.character[_status.characterlist[i]][1]==group&&!get.is.double(_status.characterlist[i])) event.tochange.push(_status.characterlist[i]);
|
||||
var double=get.is.double(_status.characterlist[i],true);
|
||||
if(lib.character[_status.characterlist[i]][1]==group||(double&&double.contains(group))) event.tochange.push(_status.characterlist[i]);
|
||||
if(event.tochange.length==event.num) break;
|
||||
}
|
||||
if(!event.tochange.length) event.finish();
|
||||
else{
|
||||
player.chooseButton(true,['选择要变更的武将牌',[event.tochange,'character']]).ai=function(button){
|
||||
if(event.tochange.length==1) event._result={
|
||||
bool:true,
|
||||
links:event.tochange,
|
||||
}
|
||||
else player.chooseButton(true,['选择要变更的武将牌',[event.tochange,'character']]).ai=function(button){
|
||||
return get.guozhanRank(button.link);
|
||||
};
|
||||
}
|
||||
|
@ -9004,6 +9082,9 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
},
|
||||
player:{
|
||||
getGuozhanGroup:function(){
|
||||
return lib.character[this.name1][1];
|
||||
},
|
||||
chooseJunlingFor:function(target){
|
||||
var next=game.createEvent('chooseJunlingFor');
|
||||
next.player=this;
|
||||
|
@ -9309,11 +9390,12 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
game.addVideo('showCharacter',this,num);
|
||||
if(this.identity=='unknown'){
|
||||
this.group=lib.character[this.name1][1];
|
||||
this.group=this.getGuozhanGroup(num);
|
||||
this._group=this.group;
|
||||
if(get.is.jun(this.name1)&&this.isAlive()){
|
||||
this.identity=this.group;
|
||||
}
|
||||
else if(this.wontYe()){
|
||||
else if(this.wontYe(this.group)){
|
||||
this.identity=this.group;
|
||||
}
|
||||
else{
|
||||
|
@ -9414,8 +9496,8 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
game.tryResult();
|
||||
},
|
||||
wontYe:function(){
|
||||
var group=lib.character[this.name1][1];
|
||||
wontYe:function(group){
|
||||
if(!group) group=lib.character[this.name1][1];
|
||||
if(_status.yeidentity&&_status.yeidentity.contains(group)) return false;
|
||||
if(get.zhu(this,null,true)) return true;
|
||||
return get.totalPopulation(group)+1<=get.population()/2;
|
||||
|
|
Loading…
Reference in New Issue