你在凝视欧派的时候,欧派也在凝视着你。

This commit is contained in:
Spmario233 2020-12-22 21:57:12 +08:00
parent 6e0dbee7e8
commit 18539af71b
40 changed files with 625 additions and 223 deletions

View File

@ -887,6 +887,8 @@ game.import('card',function(lib,game,ui,get,ai,_status){
})) return false;
if(event.card.name=='nanman') return true;
if(event.card.name=='wanjian') return true;
if(event.card.name=='chuqibuyi') return true;
return false;
},
content:function(){
trigger.cancel();
@ -904,7 +906,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
target:player,
card:card
})) return;
if(card.name=='nanman'||card.name=='wanjian') return 'zerotarget';
if(card.name=='nanman'||card.name=='wanjian'||card.name=='chuqibuyi') return 'zerotarget';
if(card.name=='sha'){
var equip1=player.getEquip(1);
if(equip1&&equip1.name=='zhuque') return 1.9;
@ -1068,7 +1070,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
guding_info:'锁定技,当你使用【杀】对目标角色造成伤害时,若其没有手牌,此伤害+1。',
guding_skill:'古锭刀',
tengjia:'藤甲',
tengjia_info:'锁定技,【南蛮入侵】、【万箭齐发】和普通【杀】对你无效。你每次受到火焰伤害时,该伤害+1。',
tengjia_info:'锁定技,【南蛮入侵】、【万箭齐发】、【出其不意】和普通【杀】对你无效。你受到火焰伤害时,该伤害+1。',
tengjia1:'藤甲',
tengjia2:'藤甲',
tengjia3:'藤甲',

View File

@ -1493,6 +1493,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
forced:true,
popup:false,
nopop:true,
forceLoad:true,
intro:{
content:function(storage,player){
return '结束阶段,你随机弃置一名随机敌人的一张随机牌(剩余'+player.storage.mapodoufu_markcount+'回合)'

View File

@ -205,6 +205,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
return target!=player&&(get.mode()!='guozhan'||target.countCards('e')>0);
},
enable:true,
yingbian_prompt:'此牌的效果改为依次执行所有选项',
content:function(){
'step 0'
if(get.mode()!='guozhan'&&!get.is.single()) event.goto(2);
@ -235,7 +236,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
}
event.finish();
'step 2'
target.chooseToDiscard(2,event.forceExecute,'e').set('ai',function(card){
target.chooseToDiscard(2,card.yingbian,'e').set('ai',function(card){
var player=_status.event.player;
var source=_status.event.getParent().player;
if(get.damageEffect(player,source,player,'thunder')>=0){
@ -259,15 +260,26 @@ game.import('card',function(lib,game,ui,get,ai,_status){
natureDamage:1,
loseCard:1,
},
yingbian:function(card,player,targets,viewer){
if(get.attitude(viewer,player)<=0) return 0;
if(targets.filter(function(current){
return get.damageEffect(current,player,player,'thunder')>0&&current.countCards('e',function(card){
return get.value(card,current)<=0;
})<2&&current.countCards('e',function(card){
return get.value(card,current)>0;
})>0;
}).length) return 6;
return 0;
},
result:{
target:function(player,target){
if(get.mode()!='guozhan'&&!get.is.single()){
if(target.countCards('e',function(card){
return get.value(card,target)<=0;
})) return 1;
})>1) return 1;
var es=target.countCards('e');
if(es<2) return -1.5;
return 3/es;
return -3/es;
}
return -1-target.countCards('e');
}

View File

@ -83,6 +83,14 @@ game.import('card',function(lib,game,ui,get,ai,_status){
global:'icesha_skill',
range:{attack:1},
selectTarget:1,
yingbian_prompt:function(card){
if(card.nature=='fire'){
return '此牌的伤害值基数+1';
}
else{
return '当你使用此牌选择目标后,你可为此牌增加一个目标';
}
},
yingbian:function(event){
if(event.card.nature=='fire'){
if(typeof event.baseDamage!='number') event.baseDamage=1;
@ -255,6 +263,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
cardcolor:'red',
notarget:true,
nodelay:true,
yingbian_prompt:'当你声明使用此牌后,你摸一张牌',
yingbian:function(event){
event.player.draw();
},
@ -760,6 +769,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
type:'trick',
enable:true,
selectTarget:-1,
yingbian_prompt:'当你使用此牌选择目标后,你可为此牌减少一个目标',
yingbian:function(event){
event.yingbian_removeTarget=true;
},
@ -948,6 +958,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
fullskin:true,
type:'trick',
enable:true,
yingbian_prompt:'你令此牌不可被响应',
yingbian:function(event){
event.directHit.addArray(game.players);
},
@ -1058,7 +1069,15 @@ game.import('card',function(lib,game,ui,get,ai,_status){
},
result:{
target:-1.5,
player:function(player,target){
player:function(player,target,card){
if(get.cardtag(card,'yingbian_fujia')){
var num=player.countCards('h',function(cardx){
return cardx!=card&&(!card.cards||!card.cards.contains(cardx));
});
if(!game.hasPlayer(function(current){
return current.countCards('h')>num;
})) return 0;
}
if(get.damageEffect(target,player,target)>0&&get.attitude(player,target)>0&&get.attitude(target,player)>0){
return 0;
}
@ -1322,6 +1341,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
expose:0.2
},
notarget:true,
yingbian_prompt:'当此牌生效后,你获得此牌响应的目标牌',
contentBefore:function(){
'step 0'
if(get.mode()=='guozhan'&&get.cardtag(card,'guo')){
@ -2031,6 +2051,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
}
return true;
},
forceLoad:true,
content:function(){
'step 0'
delete event.wuxieresult;

View File

@ -2,7 +2,7 @@
game.import('card',function(lib,game,ui,get,ai,_status){
return {
name:'yingbian',
//connect:true,
connect:true,
card:{
suijiyingbian:{
global:'suijiyingbian_skill',
@ -16,6 +16,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
filterTarget:function(card,player,target){
return target!=player&&target.countCards('hej')>0;
},
yingbian_prompt:'此牌的效果改为依次执行所有选项',
content:function(){
var dist=get.distance(player,target);
if(dist>1||card.yingbian) player.discardPlayerCard(target,'hej',true);
@ -31,6 +32,19 @@ game.import('card',function(lib,game,ui,get,ai,_status){
return 0;
}
},
yingbian:function(card,player,targets,viewer){
if(get.attitude(viewer,player)<=0) return 0;
if(targets.filter(function(current){
var att=get.attitude(player,current);
if(att<=0) return current.countCards('he',function(card){
return get.value(card,current)>0;
})>1;
return current.countCards('ej',function(card){
return get.position(card)=='j'||get.value(card,current)<=0;
})>1;
}).length) return 6;
return 0;
},
basic:{
order:7.5,
useful:4,
@ -116,6 +130,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
filterTarget:function(card,player,target){
return target!=player&&target.countCards('h')>0;
},
yingbian_prompt:'当你使用此牌选择目标后,你可为此牌增加一个目标',
yingbian:function(event){
event.yingbian_addTarget=true;
},
@ -138,6 +153,13 @@ game.import('card',function(lib,game,ui,get,ai,_status){
useful:2,
value:6
},
yingbian:function(card,player,targets,viewer){
if(get.attitude(viewer,player)<=0) return 0;
if(game.hasPlayer(function(current){
return !targets.contains(current)&&lib.filter.targetEnabled2(card,player,current)&&get.effect(current,card,player,player)>0;
})) return 6;
return 0;
},
result:{
target:function(player,target,cardx){
if(player.hasSkillTag('viewHandcard',null,target,true)) return target.countCards('h',function(card){
@ -240,7 +262,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
equipValue:2
}
},
skills:['taigongyinfu_skill']
skills:['taigongyinfu_skill','taigongyinfu_link'],
},
},
skill:{
@ -249,20 +271,24 @@ game.import('card',function(lib,game,ui,get,ai,_status){
cardname:function(card,player){
if(card.name=='suijiyingbian'&&player.storage.suijiyingbian) return player.storage.suijiyingbian;
},
cardnature:function(card,player){
if(card.name=='suijiyingbian'&&player.storage.suijiyingbian_nature) return player.storage.suijiyingbian_nature;
},
},
trigger:{
player:['useCard1','respond','phaseBeginStart'],
player:['useCard1','respond'],
},
silent:true,
firstDo:true,
filter:function(event,player,name){
if(name=='phaseBeginStart') return true;
//if(name=='phaseBeginStart') return true;
var type=get.type(event.card);
return type=='basic'||type=='trick';
},
content:function(){
if(event.triggername=='phaseBeginStart') delete player.storage.suijiyingbian;
else player.storage.suijiyingbian=trigger.card.name;
//if(event.triggername=='phaseBeginStart') delete player.storage.suijiyingbian;
player.storage.suijiyingbian=trigger.card.name;
player.storage.suijiyingbian_nature=trigger.card.nature;
},
},
wuxinghelingshan_skill:{
@ -330,7 +356,52 @@ game.import('card',function(lib,game,ui,get,ai,_status){
audio:true,
},
taigongyinfu_skill:{
equipSkill:true,
audio:true,
trigger:{player:'phaseUseEnd'},
direct:true,
filter:function(event,player){
return player.countCards('h')>0;
},
content:function(){
'step 0'
player.chooseCard('h','是否发动【太公阴符】重铸一张手牌?').set('ai',function(card){
return 5-get.value(card);
});
'step 1'
if(result.bool){
player.logSkill('taigongyinfu_skill');
player.lose(result.cards,ui.discardPile);
player.$throw(result.cards,1000);
game.log(player,'将',result.cards,'置入了弃牌堆');
player.draw();
}
},
},
taigongyinfu_link:{
audio:'taigongyinfu_skill',
trigger:{player:'phaseUseBegin'},
equipSkill:true,
filter:function(event,player){
return game.hasPlayer(function(current){
return !current.isLinked();
});
},
direct:true,
content:function(){
'step 0'
player.chooseTarget(true,function(card,player,target){
return !target.isLinked();
},'是否发动【太公阴符】横置一名角色?').set('',function(target){
return get.effect(target,{name:'tiesuo'},_status.event.player);
});
'step 1'
if(result.bool){
var target=result.targets[0];
player.logSkill('taigongyinfu_skill',target);
target.link();
}
},
},
_yingbian:{
trigger:{player:'useCard1'},
@ -343,7 +414,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
if(get.cardtag(card,'yingbian_kongchao')&&(!player.countCards('h')||bool)) return true;
if(get.cardtag(card,'yingbian_canqu')&&(player.hp==1||bool)) return true;
if(get.cardtag(card,'yingbian_fujia')&&(player.isMaxHandcard()||bool)) return true;
if(get.cardtag(card,'yingbian_zhuzhan')||bool) return true;
if(get.cardtag(card,'yingbian_zhuzhan')) return true;
return false;
},
content:function(){
@ -370,23 +441,35 @@ game.import('card',function(lib,game,ui,get,ai,_status){
}
'step 1'
event._global_waiting=true;
event.send=function(player,card,source,id,id2,skillState){
event.send=function(player,card,source,targets,id,id2,skillState){
if(skillState){
player.applySkills(skillState);
}
var type=get.type(card);
var str=get.translation(source);
if(targets&&targets.length){
str+='对';
str+=get.translation(targets);
}
str+='使用了';
var next=player.chooseCard({
filterCard:function(card){
return get.type(card)==type&&lib.filter.cardDiscardable.apply(this,arguments);
},
prompt:(get.translation(source)+'使用了'+get.translation(card)+',是否弃置一张'+get.translation(type)+'为其助战?'),
prompt:str+=(get.translation(card)+',是否弃置一张'+get.translation(type)+'为其助战?'),
position:'h',
_global_waiting:true,
id:id,
id2:id2,
ai:function(card){
if(get.attitude(player,source)<=0) return false;
return 5-get.value(card);
ai:function(cardx){
var info=get.info(card);
if(info&&info.ai&&info.ai.yingbian){
var ai=info.ai.yingbian(card,source,targets,player);
if(!ai) return 0;
return ai-get.value(cardx);
}
else if(get.attitude(player,source)<=0) return 0;
return 5-get.value(cardx);
},
});
if(game.online){
@ -418,7 +501,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
}
else{
event.current=event.list.shift();
event.send(event.current,event.card,player,event.id,trigger.parent.id);
event.send(event.current,event.card,player,trigger.targets,event.id,trigger.parent.id);
}
'step 4'
if(result.bool){
@ -461,12 +544,12 @@ game.import('card',function(lib,game,ui,get,ai,_status){
if(list[i].isOnline()){
withol=true;
list[i].wait(sendback);
list[i].send(event.send,list[i],event.card,player,event.id,trigger.parent.id,get.skillState(list[i]));
list[i].send(event.send,list[i],event.card,player,trigger.targets,event.id,trigger.parent.id,get.skillState(list[i]));
list.splice(i--,1);
}
else if(list[i]==game.me){
withme=true;
event.send(list[i],event.card,event.source,event.id,trigger.parent.id);
event.send(list[i],event.card,player,trigger.targets,event.id,trigger.parent.id);
list.splice(i--,1);
}
}
@ -570,7 +653,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
},
translate:{
suijiyingbian:'随机应变',
suijiyingbian_info:'此牌的牌名视为你本回合内使用或打出的上一张基本牌或普通锦囊牌的牌名。',
suijiyingbian_info:'此牌的牌名视为你本局游戏内使用或打出的上一张基本牌或普通锦囊牌的牌名。',
zhujinqiyuan:'逐近弃远',
zhujinqiyuan_info:'出牌阶段对一名有牌的其他角色使用。若你与其距离的大于1你弃置其区域内的一张牌若你与其的距离等于1你获得其区域内的一张牌。',
dongzhuxianji:'洞烛先机',
@ -582,7 +665,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
wuxinghelingshan_info:'当你声明使用不为神属性的属性【杀】时,你可将此【杀】的属性改为不为神属性的其他属性。',
wutiesuolian:'乌铁锁链',
wutiesuolian_skill:'乌铁锁链',
wutiesuolian_skill_info:'当你使用【杀】指定目标后,若其:已横置,你观看其手牌。未横置,其横置。',
wutiesuolian_info:'锁定技,当你使用【杀】指定目标后,若其:已横置,你观看其手牌。未横置,其横置。',
heiguangkai:'黑光铠',
heiguangkai_skill:'黑光铠',
heiguangkai_info:'锁定技当你成为【杀】或普通锦囊牌的目标后若此牌的目标数大于1则你令此牌对你无效。',
@ -592,7 +675,9 @@ game.import('card',function(lib,game,ui,get,ai,_status){
tianjitu_skill:'天机图',
tianjitu_info:'锁定技,当此牌进入你的装备区时,你弃置一张不为此【天机图】的牌。当此牌离开你的装备区后,你将手牌摸至五张。',
taigongyinfu:'太公阴符',
taigongyinfu_info:'出牌阶段开始时,你可以横置一名角色。出牌阶段结束时,你可以重置一张手牌。',
taigongyinfu_info:'出牌阶段开始时,你可以横置一名角色。出牌阶段结束时,你可以重铸一张手牌。',
taigongyinfu_skill:'太公阴符',
taigongyinfu_link:'太公阴符',
yingbian_zhuzhan_tag:'助战',
yingbian_kongchao_tag:'空巢',
yingbian_fujia_tag:'富甲',
@ -765,5 +850,10 @@ game.import('card',function(lib,game,ui,get,ai,_status){
['diamond',13,'zixin'],
['diamond',13,'hualiu'],
],
help:{
'应变篇':('<div style="margin:10px">应变机制</div><ul style="margin-top:0">'+
'<li>当一名角色声明使用右下角标注了应变条件的卡牌后,若其满足应变条件,则其触发此牌的“应变”效果。<br><li>长按或鼠标右键点击卡牌,即可查看此牌所拥有的应变效果。'+
'<br><li>应变条件<br><ul style="padding-left:20px;padding-top:5px"><li>空巢该角色声明使用此牌后其手牌数为0。<br><li>富甲:该角色声明使用此牌后,其手牌数为全场最多或之一。<br><li>残躯该角色声明使用此牌后其体力值为1。<br><li>助战:该角色声明使用此牌后,其发起“助战”。其他角色可弃置一张与此牌类型系统的卡牌,响应此“助战”。若有角色响应,则视为其应变成功。</ul></ul>'),
},
}
});

View File

@ -59,7 +59,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
key_kotori:['female','key',3,['kotori_yumo','kotori_huazhan']],
key_jojiro:['male','key',4,['jojiro_shensu','jojiro_shunying']],
key_shiroha:['female','key',3,['shiroha_yuzhao','shiroha_guying','shiroha_jiezhao']],
key_shizuku:['female','key',3,['shizuku_sizhi','shizuku_biyi']],
key_shizuku:['female','key',3,['shizuku_sizhi','shizuku_biyi','shizuku_sanhua']],
key_hiroto:['male','key',3,['hiroto_huyu','hiroto_tuolao']],
key_kud:['female','key',3,['kud_qiaoshou','kud_buhui']],
@ -632,6 +632,37 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(result.bool) player.recover();
},
},
shizuku_sanhua:{
trigger:{player:'die'},
forceDie:true,
skillAnimation:true,
animationColor:'thunder',
direct:true,
content:function(){
'step 0'
player.chooseTarget(get.prompt2('shizuku_sanhua'),lib.filter.notMe).set('ai',function(target){
return get.attitude(_status.event.player,target);
});
'step 1'
if(result.bool){
var target=result.targets[0];
player.logSkill('shizuku_sanhua',target);
var names=[];
var cards=[];
while(cards.length<4){
var card=get.cardPile2(function(card){
return !cards.contains(card)&&!names.contains(card.name)&&get.type(card)=='basic';
});
if(card){
cards.push(card);
names.push(card.name);
}
else break;
}
if(cards.length) target.gain(cards,'gain2');
}
},
},
shiroha_yuzhao:{
trigger:{
global:'gameDrawAfter',
@ -1572,6 +1603,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(i=='sha'){
list.push([type,'',i,'fire']);
list.push([type,'',i,'thunder']);
list.push([type,'',i,'ice']);
}
}
player.chooseButton(['是否视为使用一张基本牌或普通锦囊牌?',[list,'vcard']]).set('filterButton',function(button){
@ -4603,6 +4635,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
['基本','','sha'],
['基本','','sha','fire'],
['基本','','sha','thunder'],
['基本','','sha','ice'],
]);
}
else if(get.type(name)=='basic'){
@ -4865,6 +4898,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
list.push(['基本','','sha']);
list.push(['基本','','sha','fire']);
list.push(['基本','','sha','thunder']);
list.push(['基本','','sha','ice']);
}
else if(get.type(name)=='trick') list.push(['锦囊','',name]);
else if(get.type(name)=='basic') list.push(['基本','',name]);
@ -6674,6 +6708,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
list.push(['基本','','sha']);
list.push(['基本','','sha','fire']);
list.push(['基本','','sha','thunder']);
list.push(['基本','','sha','ice']);
}
else if(get.type(name)=='trick') list.push(['锦囊','',name]);
else if(get.type(name)=='basic') list.push(['基本','',name]);
@ -11998,6 +12033,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
shiroha_guying_rewrite_info:'当你受到伤害/对其他角色造成伤害时,你可进行判定。若结果为红色/黑色,此伤害-1/+1。',
shiroha_jiezhao:'解兆',
shiroha_jiezhao_info:'一名角色的判定牌生效前你可打出一张「兆」代替之。当你以此法移去最后一张「兆」后你加1点体力上限并回复1点体力然后修改〖孤影〗并随机获得以下技能中的一个〖炒饭〗/〖习事〗/〖呣啾〗/〖结伴〗。',
//猴年马月爆料再利用
shizuku_sizhi:'思智',
shizuku_sizhi2:'思智',
shizuku_sizhi_info:'出牌阶段限一次你可以弃置任意张点数之和为13的牌然后摸两倍数量的牌。以此法获得的牌中黑色牌本回合无距离和次数限制红色牌本回合不计入手牌上限。',
shizuku_biyi:'避忆',
shizuku_biyi_info:'当你受到伤害后你可以进行一次判定然后若你弃置任意张点数之和与判定结果点数相同的牌你回复1点体力。',
shizuku_sanhua:'散花',
shizuku_sanhua_info:'当你死亡时,你可令一名其他角色从牌堆中获得四张名称各不相同的基本牌。',
hiroto_huyu:'虎驭',
hiroto_huyu2:'虎驭',
hiroto_huyu_info:'其他角色的出牌阶段结束时,若你没有技能〖纵略〗,则其可将两张手牌交给你。若如此做,你获得〖纵略〗。你的下回合结束时,你失去〖纵略〗并将本回合内获得的所有牌交给该角色。',
@ -12040,12 +12083,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
nao_shouqing2:'守情',
nao_shouqing3:'守情',
nao_shouqing_info:'其他角色的出牌阶段内可以对你使用【桃】。若如此做,其摸一张牌且本局游戏内的手牌上限+1。',
//猴年马月爆料再利用
shizuku_sizhi:'思智',
shizuku_sizhi2:'思智',
shizuku_sizhi_info:'出牌阶段限一次你可以弃置任意张点数之和为13的牌然后摸两倍数量的牌。以此法获得的牌中黑色牌本回合无距离和次数限制红色牌本回合不计入手牌上限。',
shizuku_biyi:'避忆',
shizuku_biyi_info:'当你受到伤害后你可以进行一次判定然后若你弃置任意张点数之和与判定结果点数相同的牌你回复1点体力。',
ns_huangchengyan:'黄承彦',
nslongyue:'龙岳',

View File

@ -1794,7 +1794,22 @@ game.import('character',function(lib,game,ui,get,ai,_status){
filterCard:lib.filter.cardDiscardable,
filterTarget:lib.filter.notMe,
position:'he',
ai1:function(){return -1},
ai1:function(card){
var friend=0,enemy=0,player=_status.event.player;
var num=game.countPlayer(function(target){
var att=get.attitude(player,target);
if(att<0) enemy++;
if(target!=player&&att>0) friend++;
return true;
});
if(num>(friend+enemy+2)) return 0;
if(friend<enemy) return 0;
if(card.name=='sha') return 10-enemy;
return 10-enemy-get.value(card);
},
ai2:function(target){
return -get.attitude(_status.event.player,target)*(1+target.countCards('h'));
},
});
'step 1'
if(result.bool){
@ -1809,7 +1824,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(get.type(name)=='trick') list.push(['锦囊','',name]);
else if(get.type(name)=='basic') list.push(['基本','',name]);
}
player.chooseButton(['请选择一个牌名',[list,'vcard'],true]);
player.chooseButton(['请选择一个牌名',[list,'vcard'],true]).set('ai',function(button){
return button.link[2]=='sha'?1:0;
});
}
else event.finish();
'step 2'
@ -1923,6 +1940,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return 0;
}).set('goon',function(){
if(get.attitude(trigger.player,player)>0) return true;
if(!trigger.player.countCards('he')) return true;
if(!player.hasShan()) return true;
return event.getRand()<0.5;
}());
@ -1938,18 +1956,31 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
else event.finish();
'step 2'
trigger.player.chooseToDiscard('弃置一张牌令'+get.translation(player)+'不能闪避此【杀】,或点「取消」摸两张牌并令此【杀】对其无效','he').set('ai',function(card){
if(_status.event.goon) return 6-get.value(card);
var sha=get.translation(trigger.card);
if(!trigger.player.countCards('he',function(card){
return lib.filter.cardDiscardable(card,trigger.player,'duoduan');
})) event.finish();
else player.chooseControl().set('choiceList',[
'令其摸两张牌,然后令'+sha+'对你无效',
'令其弃置一张牌,然后你不可响应'+sha,
]).set('prompt','度断:令'+get.translation(trigger.player)+'执行一项').set('ai',function(){
var player=_status.event.player;
var source=_status.event.getTrigger().player;
if(get.attitude(player,source)>0) return 0;
if(!player.hasShan()&&player.hp>=2) return 1;
return 0;
}).set('goon',get.attitude(trigger.player,player)<0);
});
'step 3'
if(result.index==0) event.goto(5);
else trigger.player.chooseToDiscard('弃置一张牌令'+get.translation(player)+'不能闪避此【杀】','he',true);
'step 4'
if(result.bool){
trigger.directHit.add(player);
}
else{
trigger.player.draw(2);
trigger.excluded.add(player);
}
event.finish();
'step 5'
trigger.player.draw(2);
trigger.excluded.add(player);
},
},
duoduan_im:{
@ -2778,6 +2809,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
case 'fire':name='huosha';break;
case 'thunder':name='leisha';break;
case 'kami':name='kamisha';break;
case 'ice':name='icesha';break;
}
}
list.add(name);
@ -2791,6 +2823,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
case 'fire':name='huosha';break;
case 'thunder':name='leisha';break;
case 'kami':name='kamisha';break;
case 'ice':name='icesha';break;
}
}
list.add(name);
@ -3845,6 +3878,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
list.push(['基本','','sha']);
list.push(['基本','','sha','fire']);
list.push(['基本','','sha','thunder']);
list.push(['基本','','sha','ice']);
}
if(event.filterCard({name:'tao'},player,event)){
list.push(['基本','','tao']);
@ -3867,7 +3901,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
};
case 'sha':
if(button.link[3]=='fire') return 2.95;
else if(button.link[3]=='thunder') return 2.92;
else if(button.link[3]=='thunder'||button.link[3]=='ice') return 2.92;
else return 2.9;
}
}
@ -4660,6 +4694,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
list.push(['基本','','sha']);
list.push(['基本','','sha','fire']);
list.push(['基本','','sha','thunder']);
list.push(['基本','','sha','ice']);
}
if(event.filterCard({name:'shan'},player,event)){
list.push(['基本','','shan']);
@ -4685,7 +4720,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
};
case 'sha':
if(button.link[3]=='fire') return 2.95;
else if(button.link[3]=='thunder') return 2.92;
else if(button.link[3]=='thunder'||button.link[3]=='ice') return 2.92;
else return 2.9;
}
}

View File

@ -102,6 +102,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
list.push(['基本','','sha']);
list.push(['基本','','sha','fire']);
list.push(['基本','','sha','thunder']);
list.push(['基本','','sha','ice']);
}
else if(get.type(name)=='trick') list.push(['锦囊','',name]);
else if(get.type(name)=='basic') list.push(['基本','',name]);
@ -558,6 +559,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
list.push(['基本','','sha']);
list.push(['基本','','sha','fire']);
list.push(['基本','','sha','thunder']);
list.push(['基本','','sha','ice']);
}
if(event.filterCard({name:'tao'},player,event)){
list.push(['基本','','tao']);

View File

@ -422,6 +422,7 @@ window.noname_character_rank={
'sp_pangtong',
'ns_jiaxu',
'old_jiakui',
'jin_simayi',
'key_kyousuke',
'key_yusa',
'key_misa',
@ -436,7 +437,7 @@ window.noname_character_rank={
'tw_beimihu',
'ns_caoshuang',
'key_shizuku',
'luyusheng',
'wangrong',
'mini_lvbu',
],
bp:[
@ -771,6 +772,7 @@ window.noname_character_rank={
'jianggan',
'yj_chendao',
'yj_caoang',
'jin_zhangchunhua',
'ns_caimao',
'key_nao',
'key_haruko',
@ -1229,6 +1231,8 @@ window.noname_character_rank={
'mini_zuoci',
'mini_lvbu',
'mini_zhugeliang',
'jin_simayi',
'jin_zhangchunhua',
'key_haruko',
'key_akiko',
'key_sunohara',

View File

@ -3731,7 +3731,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(i=='shan'||i=='wuxie') continue;
var type=get.type(i);
if((type=='basic'||type=='trick')&&event.filterCard({name:i},player,event)) return true;
if(i=='sha'&&(event.filterCard({name:i,nature:'fire'},player,event)||event.filterCard({name:i,nature:'thunder'},player,event))) return true;
if(i=='sha'&&(event.filterCard({name:i,nature:'ice'},player,event)||event.filterCard({name:i,nature:'fire'},player,event)||event.filterCard({name:i,nature:'thunder'},player,event))) return true;
}
return false;
},
@ -3745,6 +3745,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(i=='sha'){
list.push([type,'',i,'fire']);
list.push([type,'',i,'thunder']);
list.push([type,'',i,'ice']);
}
}
return ui.create.dialog('蛊惑',[list,'vcard']);
@ -4799,13 +4800,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
"new_rewusheng":{
mod:{
targetInRange:function (card){
if(get.suit(card)=='diamond'&&(_status.event.skill=='new_rewusheng'||card.name=='sha')) return true;
if(get.suit(card)=='diamond'&&card.name=='sha') return true;
},
},
audio:"wusheng",
audioname:['re_guanyu','guanzhang','jsp_guanyu','guansuo'],
enable:["chooseToRespond","chooseToUse"],
filterCard:function (card,player){
filterCard:function(card,player){
if(get.zhu(player,'shouyue')) return true;
return get.color(card)=='red';
},
@ -4822,9 +4823,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
},
prompt:"将一张红色牌当杀使用或打出",
check:function (card){return 4-get.value(card)},
check:function(card){return 4-get.value(card)},
ai:{
skillTagFilter:function (player){
skillTagFilter:function(player){
if(get.zhu(player,'shouyue')){
if(!player.countCards('he')) return false;
}
@ -4832,48 +4833,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(!player.countCards('he',{color:'red'})) return false;
}
},
respondSha:true,
basic:{
useful:[5,1],
value:[5,1],
},
order:function (){
if(_status.event.player.hasSkillTag('presha',true,null,true)) return 10;
return 3;
},
result:{
target:function (player,target){
if(player.hasSkill('jiu')&&!target.getEquip('baiyin')){
if(get.attitude(player,target)>0){
return -6;
}
else{
return -3;
}
}
return -1.5;
},
},
tag:{
respond:1,
respondShan:1,
damage:function (card){
if(card.nature=='poison') return;
return 1;
},
natureDamage:function (card){
if(card.nature) return 1;
},
fireDamage:function (card,nature){
if(card.nature=='fire') return 1;
},
thunderDamage:function (card,nature){
if(card.nature=='thunder') return 1;
},
poisonDamage:function (card,nature){
if(card.nature=='poison') return 1;
},
},
},
},
"new_yijue":{
@ -5852,6 +5811,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
list.push(['基本','','sha']);
list.push(['基本','','sha','fire']);
list.push(['基本','','sha','thunder']);
list.push(['基本','','sha','ice']);
}
if(lib.filter.cardUsable({name:'tao'},player,event.getParent('chooseToUse'))&&game.hasPlayer(function(current){
return player.canUse('tao',current);
@ -5878,7 +5838,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return player.canUse(card,current)&&get.effect(current,card,player,player)>0
})){
if(card.nature=='fire') return 2.95;
if(card.nature=='thunder') return 2.92;
if(card.nature=='thunder'||card.nature=='ice') return 2.92;
return 2.9;
}
return 0;

View File

@ -3238,7 +3238,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
target:function(card,player,target,current){
if(!target.hasFriend()&&!player.hasUnknown()) return;
if(_status.currentPhase==target) return;
if(get.tag(card,'loseCard')&&target.countCards('he')){
if(card.name!='shuiyanqijunx'&&get.tag(card,'loseCard')&&target.countCards('he')){
if(target.hasSkill('ziliang')) return 0.7;
return [0.5,Math.max(2,target.countCards('h'))];
}
@ -6785,6 +6785,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
list.push(['基本','','sha']);
list.push(['基本','','sha','fire']);
list.push(['基本','','sha','thunder']);
list.push(['基本','','sha','ice']);
}
else if(get.type(name)=='trick') list.push(['锦囊','',name]);
else if(get.type(name)=='basic') list.push(['基本','',name]);

View File

@ -3804,12 +3804,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
'step 1'
if(target.countCards('h','shan')){
player.viewHandcards(target);
player.useCard({name:'sha',isCard:true},target,false);
if(player.canUse({name:'sha',isCard:true},target,false)) player.useCard({name:'sha',isCard:true},target,false);
player.storage.weikui2=target;
player.addTempSkill('weikui2');
}
else{
player.discardPlayerCard(target,'visible',true,'h');
player.discardPlayerCard(target,'visible',true,'h').set('ai',function(button){
return get.value(button.link,_status.event.target);
});
}
},
ai:{
@ -8691,7 +8693,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
direct:true,
filter:function(event,player){
if(!player.countCards(player.hasSkill('fenxin_nei')?'he':'h',function(card){
if(_status.connectMode&&get.position(card)=='h') return true;
if(player.hasSkill('fenxin_nei')||(_status.connectMode&&get.position(card)=='h')) return true;
return get.color(card)=='black';
})) return false;
return (event.player.hp>=player.hp||player.hasSkill('fenxin_fan'))&&player!=event.player;
@ -8728,7 +8730,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
trigger:{player:'damageBegin2'},
filter:function(event,player){
if(!player.countCards(player.hasSkill('fenxin_nei')?'he':'h',function(card){
if(_status.connectMode&&get.position(card)=='h') return true;
if(player.hasSkill('fenxin_nei')||(_status.connectMode&&get.position(card)=='h')) return true;
return get.color(card)=='red';
})) return false;
return event.source&&(event.source.hp>=player.hp||player.hasSkill('fenxin_zhong'))&&player!=event.source;

View File

@ -5,10 +5,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
connect:true,
character:{
jin_zhangchunhua:['female','jin',3,['huishi','qingleng','xuanmu'],['hiddenSkill']],
jin_simayi:['male','jin',3,['buchen','smyyingshi','xiongzhi','quanbian'],['hiddenSkill']],
dongxie:['female','qun','3/4',['juntun','jiaojie']],
//jin_simayi:['female','wei',3,['reyingzi','gzyinghun'],['hiddenSkill']],
re_xinxianying:['female','wei',3,['rezhongjian','recaishi']],
luyusheng:['female','wu',3,['sicong','xianzhao'],['unseen']],
wangrong:['female','qun',3,['sicong','xianzhao'],['unseen']],
ol_dingyuan:['male','qun',4,['weihuan','shouchong'],['unseen']],
liubian:['male','qun',3,['shiyuan','dushi']],
xin_baosanniang:['female','shu',3,['decadewuniang','decadexushen']],
@ -74,7 +74,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
characterSort:{
sp2:{
sp_yingbian:['jin_zhangchunhua'],
sp_yingbian:['jin_zhangchunhua','jin_simayi'],
sp_whlw:["xurong","lijue","zhangji","fanchou","guosi"],
sp_zlzy:["zhangqiying","lvkai","zhanggong","weiwenzhugezhi","beimihu"],
sp_longzhou:["xf_tangzi","xf_huangquan","xf_sufei","sp_liuqi"],
@ -92,6 +92,160 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
},
skill:{
buchen:{
audio:2,
trigger:{player:'showCharacterAfter'},
filter:function(event,player){
var target=_status.currentPhase;
return target&&target!=player&&target.countGainableCards(player,'he')>0;
},
direct:true,
content:function(){
var target=_status.currentPhase;
player.gainPlayerCard(target,'he',get.prompt('buchen',target)).set('logSkill',['buchen',target]);
},
},
smyyingshi:{
enable:'phaseUse',
locked:true,
onChooseToUse:function(event){
if(game.online) return;
var cards=[];
for(var i=0;i<event.player.maxHp;i++){
var card=ui.cardPile.childNodes[i];
if(card) cards.push(card);
else break;
}
event.set('smyyingshi',cards);
},
chooseButton:{
dialog:function(event){
var dialog=ui.create.dialog('鹰视','hidden');
if(event.smyyingshi&&event.smyyingshi.length) dialog.add(event.smyyingshi);
else dialog.addText('牌堆无牌');
for(var i of dialog.buttons){
i.classList.add('noclick');
}
dialog.buttons.length=0;
return dialog;
},
filter:function(){
return false;
},
},
},
xiongzhi:{
enable:'phaseUse',
limited:true,
skillAnimation:true,
animationColor:'thunder',
content:function(){
'step 0'
player.awakenSkill('xiongzhi');
'step 1'
var card=get.cards()[0];
event.card=card;
player.showCards(card);
'step 2'
player.chooseUseTarget(card,true);
'step 3'
if(result.bool) event.goto(1);
else{
card.fix();
ui.cardPile.insertBefore(card,ui.cardPile.firstChild);
game.updateRoundNumber();
}
},
ai:{
order:1,
result:{
player:function(player){
if(!player.hasSkill('smyyingshi')) return 1;
var cards=[];
for(var i=0;i<Math.min(2,player.maxHp);i++){
var card=ui.cardPile.childNodes[i];
if(card){
if(!player.hasValueTarget(card)) return 0;
}
else break;
}
return 1;
},
},
},
},
quanbian:{
trigger:{player:['useCard','respond']},
hasHand:function(event){
var evts=event.player.getHistory('lose',function(evt){
return evt.getParent()==event;
});
return evts&&evts.length==1&&evts[0].hs.length>0;
},
filter:function(event,player){
var phase=event.getParent('phaseUse');
if(!phase||phase.player!=player) return false;
var suit=get.suit(event.card);
if(!lib.suit.contains(suit)||!lib.skill.quanbian.hasHand(event)) return false;
return player.getHistory('useCard',function(evt){
return evt!=event&&get.suit(evt.card)==suit&&lib.skill.quanbian.hasHand(evt)&&evt.getParent('phaseUse')==phase;
}).length+player.getHistory('respond',function(evt){
return evt!=event&&get.suit(evt.card)==suit&&lib.skill.quanbian.hasHand(evt)&&evt.getParent('phaseUse')==phase;
}).length==0;
},
direct:true,
content:function(){
'step 0'
player.chooseControl('cancel2').set('prompt',get.prompt('quanbian')).set('choiceList',[
'摸一张牌',
'观看牌堆顶的'+get.cnNumber(player.maxHp)+'张牌并将其中一张置于牌堆底',
]).set('ai',function(){
var player=_status.event.player;
var suit=get.suit(_status.event.getTrigger().card);
if(player.countCards('h',function(card){
return get.suit(card)==suit&&player.hasValueTarget(card,null,true);
})) return 'cancel2';
return 0;
});
'step 1'
if(result.control=='cancel2'){
event.finish();
return;
}
player.addTempSkill('quanbian2');
player.storage.quanbian2.add(get.suit(trigger.card));
player.markSkill('quanbian2');
if(result.index==0){
player.draw();
event.finish();
return;
}
event.cards=get.cards(player.maxHp);
player.chooseButton(['将一张牌置于牌堆底',event.cards],true);
'step 2'
while(cards.length){
var card=cards.pop();
card.fix();
if(card==result.links[0]) ui.cardPile.appendChild(card);
else ui.cardPile.insertBefore(card,ui.cardPile.firstChild);
}
game.updateRoundNumber();
},
},
quanbian2:{
init:function(player,skill){
if(!player.storage[skill]) player.storage[skill]=[];
},
onremove:true,
mod:{
cardEnabled2:function(card,player){
if(get.position(card)=='h'&&player.storage.quanbian2.contains(get.suit(card))) return false;
},
},
intro:{
content:'本回合内不能使用$花色的手牌',
},
},
juntun:{
trigger:{player:'phaseZhunbeiBegin'},
forced:true,
@ -5981,20 +6135,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
},
"xinfu_tanbei":{
locked:false,
mod:{
targetInRange:function(card,player,target){
if(target.hasSkill('tanbei_effect1')){
return true;
}
},
cardUsableTarget:function(card,player,target){
if(target.hasSkill('tanbei_effect1')) return true;
},
playerEnabled:function(card,player,target){
if(target.hasSkill('tanbei_effect2')) return false;
},
},
audio:2,
enable:"phaseUse",
usable:1,
@ -6016,13 +6156,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
});
}
"step 1"
player.addTempSkill('tanbei_effect3');
if(result.index==0){
var card=target.getCards('hej').randomGet();
player.gain(card,target,'giveAuto','bySelf');
target.addTempSkill('tanbei_effect2','phaseAfter');
target.addTempSkill('tanbei_effect2');
}
else{
target.addTempSkill('tanbei_effect1','phaseAfter');
target.addTempSkill('tanbei_effect1');
}
},
ai:{
@ -6037,6 +6178,22 @@ game.import('character',function(lib,game,ui,get,ai,_status){
threaten:1.1,
},
},
tanbei_effect3:{
charlotte:true,
mod:{
targetInRange:function(card,player,target){
if(target.hasSkill('tanbei_effect1')){
return true;
}
},
cardUsableTarget:function(card,player,target){
if(target.hasSkill('tanbei_effect1')) return true;
},
playerEnabled:function(card,player,target){
if(target.hasSkill('tanbei_effect2')) return false;
},
},
},
"xinfu_sidao":{
audio:2,
trigger:{
@ -6090,8 +6247,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
xinfu_sidaoy:{},
"tanbei_effect1":{
charlotte:true,
},
"tanbei_effect2":{
charlotte:true,
},
"xinfu_tunan":{
audio:2,
@ -6852,6 +7011,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
liuhong:'汉灵帝刘宏157年一作156年189年5月13日生于冀州河间国今河北深州。东汉第十二位皇帝168年189年在位汉章帝刘炟的玄孙。刘宏早年世袭解渎亭侯。永康元年167年十二月汉桓帝刘志逝世刘宏被外戚窦氏挑选为皇位继承人于建宁元年168年正月即位。刘宏在位的大部分时期施行党锢及宦官政治。他又设置西园巧立名目搜刮钱财甚至卖官鬻爵以用于自己享乐。在位晚期爆发了黄巾起义而凉州等地也陷入持续动乱之中。中平六年189年刘宏去世谥号孝灵皇帝葬于文陵。刘宏喜好辞赋作有《皇羲篇》、《追德赋》、《令仪颂》、《招商歌》等。',
liubian:'刘辩176年190年3月6日是汉灵帝刘宏与何皇后的嫡长子。刘辩在灵帝驾崩后继位为帝史称少帝由于年幼实权掌握在临朝称制的母亲何太后和母舅大将军何进手中。少帝在位时期东汉政权已经名存实亡他即位后不久即遭遇以何进为首的外戚集团和以十常侍为首的内廷宦官集团这两大敌对政治集团的火并被迫出宫回宫后又受制于以“勤王”为名进京的凉州军阀董卓终于被废为弘农王成为东汉唯一被废黜的皇帝其同父异母弟陈留王刘协继位为帝是为汉献帝。被废黜一年之后刘辩在董卓胁迫下自尽时年仅十五岁一说十八岁其弟献帝追谥他为怀王。中国古代的史书中称刘辩为皇子辩、少帝和弘农王等。因为在位不逾年传统上称东汉共十二帝刘辩与东汉另一位少帝刘懿都不在其中亦皆无本纪不过现代史学界也有观点承认两位少帝均是汉朝皇帝则刘辩为东汉第十三位皇帝。',
luyusheng:'陆郁生(?年-三国时期吴国官员陆绩之女。陆郁生的父亲陆绩是吴郡公认的才子又是当时吴郡陆氏的领袖。陆绩赴任担任郁林太守遂取此名。陆郁生年少的时候就定下坚贞的志向。建安二十四年219年)陆绩早亡她与两个兄弟陆宏、陆睿当时都只有几岁一起返回吴县被他们的从兄陆瑁接回抚养。13周岁的陆郁生嫁给同郡出身的张白为妻。出嫁3个月后张白因为其兄张温一族的案件遭到连坐被处以流刑后死于流放地陆郁生成为了寡妇其后公开宣言不再改嫁困难于生计但拒绝了所有提亲在艰苦中从未停止服侍、照顾张白的姐妹。事情传到朝廷皇帝褒奖陆郁生号其为“义姑”。她的表侄姚信在文集中称赞她的义举。',
wangrong:'汉灵怀皇后王荣(?~181年赵国邯郸今河北邯郸市人。五官中郎将王苞孙女汉灵帝刘宏妃子汉献帝刘协生母。初以良家子选入掖庭封为美人服侍汉灵帝。光和四年181年生下陈留王刘协惨遭灵思皇后毒杀。王荣死后汉灵帝曾作《追德赋》、《令仪颂》。永汉元年189年其子刘协即位是为汉献帝追谥灵怀皇后葬于文昭陵。',
},
characterTitle:{
wulan:'#b对决限定武将',
@ -7223,6 +7383,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
shouchong:'首冲',
shouchong_info:'锁定技有角色造成伤害后若此伤害是本轮第一次造成伤害且伤害来源是其他角色则你摸一张牌若伤害来源是你则你对受伤角再造成1点伤害。',
luyusheng:'陆郁生',
wangrong:'王荣',
sicong:'思聪',
sicong2:'思聪',
sicong_info:'出牌阶段限一次你可以弃置任意张点数之和为13的牌然后摸两倍数量的牌。以此法获得的牌中黑色牌本回合无距离和次数限制红色牌本回合不计入手牌上限。',
@ -7289,6 +7450,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){
juntun_info:'锁定技准备阶段若X大于1则你减1点体力上限并摸X张牌X为你的体力上限。',
jiaojie:'狡黠',
jiaojie_info:'锁定技,你的红色牌不计入手牌上限。你使用黑色牌无距离和次数限制。',
buchen:'不臣',
buchen_info:'隐匿技,你于其他角色的回合登场时,可获得当前回合角色的一张牌。',
smyyingshi:'鹰视',
smyyingshi_info:'锁定技出牌阶段你可观看牌堆顶的X张牌X为你的体力上限。',
xiongzhi:'雄志',
xiongzhi_info:'限定技,出牌阶段,你可展示牌堆顶的一张牌并使用之。若如此做,你重复此流程,直到你以此法展示的牌无法使用。',
quanbian:'权变',
quanbian2:'权变',
quanbian_info:'当你于出牌阶段内使用/打出手牌时,若此牌有花色且你本回合内未使用/打出过该花色的其他手牌则你可以选择一项①摸一张牌。②将牌堆顶X张牌中的一张置于牌堆底X为你的体力上限。若你发动此技能则你本回合内不能再使用与此牌花色相同的手牌。',
sp_yingbian:'应变篇',
sp_whlw:"文和乱武",
sp_zlzy:"逐鹿中原",

View File

@ -1110,6 +1110,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
list.push(['基本','','sha']);
list.push(['基本','','sha','fire']);
list.push(['基本','','sha','thunder']);
list.push(['基本','','sha','ice']);
}
else if(get.type(name)=='trick') list.push(['锦囊','',name]);
else if(get.type(name)=='basic') list.push(['基本','',name]);
@ -3770,6 +3771,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
list.push(['基本','','sha']);
list.push(['基本','','sha','fire']);
list.push(['基本','','sha','thunder']);
list.push(['基本','','sha','ice']);
}
else if(get.type(name)=='trick') list.push(['锦囊','',name]);
else if(get.type(name)=='basic') list.push(['基本','',name]);
@ -4323,7 +4325,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
event.finish();
return;
}
var list=['sha','sha','sha','shan','tao','jiu'];
var list=['sha','sha','sha','sha','shan','tao','jiu'];
if(player.storage.jiaozhao1){
list=list.concat(['taoyuan','wugu','juedou','huogong','jiedao','tiesuo','guohe','shunshou','wuzhong','wanjian','nanman']);
}
@ -4335,6 +4337,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
else if(i==2){
list[i]=['基本','',list[i],'thunder'];
}
else if(i==3){
list[i]=['基本','',list[i],'ice'];
}
else{
list[i]=['基本','',list[i]];
}
@ -7152,6 +7157,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
list.push(['基本','','sha']);
list.push(['基本','','sha','fire']);
list.push(['基本','','sha','thunder']);
list.push(['基本','','sha','ice']);
}
if(!player.storage.huomo.tao&&event.filterCard({name:'tao'},player,event)){
list.push(['基本','','tao']);

View File

@ -1,5 +1,5 @@
window.noname_asset_list=[
'v1.9.106.4.2',
'v1.9.107',
'audio/background/aozhan_chaoming.mp3',
'audio/background/aozhan_online.mp3',
'audio/background/aozhan_rewrite.mp3',
@ -3253,6 +3253,17 @@ window.noname_asset_list=[
'image/card/qiaosi_card4.png',
'image/card/qiaosi_card5.png',
'image/card/qiaosi_card6.png',
'image/card/chuqibuyi.png',
'image/card/dongzhuxianji.png',
'image/card/heiguangkai.png',
'image/card/suijiyingbian.png',
'image/card/taigongyinfu.png',
'image/card/tianjitu.png',
'image/card/tongque.png',
'image/card/wutiesuolian.png',
'image/card/wuxinghelingshan.png',
'image/card/zhujinqiyuan.png',
'image/character/shenpei.jpg',
'image/character/re_menghuo.jpg',
'image/character/re_zhurong.jpg',
@ -3516,6 +3527,7 @@ window.noname_asset_list=[
'image/character/re_xinxianying.jpg',
'image/character/jin_zhangchunhua.jpg',
'image/character/dongxie.jpg',
'image/character/jin_simayi.jpg',
'image/character/baiwuchang.jpg',
'image/character/baosanniang.jpg',

View File

@ -15,7 +15,7 @@ window.config={
forbidthreecard:['qiankunbiao','shenhuofeiya','gw_ciguhanshuang','gw_birinongwu','gw_qinpendayu','gw_poxiao'],
all:{
sgscharacters:['standard','shenhua','xinghuoliaoyuan','refresh','yijiang','sp','sp2','extra','old','mobile','tw'],
sgscards:['standard','extra','sp','guozhan','zhulu'],
sgscards:['standard','extra','sp','guozhan','zhulu','yingbian'],
sgsmodes:['identity','guozhan','versus','doudizhu','single','brawl','connect'],
stockmode:['identity','guozhan','versus','boss','doudizhu','single','chess','stone','connect','brawl','tafang'],
stockextension:['boss','cardpile','coin','wuxing'],
@ -129,7 +129,7 @@ window.config={
cards:['standard','ex','extra','sp','classic','basic'],
characters:['standard','shenhua','sp','sp2','yijiang','refresh','xinghuoliaoyuan','mobile','extra'],
connect_characters:['diy'],
connect_cards:['huanlekapai','guozhan','sp','zhulu'],
connect_cards:['huanlekapai','guozhan','sp','zhulu','yingbian'],
plays:[],
extensions:[],
banned:[],

View File

@ -8253,7 +8253,7 @@
lib.skilllist.add(character[i][j][k][3][l]);
}
}
if(j=='skill'&&k[0]=='_'&&(!lib.config.characters.contains(i)||(lib.config.mode=='connect'&&!character[i].connect))){
if(j=='skill'&&k[0]=='_'&&(lib.config.mode!='connect'?(!lib.config.characters.contains(i)):(!character[i].connect))){
continue;
}
if(j=='translate'&&k==i){
@ -8261,7 +8261,7 @@
}
else{
if(lib[j][k]==undefined){
if(j=='skill'&&lib.config.mode=='connect'&&!character[i].connect){
if(j=='skill'&&!character[i][j][k].forceLoad&&lib.config.mode=='connect'&&!character[i].connect){
lib[j][k]={
nopop:character[i][j][k].nopop,
derivation:character[i][j][k].derivation
@ -8362,7 +8362,7 @@
}
else{
for(k in card[i][j]){
if(j=='skill'&&k[0]=='_'&&(!lib.config.cards.contains(i)||(lib.config.mode=='connect'&&!card[i].connect))){
if(j=='skill'&&k[0]=='_'&&!card[i][j][k].forceLoad&&(lib.config.mode!='connect'?(!lib.config.cards.contains(i)):(!card[i].connect))){
continue;
}
if(j=='translate'&&k==i){
@ -8370,7 +8370,7 @@
}
else{
if(lib[j][k]==undefined){
if(j=='skill'&&lib.config.mode=='connect'&&!card[i].connect){
if(j=='skill'&&!card[i][j][k].forceLoad&&lib.config.mode=='connect'&&!card[i].connect){
lib[j][k]={
nopop:card[i][j][k].nopop,
derivation:card[i][j][k].derivation
@ -15243,7 +15243,7 @@
if(unseen){
player.classList.add('unseen');
}
if(source&&source!=player){
if(source){
game.log(player,'被',source,'杀害');
if(source.stat[source.stat.length-1].kill==undefined){
source.stat[source.stat.length-1].kill=1;
@ -16360,11 +16360,14 @@
if(!this.hiddenSkills) this.hiddenSkills=[];
this.hiddenSkills.addArray(skills);
skills=[];
this.classList.add('unseen');
this.classList.add(_status.video?'unseen_v':'unseen');
this.name='unknown';
this.node.name_seat=ui.create.div('.name.name_seat',get.verticalStr(get.translation(this.name)),this);
if(!this.node.name_seat&&!_status.video){
this.node.name_seat=ui.create.div('.name.name_seat',get.verticalStr(get.translation(this.name)),this);
this.node.name_seat.dataset.nature=get.groupnature(this.group);
}
this.sex='male';
this.group='unknown';
//this.group='unknown';
this.storage.nohp=true;
}
if(character2&&lib.character[character2]){
@ -16420,7 +16423,7 @@
if(info2[4].contains('hiddenSkill')){
if(!this.hiddenSkills) this.hiddenSkills=[];
this.hiddenSkills.addArray(info2[3]);
this.classList.add('unseen2');
this.classList.add(_status.video?'unseen2_v':'unseen2');
this.storage.nohp=true;
}
else skills=skills.concat(info2[3]);
@ -24951,19 +24954,22 @@
},
cardDiscardable:function(card,player,event){
event=event||_status.event;
var mod=game.checkMod(card,player,event.getParent().name,'unchanged','cardDiscardable',player);
if(typeof event!='string') event=event.getParent().name;
var mod=game.checkMod(card,player,event,'unchanged','cardDiscardable',player);
if(mod!='unchanged') return mod;
return true;
},
canBeDiscarded:function(card,player,target,event){
event=event||_status.event;
var mod=game.checkMod(card,player,target,event.getParent().name,'unchanged','canBeDiscarded',target);
if(typeof event!='string') event=event.getParent().name;
var mod=game.checkMod(card,player,target,event,'unchanged','canBeDiscarded',target);
if(mod!='unchanged') return mod;
return true;
},
canBeGained:function(card,player,target,event){
event=event||_status.event;
var mod=game.checkMod(card,player,target,event.getParent().name,'unchanged','canBeGained',target);
if(typeof event!='string') event=event.getParent().name;
var mod=game.checkMod(card,player,target,event,'unchanged','canBeGained',target);
if(mod!='unchanged') return mod;
return true;
},
@ -25268,6 +25274,12 @@
return player.isUnseen(2)&&get.mode()!='guozhan';
},
content:function(){
if(trigger.name=='loseMaxHp') trigger.cancel();
else if(trigger.name=='changeHp'){
player.hp-=trigger.num;
trigger.cancel();
if(trigger.getParent().name=='damage'||trigger.getParent().name=='loseHp') trigger.getParent().cancel();
}
player.showCharacter(2);
},
},
@ -26059,7 +26071,7 @@
game.broadcast(function(player){
player.setNickname();
},player);
this.send('reinit',lib.configOL,get.arenaState(),game.getState?game.getState():{},game.ip,null,_status.onreconnect);
this.send('reinit',lib.configOL,get.arenaState(),game.getState?game.getState():{},game.ip,null,_status.onreconnect,_status.cardtag);
}
else if(version!=lib.versionOL){
this.send('denied','version');
@ -26069,7 +26081,7 @@
else if(!_status.waitingForPlayer){
if(game.phaseNumber&&lib.configOL.observe){
lib.node.observing.push(this);
this.send('reinit',lib.configOL,get.arenaState(),game.getState?game.getState():{},game.ip,game.players[0].playerid);
this.send('reinit',lib.configOL,get.arenaState(),game.getState?game.getState():{},game.ip,game.players[0].playerid,null,_status.cardtag);
if(!ui.removeObserve){
ui.removeObserve=ui.create.system('移除旁观',function(){
lib.configOL.observe=false;
@ -26652,7 +26664,7 @@
}
}
},
reinit:function(config,state,state2,ip,observe,onreconnect){
reinit:function(config,state,state2,ip,observe,onreconnect,cardtag){
ui.auto.show();
ui.pause.show();
game.clearConnect();
@ -26732,6 +26744,7 @@
if(mode.onreinit){
mode.onreinit();
}
_status.cardtag=get.parsedResult(cardtag);
state=get.parsedResult(state);
game.players=[];
game.dead=[];
@ -27033,7 +27046,7 @@
}
},
suit:['club','spade','diamond','heart'],
group:['wei','shu','wu','qun','shen'],
group:['wei','shu','wu','qun','jin','shen'],
nature:['fire','thunder','poison','kami','ice'],
linked:['fire','thunder','kami','ice'],
groupnature:{
@ -28883,6 +28896,11 @@
player.classList.remove('unseen2_v');
break;
}
if(!player.classList.contains('unseen_v')&&(!player.name2||!player.classList.contains('unseen2_v'))&&player.storage.nohp){
delete player.storage.nohp;
player.node.hp.show();
player.update();
}
}
else{
console.log(num);
@ -43951,11 +43969,12 @@
}
}
lib.inpile.sort(lib.sort.card);
game.broadcastAll(function(num,pile,top){
game.broadcastAll(function(num,pile,top,cardtag){
if(ui.cardPileNumber) ui.cardPileNumber.innerHTML='0轮 剩余牌: '+num;
lib.inpile=pile;
_status.pileTop=top;
},ui.cardPile.childNodes.length,lib.inpile,ui.cardPile.firstChild);
_status.cardtag=cardtag;
},ui.cardPile.childNodes.length,lib.inpile,ui.cardPile.firstChild,_status.cardtag);
},
},
click:{
@ -48136,6 +48155,9 @@
return 0;
},
is:{
yingbian:function(node){
return get.cardtag(node,'yingbian_zhuzhan')||get.cardtag(node,'yingbian_fujia')||get.cardtag(node,'yingbian_canqu')||get.cardtag(node,'yingbian_kongchao');
},
emoji:function(substring){
if(substring){
var reg=new RegExp("[~#^$@%&!?%*]",'g');
@ -48984,6 +49006,7 @@
roomId:game.roomId,
over:_status.over,
inpile:lib.inpile,
cardtag:_status.cardtag,
};
for(var i in lib.playerOL){
state.players[i]=lib.playerOL[i].getState();
@ -50601,7 +50624,7 @@
node=node.link;
}
var capt=get.translation(node.name);
if(lib.character[node.name]&&(lib.character[node.name][1]||lib.group.contains(node.group))){
if((lib.character[node.name]&&lib.character[node.name][1])||lib.group.contains(node.group)){
capt+='&nbsp;&nbsp;'+(lib.group.contains(node.group)?get.translation(node.group):lib.translate[lib.character[node.name][1]]);
}
uiintro.add(capt);
@ -51102,6 +51125,7 @@
uiintro.add(ui.create.div('.placeholder.slim'));
}
else if(node.classList.contains('card')){
//卡牌长按介绍
if(ui.arena.classList.contains('observe')&&node.parentNode.classList.contains('handcards')){
return;
}
@ -51258,6 +51282,10 @@
uiintro._place_text=placetext;
}
}
if(lib.card[name].yingbian_prompt&&get.is.yingbian(node.link||node)){
if(typeof lib.card[name].yingbian_prompt=='function') uiintro.add('<div class="text" style="font-family: yuanli">应变:'+lib.card[name].yingbian_prompt(node.link||node)+'</div>');
else uiintro.add('<div class="text" style="font-family: yuanli">应变:'+lib.card[name].yingbian_prompt+'</div>');
}
if(lib.translate[name+'_append']){
uiintro.add('<div class="text" style="display:inline">'+lib.translate[name+'_append']+'</div>');
}
@ -52254,6 +52282,9 @@
else if(nature=='thunder'){
name='thunderdamage';
}
else if(nature=='ice'){
name='icedamage';
}
var eff=get.effect(target,{name:name},player,viewer);
if(eff>0&&target.hujia>0) return 0;
return eff;

View File

@ -27,6 +27,7 @@ window.noname_package={
sp:'SP',
guozhan:'国战',
zhulu:'逐鹿天下',
yingbian:'应变篇',
zhenfa:'阵法',
yunchou:'运筹帷幄',
swd:'轩辕剑',

View File

@ -9,6 +9,7 @@ window.noname_source_list=[
'card/sp.js',
'card/standard.js',
'card/swd.js',
'card/yingbian.js',
'card/yunchou.js',
'card/zhenfa.js',
'card/zhulu.js',

View File

@ -1,21 +1,21 @@
window.noname_update={
version:'1.9.106.4.2',
update:'1.9.106.4.1',
version:'1.9.107',
update:'1.9.106.4.2',
changeLog:[
'晋张春华',
'董翓',
'应变篇卡牌包',
'晋司马懿',
'bug修复',
],
files:[
//'card/extra.js',
'card/extra.js',
'card/gujian.js',
'card/guozhan.js',
//'card/gwent.js',
//'card/huanlekapai.js',
//'card/mtg.js',
//'card/sp.js',
'card/standard.js',
//'card/swd.js',
//'card/mtg.js',
//'card/gujian.js',
'card/guozhan.js',
//'card/gwent.js',
//'card/yunchou.js',
'card/yingbian.js',
//'card/zhenfa.js',
@ -28,10 +28,10 @@ window.noname_update={
//'character/hearth.js',
'character/mobile.js',
//'character/mtg.js',
//'character/old.js',
//'character/rank.js',
//'character/refresh.js',
//'character/shenhua.js',
'character/old.js',
'character/rank.js',
'character/refresh.js',
'character/shenhua.js',
'character/sp.js',
'character/sp2.js',
//'character/tw.js',
@ -44,22 +44,22 @@ window.noname_update={
//'extension/boss/extension.js',
'layout/default/layout.css',
//'layout/nova/layout.css',
//'mode/identity.js',
//'mode/doudizhu.js',
'mode/identity.js',
'mode/doudizhu.js',
'mode/guozhan.js',
//'mode/chess.js',
//'mode/tafang.js',
//'mode/single.js',
//'mode/stone.js',
'mode/brawl.js',
//'mode/versus.js',
//'mode/boss.js',
'mode/single.js',
'mode/stone.js',
//'mode/brawl.js',
'mode/versus.js',
'mode/boss.js',
'game/game.js',
//'game/keyWords.js',
//'game/server.js',
//'game/NoSleep.js',
//'game/config.js',
//'game/package.js',
'game/config.js',
'game/package.js',
//'game/asset.js',
//'game/source.js',
//'theme/style/hp/xinglass.css',

BIN
image/card/chuqibuyi.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

BIN
image/card/heiguangkai.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

BIN
image/card/taigongyinfu.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

BIN
image/card/tianjitu.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

BIN
image/card/tongque.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

BIN
image/card/wutiesuolian.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

BIN
image/card/zhujinqiyuan.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 240 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 91 KiB

After

Width:  |  Height:  |  Size: 264 KiB

View File

@ -1303,6 +1303,8 @@ body>.background.land {
bottom: 5px;
right: 5px;
text-align: right;
text-shadow: rgba(213, 194, 179,1) 0 0 3px,rgba(213, 194, 179,1) 0 0 3px,rgba(213, 194, 179,1) 0 0 3px,
rgba(213, 194, 179,1) 0 0 3px,black 0 0 3px;
}
.card>.name {
top: 9px;
@ -3477,7 +3479,7 @@ div:not(.handcards)>.card>.info>span,
color: rgba(90,118,99,0.3);
}
.ice {
color: rgba(80,160,255,0.3);
color: rgba(0,153,255,0.3);
}
.poison {
color: rgba(30, 133, 51,0.4);
@ -4125,8 +4127,8 @@ div[data-decoration="bronze"]::after{
border: 1px solid #1F3C38;
}
.card.fullskin.ice>.name {
color: #152E63;
border: 1px solid #152E63;
color: #3B6273;
border: 1px solid #3B6273;
}
.card.fullskin.fire>.name {
color: #631515;
@ -4300,8 +4302,10 @@ div[data-decoration="bronze"]::after{
.greentext {
color: rgb(104,221,127);
}
.icetext {
color: rgb(59, 98, 115);
}
.thundertext,
.icetext,
.controlthundertext {
color: rgb(117,186,255);
}

View File

@ -424,7 +424,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
var info=[];
for(var i=0;i<players.length;i++){
info.push({
name:players[i].name,
name:players[i].name1,
identity:players[i].identity,
position:players[i].dataset.position
});

View File

@ -71,7 +71,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
var info=[];
for(var i=0;i<players.length;i++){
info.push({
name:players[i].name,
name:players[i].name1,
name2:players[i].name2,
identity:players[i].identity
});
@ -404,7 +404,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
player.update();
}
if(back){
list.remove(get.sourceCharacter(player.name));
list.remove(get.sourceCharacter(player.name1));
list.remove(get.sourceCharacter(player.name2));
for(var i=0;i<list.length;i++){
back.push(list[i]);
@ -773,7 +773,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
else{
game.me.init(event.choosed[0]);
}
event.list.remove(get.sourceCharacter(game.me.name));
event.list.remove(get.sourceCharacter(game.me.name1));
event.list.remove(get.sourceCharacter(game.me.name2));
if(game.me==game.zhu){
game.me.hp++;
@ -789,7 +789,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
}
"step 3"
for(var i=0;i<game.players.length;i++){
_status.characterlist.remove(get.sourceCharacter(game.players[i].name));
_status.characterlist.remove(get.sourceCharacter(game.players[i].name1));
_status.characterlist.remove(get.sourceCharacter(game.players[i].name2));
}
setTimeout(function(){
@ -938,7 +938,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
for(i in lib.characterReplace){
var ix=lib.characterReplace[i];
for(var j=0;j<ix.length;j++){
if(!libCharacter[i]||lib.filter.characterDisabled(ix[j],libCharacter)) ix.splice(j--,1);
if(!libCharacter[ix[j]]||lib.filter.characterDisabled(ix[j],libCharacter)) ix.splice(j--,1);
}
if(ix.length){
var name=ix.randomGet();

View File

@ -121,9 +121,9 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
game.chooseCharacter();
}
"step 2"
game.broadcast(function(cardtag){
_status.cardtag=cardtag;
},_status.cardtag);
//game.broadcast(function(cardtag){
// _status.cardtag=cardtag;
//},_status.cardtag);
if(ui.coin){
_status.coinCoeff=get.coinCoeff([game.me.name1,game.me.name2]);
}
@ -6928,6 +6928,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
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);
}
@ -6973,6 +6974,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
}
}
}
if(lib.character[button.link][4].contains('hiddenSkill')) return false;
if(ui.selected.buttons.length==0){
for(var i=0;i<ui.dialog.buttons.length;i++){
if(ui.dialog.buttons[i]!=button&&lib.character[button.link][1]==lib.character[ui.dialog.buttons[i].link][1]){
@ -7145,11 +7147,14 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
for(var i in lib.characterPack.mode_guozhan){
if(i.indexOf('gz_shibing')==0) continue;
if(get.is.jun(i)) continue;
if(lib.character[i][4].contains('hiddenSkill')) continue;
list.push(i);
}
}
else{
list=get.charactersOL();
list=get.charactersOL(function(i){
return lib.character[i][4].contains('hiddenSkill');
});
}
_status.characterlist=list.slice(0);
_status.yeidentity=[];

View File

@ -18,6 +18,9 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
group_key:{
fullskin:true,
},
group_jin:{
fullskin:true,
},
},
start:function(){
"step 0"
@ -310,7 +313,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
var info=[];
for(var i=0;i<players.length;i++){
info.push({
name:players[i].name,
name:players[i].name1,
name2:players[i].name2,
identity:players[i].identity
});
@ -1083,7 +1086,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
}
}
if(back){
list.remove(get.sourceCharacter(player.name));
list.remove(get.sourceCharacter(player.name1));
list.remove(get.sourceCharacter(player.name2));
for(var i=0;i<list.length;i++){
back.push(list[i]);
@ -1466,7 +1469,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
}
if(game.zhu!=game.me){
event.ai(game.zhu,event.list,list2)
event.list.remove(get.sourceCharacter(game.zhu.name));
event.list.remove(get.sourceCharacter(game.zhu.name1));
event.list.remove(get.sourceCharacter(game.zhu.name2));
if(_status.brawl&&_status.brawl.chooseCharacter){
list=_status.brawl.chooseCharacter(event.list,num);
@ -1705,7 +1708,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
else{
game.me.init(event.choosed[0]);
}
event.list.remove(get.sourceCharacter(game.me.name));
event.list.remove(get.sourceCharacter(game.me.name1));
event.list.remove(get.sourceCharacter(game.me.name2));
if(game.me==game.zhu&&game.players.length>4){
game.me.hp++;
@ -1942,9 +1945,9 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
if(game.me!=game.zhu){
game.zhu.init(result.links[0],result.links[1])
}
event.list.remove(get.sourceCharacter(game.zhu.name));
event.list.remove(get.sourceCharacter(game.zhu.name1));
event.list.remove(get.sourceCharacter(game.zhu.name2));
event.list2.remove(get.sourceCharacter(game.zhu.name));
event.list2.remove(get.sourceCharacter(game.zhu.name1));
event.list2.remove(get.sourceCharacter(game.zhu.name2));
if(game.players.length>4){
@ -1964,7 +1967,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
},game.zhu,game.zhu.name,game.zhu.name2,game.players.length>4);
if(game.zhu.group=='shen'){
var list=['wei','shu','wu','qun','key'];
var list=['wei','shu','wu','qun','jin','key'];
for(var i=0;i<list.length;i++){
if(!lib.group.contains(list[i])) list[i].splice(i--,1);
else list[i]=['','','group_'+list[i]];
@ -2045,7 +2048,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
}
event.result2=result;
if(shen.length){
var list=['wei','shu','wu','qun','key'];
var list=['wei','shu','wu','qun','jin','key'];
for(var i=0;i<list.length;i++){
if(!lib.group.contains(list[i])) list[i].splice(i--,1);
list[i]=['','','group_'+list[i]];
@ -2109,11 +2112,13 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
group_wu:"吴势力",
group_qun:"群势力",
group_key:"键势力",
group_jin:"晋势力",
group_wei_bg:"魏",
group_shu_bg:"蜀",
group_wu_bg:"吴",
group_qun_bg:"群",
group_key_bg:"键",
group_jin_bg:"晋",
zhu:"主",
zhong:"忠",
mingzhong:"忠",

View File

@ -219,7 +219,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
var info=[];
for(var i=0;i<players.length;i++){
info.push({
name:players[i].name,
name:players[i].name1,
name2:players[i].name2,
identity:players[i].identity
});

View File

@ -496,7 +496,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
var info=[];
for(var i=0;i<players.length;i++){
info.push({
name:players[i].name,
name:players[i].name1,
name2:players[i].name2,
count:players[i].actcount
});
@ -952,7 +952,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
ui.arena.appendChild(player);
game.addVideo('stoneSwap',null,{
name:player.name,
name:player.name1,
name2:player.name2,
position:player.dataset.position,
actcount:player.actcount,
@ -1012,7 +1012,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
ui.arena.appendChild(player);
game.addVideo('stoneSwap',null,{
name:player.name,
name:player.name1,
name2:player.name2,
position:player.dataset.position,
actcount:player.actcount,

View File

@ -326,7 +326,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
var info=[];
for(var i=0;i<players.length;i++){
info.push({
name:players[i].name,
name:players[i].name1,
name2:players[i].name2,
identity:players[i].node.identity.firstChild.innerHTML,
color:players[i].node.identity.dataset.color
@ -594,10 +594,10 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
var zhu=game.findPlayer2(function(current){
return current.side==game.me.side&&current.identity=='zhu';
});
var str=(game.me.side?'暖/':'冷/')+get.translation(zhu.previousSeat.name)+'/'+get.translation(zhu.name)+'/'+get.translation(zhu.nextSeat.name);
var str=(game.me.side?'暖/':'冷/')+get.translation(zhu.previousSeat.name1)+'/'+get.translation(zhu.name1)+'/'+get.translation(zhu.nextSeat.name1);
return ['统率三军',str]
}
var str=get.translation(game.me.name);
var str=get.translation(game.me.name1);
if(game.me.name2){
str+='/'+get.translation(game.me.name2);
}
@ -813,7 +813,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
var double=(result.links.length==2);
game.me.init(result.links[0],result.links[1]);
for(var i=0;i<game.players.length;i++){
if(game.players[i].name) continue;
if(game.players[i].name1) continue;
if(game.players[i].type!='human'){
game.players[i].init(event.list[game.players[i].identity+game.players[i].type].randomRemove());
}
@ -1069,7 +1069,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
enemyChoice._skipped=true;
}
}
if(!game.players[i].name) game.players[i].init(event.list[game.players[i].side].randomRemove());
if(!game.players[i].name1) game.players[i].init(event.list[game.players[i].side].randomRemove());
}
}
game.players[i].addSkill('longchuanzhibao');
@ -1087,7 +1087,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
}
}
_status.firstAct.gainZhibao();
game.addRecentCharacter(game.me.name);
game.addRecentCharacter(game.me.name1);
setTimeout(function(){
ui.arena.classList.remove('choose-character');
},500);
@ -1365,15 +1365,15 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
if(_status.replacetwo){
game.me.replacetwo=result.links[1];
}
event.list.remove(game.me.name);
event.list.remove(game.me.name1);
for(var i=0;i<game.players.length;i++){
if(game.players[i]!=game.me){
if(_status.brawl&&_status.brawl.chooseCharacter){
var list=_status.brawl.chooseCharacter(event.list,game.players[i]);
game.players[i].init(list.randomGet());
event.list.remove(game.players[i].name);
event.list.remove(game.players[i].name1);
if(_status.replacetwo){
game.players[i].replacetwo=list.randomGet(game.players[i].name);
game.players[i].replacetwo=list.randomGet(game.players[i].name1);
event.list.remove(game.players[i].replacetwo);
}
}
@ -1401,7 +1401,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
}
}
for(var i=0;i<game.players.length;i++){
_status.characterlist.remove(game.players[i].name);
_status.characterlist.remove(game.players[i].name1);
_status.characterlist.remove(game.players[i].replacetwo);
}
setTimeout(function(){
@ -1549,7 +1549,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
game.addRecentCharacter(result.links[i]);
}
game.me.init(result.links[0]);
event.list.remove(game.me.name);
event.list.remove(game.me.name1);
for(var i=0;i<game.players.length;i++){
if(game.players[i]!=game.me){
game.players[i].init(event.list.randomRemove());
@ -1594,8 +1594,8 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
else{
player.init(list[0]);
}
this.list.remove(player.name);
this.list2.remove(player.name);
this.list.remove(player.name1);
this.list2.remove(player.name1);
}
next.setContent(function(){
"step 0"
@ -1791,8 +1791,8 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
}
var names=[];
for(var i=0;i<game.players.length;i++){
if(game.players[i].name){
names.push(game.players[i].name);
if(game.players[i].name1){
names.push(game.players[i].name1);
}
}
for(var i=0;i<dialog.buttons.length;i++){
@ -1840,8 +1840,8 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
if(event.current==game.me){
game.addRecentCharacter(result.buttons[0].link);
}
event.list.remove(event.current.name);
event.list2.remove(event.current.name);
event.list.remove(event.current.name1);
event.list2.remove(event.current.name1);
if(event.current.identity=='zhu'){
event.current.hp++;
event.current.maxHp++;
@ -1851,7 +1851,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
}
if(event.four_assign){
for(var i=0;i<game.players.length;i++){
if(!game.players[i].name) break;
if(!game.players[i].name1) break;
}
if(i<game.players.length){
var side=event.current.side;
@ -1859,7 +1859,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
if(event.flipassign){
for(var iwhile=0;iwhile<8;iwhile++){
event.current=event.current.next;
if(event.current.side!=side&&!event.current.name){
if(event.current.side!=side&&!event.current.name1){
break;
}
}
@ -1867,7 +1867,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
else{
for(var iwhile=0;iwhile<8;iwhile++){
event.current=event.current.previous;
if(event.current.side==side&&!event.current.name){
if(event.current.side==side&&!event.current.name1){
break;
}
}
@ -1878,7 +1878,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
}
else{
for(var i=0;i<game.players.length;i++){
if(!game.players[i].name){
if(!game.players[i].name1){
event.ai(game.players[i],event.list.splice(0,3),event.list2);
game.players[i].node.name_seat.remove();
}
@ -2869,7 +2869,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
}
event.current.classList.remove('selectedx');
for(var i=0;i<game.players.length;i++){
if(!game.players[i].name) break;
if(!game.players[i].name1) break;
}
if(i<game.players.length){
var side=event.current.side;
@ -2877,7 +2877,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
if(event.flipassign){
for(var iwhile=0;iwhile<8;iwhile++){
event.current=event.current.next;
if(event.current.side!=side&&!event.current.name){
if(event.current.side!=side&&!event.current.name1){
break;
}
}
@ -2885,7 +2885,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
else{
for(var iwhile=0;iwhile<8;iwhile++){
event.current=event.current.previous;
if(event.current.side==side&&!event.current.name){
if(event.current.side==side&&!event.current.name1){
break;
}
}
@ -2985,7 +2985,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
lib.setPopped(_status.enemyCount,func2);
for(var i in result){
if(!lib.playerOL[i].name){
if(!lib.playerOL[i].name1){
lib.playerOL[i].init(result[i][0]);
}
if(lib.playerOL[i].side==game.me.side){
@ -3148,13 +3148,13 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
result[i]=result[i].links[0];
}
_status.characterlist.remove(result[i]);
if(!lib.playerOL[i].name){
if(!lib.playerOL[i].name1){
lib.playerOL[i].init(result[i]);
}
}
game.broadcast(function(result){
for(var i in result){
if(!lib.playerOL[i].name){
if(!lib.playerOL[i].name1){
lib.playerOL[i].init(result[i]);
}
}
@ -3349,20 +3349,20 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
else{
result2=_status.enemy.randomGet();
}
if(!game.players[0].name) game.players[0].init(result1);
if(!game.players[1].name) game.players[1].init(result2);
if(!game.players[0].name1) game.players[0].init(result1);
if(!game.players[1].name1) game.players[1].init(result2);
_status.friend.remove(result1);
_status.enemy.remove(result2);
game.broadcast(function(result1,result2){
if(game.me.side){
if(!game.me.name) game.me.init(result1);
if(!game.me.next.name) game.me.next.init(result2);
if(!game.me.name1) game.me.init(result1);
if(!game.me.next.name1) game.me.next.init(result2);
_status.friend.remove(result1);
_status.enemy.remove(result2);
}
else{
if(!game.me.name) game.me.init(result2);
if(!game.me.next.name) game.me.next.init(result1);
if(!game.me.name1) game.me.init(result2);
if(!game.me.next.name1) game.me.next.init(result1);
_status.friend.remove(result2);
_status.enemy.remove(result1);
}
@ -6463,11 +6463,11 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
if(_status.mode=='1v1'||_status.mode=='3v3'){
game.broadcastAll(function(dead){
if(dead.side==game.me.side){
_status.friendDied.push(dead.name);
_status.friendDied.push(dead.name1);
_status.friendCount.innerHTML='阵亡: '+get.cnNumber(_status.friendDied.length,true);
}
else{
_status.enemyDied.push(dead.name);
_status.enemyDied.push(dead.name1);
_status.enemyCount.innerHTML='杀敌: '+get.cnNumber(_status.enemyDied.length,true);
}
},this);
@ -6675,11 +6675,11 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
return;
}
if(this.side==me.side){
_status.friendDied.push(this.name);
_status.friendDied.push(this.name1);
_status.friendCount.innerHTML='阵亡: '+get.cnNumber(_status.friendDied.length,true);
}
else{
_status.enemyDied.push(this.name);
_status.enemyDied.push(this.name1);
_status.enemyCount.innerHTML='杀敌: '+get.cnNumber(_status.enemyDied.length,true);
}