v1.9.89.4(part2)

This commit is contained in:
Spmario233 2019-07-14 18:58:01 +08:00 committed by GitHub
parent d05dbce020
commit 2c39c57084
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 747 additions and 312 deletions

View File

@ -2151,13 +2151,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return player!=event.player&&event.player.isAlive()&&_status.currentPhase==player;
},
check:function(event,player){
var list=[];
if(player.isDisabled(5)) return false;
var skills=event.player.skills.slice(0);
for(var i=0;i<skills.length;i++){
var info=get.info(skills[i])
if(info!=undefined&&!info.charlotte&&(!info.unique||info.gainable)) list.push(skills[i]);
};
return !player.storage.disableEquip.contains('equip5')&&list.length>0;
if(info!=undefined&&!info.charlotte&&(!info.unique||info.gainable)) return true;
}
},
content:function(){
'step 0'
@ -2167,38 +2166,25 @@ game.import('character',function(lib,game,ui,get,ai,_status){
var info=get.info(skills[i])
if(info!=undefined&&!info.charlotte&&(!info.unique||info.gainable)) event.skills.push(skills[i]);
};
if(player.storage.disableEquip.length<5){
var list=['武器','防具','防御马','攻击马','宝物'];
for(var i=0;i<player.storage.disableEquip.length;i++){
list.remove(get.translation(player.storage.disableEquip[i]));
};
var list1=['equip1','equip2','equip3','equip4','equip5'];
for(var i=0;i<player.storage.disableEquip.length;i++){
list1.remove(player.storage.disableEquip[i]);
};
player.chooseControl(list).set('ai',function(event){
if(list1.contains('equip5')&&event.skills.length>0) return '宝物';
return list.randomGet();
}).set('prompt','请选择需要废除的栏位');
if(player.countDisabled()<5){
player.chooseToDisable().ai=function(event,player,list){
if(list.contains('equip5')) return 'equip5';
return list.randomGet();
};
}
'step 1'
if(result.control!=undefined){
if(result.control=='武器') player.disableEquip('equip1');
if(result.control=='防具') player.disableEquip('equip2');
if(result.control=='防御马') player.disableEquip('equip3');
if(result.control=='攻击马') player.disableEquip('equip4');
if(result.control=='宝物') player.disableEquip('equip5');
}
if(event.skills.length>0){
player.chooseControl(event.skills).set('prompt','请选择要获得的技能');
player.chooseControl(event.skills).set('prompt','请选择要获得的技能').set('ai',function(){return event.skills.randomGet()});
}
else event.finish();
'step 2'
player.addTempSkill(result.control,{player:'dieAfter'});
player.popup(result.control,'thunder');
player.storage.drlt_duorui=[result.control];
player.storage.drlt_duorui_player=trigger.player;
trigger.player.storage.drlt_duorui=[result.control];
trigger.player.addTempSkill('drlt_duorui1',{player:'phaseAfter'});
game.log(player,'获得了技能','#g【'+get.translation(result.control)+'】')
},
group:['duorui_clear'],
},
@ -2260,20 +2246,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return event.targets&&event.targets.contains(player)&&event.turn!=player&&player.storage.disableEquip!=undefined&&player.storage.disableEquip.length>0;
},
content:function(){
'step 0'
var list=[];
for(var i=0;i<player.storage.disableEquip.length;i++){
list.push(get.translation(player.storage.disableEquip[i]));
};
player.chooseControl(list).set('ai',function(event){
return list.randomGet();
}).set('prompt','请选择需要恢复的栏位');;
'step 1'
if(result.control=='武器') player.enableEquip('equip1');
if(result.control=='防具') player.enableEquip('equip2');
if(result.control=='防御马') player.enableEquip('equip3');
if(result.control=='攻击马') player.enableEquip('equip4');
if(result.control=='宝物') player.enableEquip('equip5');
player.chooseToEnable();
},
},
'2':{
@ -2286,20 +2259,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return event.turn!=player&&player.storage.disableEquip!=undefined&&player.storage.disableEquip.length>0;
},
content:function(){
'step 0'
var list=[];
for(var i=0;i<player.storage.disableEquip.length;i++){
list.push(get.translation(player.storage.disableEquip[i]));
};
player.chooseControl(list).set('ai',function(event){
return list.randomGet();
}).set('prompt','请选择需要恢复的栏位');;
'step 1'
if(result.control=='武器') player.enableEquip('equip1');
if(result.control=='防具') player.enableEquip('equip2');
if(result.control=='防御马') player.enableEquip('equip3');
if(result.control=='攻击马') player.enableEquip('equip4');
if(result.control=='宝物') player.enableEquip('equip5');
player.chooseToEnable();
},
},
'3':{
@ -2313,19 +2273,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
content:function(){
'step 0'
var list=[];
for(var i=0;i<player.storage.disableEquip.length;i++){
list.push(get.translation(player.storage.disableEquip[i]));
};
player.chooseControl(list).set('ai',function(event){
return list.randomGet();
}).set('prompt','请选择需要恢复的栏位');;
'step 1'
if(result.control=='武器') player.enableEquip('equip1');
if(result.control=='防具') player.enableEquip('equip2');
if(result.control=='防御马') player.enableEquip('equip3');
if(result.control=='攻击马') player.enableEquip('equip4');
if(result.control=='宝物') player.enableEquip('equip5');
player.chooseToEnable();
},
},
'4':{
@ -2338,20 +2286,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return (event.targets!=undefined&&event.targets.contains(player)||event.target==player)&&event.result.bool==false&&player.storage.disableEquip!=undefined&&player.storage.disableEquip.length>0;
},
content:function(){
'step 0'
var list=[];
for(var i=0;i<player.storage.disableEquip.length;i++){
list.push(get.translation(player.storage.disableEquip[i]));
};
player.chooseControl(list).set('ai',function(event){
return list.randomGet();
}).set('prompt','请选择需要恢复的栏位');;
'step 1'
if(result.control=='武器') player.enableEquip('equip1');
if(result.control=='防具') player.enableEquip('equip2');
if(result.control=='防御马') player.enableEquip('equip3');
if(result.control=='攻击马') player.enableEquip('equip4');
if(result.control=='宝物') player.enableEquip('equip5');
player.chooseToEnable();
},
},
'5':{
@ -2364,20 +2299,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return player.storage.disableEquip!=undefined&&player.storage.disableEquip.length>0;
},
content:function(){
'step 0'
var list=[];
for(var i=0;i<player.storage.disableEquip.length;i++){
list.push(get.translation(player.storage.disableEquip[i]));
};
player.chooseControl(list).set('ai',function(event){
return list.randomGet();
}).set('prompt','请选择需要恢复的栏位');;
'step 1'
if(result.control=='武器') player.enableEquip('equip1');
if(result.control=='防具') player.enableEquip('equip2');
if(result.control=='防御马') player.enableEquip('equip3');
if(result.control=='攻击马') player.enableEquip('equip4');
if(result.control=='宝物') player.enableEquip('equip5');
player.chooseToEnable();
},
},
},

View File

@ -10,8 +10,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
liru:['male','qun',3,['juece','mieji','fencheng']],
yujin:['male','wei',4,['yizhong']],
xin_yujin:['male','wei',4,['jieyue']],
lusu:['male','wu',3,['haoshi','dimeng']],
yuanshao:['male','qun',4,['luanji','xueyi'],['zhu']],
//lusu:['male','wu',3,['haoshi','dimeng']],
//yuanshao:['male','qun',4,['luanji','xueyi'],['zhu']],
old_zhonghui:['male','wei',3,['zzhenggong','zquanji','zbaijiang']],
old_xusheng:['male','wu',4,['pojun']],
old_zhuran:['male','wu',4,['olddanshou']],

View File

@ -33,12 +33,319 @@ game.import('character',function(lib,game,ui,get,ai,_status){
re_zhenji:['female','wei',3,['reluoshen','qingguo']],
re_zhugeliang:['male','shu',3,['reguanxing','kongcheng']],
re_huaxiong:["male","qun",6,["new_reyaowu"]],
re_sp_zhugeliang:["male","shu",3,["rehuoji","rekanpo","bazhen"],[]],
re_xunyu:["male","wei",3,["quhu","rejieming"],[]],
re_dianwei:["male","wei",4,["reqiangxi"],[]],
re_yanwen:["male","qun",4,["reshuangxiong"],[]],
re_pangtong:['male','shu',3,['xinlianhuan','niepan'],[]],
xin_yuanshao:['male','qun',4,['reluanji','xueyi'],['zhu']],
},
characterIntro:{
re_gongsunzan:'群雄之一。出身贵族,因母地位卑贱,只当了郡中小吏。他貌美,声音洪亮,机智善辩。后随卢植于缑氏山中读书,粗通经传。',
re_lidian:'字曼成,曹操麾下将领。李典深明大义,不与人争功,崇尚学习与高贵儒雅,尊重博学之士,在军中被称为长者。李典有长者之风,官至破虏将军,三十六岁去世。魏文帝曹丕继位后追谥号为愍侯。',
},
skill:{
reqiangxi:{
subSkill:{
off:{
sub:true,
},
},
audio:"qiangxi",
enable:"phaseUse",
filterCard:function (card){
return get.type(card)=='equip';
},
selectCard:function (){
return [0,1];
},
filterTarget:function (card,player,target){
if(player==target) return false;
if(target.hasSkill('reqiangxi_off')) return false;
return get.distance(player,target,'attack')<=1;
},
content:function (){
"step 0"
if(cards.length==0){
player.loseHp();
}
"step 1"
target.addTempSkill('reqiangxi_off');
target.damage('nocard');
},
check:function (card){
return 10-get.value(card);
},
position:"he",
ai:{
order:8.5,
result:{
target:function (player,target){
if(!player.countCards('he',{type:'equip'})){
if(player.hp<2) return 0;
if(target.hp>=player.hp) return 0;
}
return get.damageEffect(target,player);
},
},
},
threaten:1.5,
},
rehuoji:{
position:"he",
audio:"huoji",
enable:"chooseToUse",
filterCard:function (card){
return get.color(card)=='red';
},
viewAs:{
name:"huogong",
nature:"fire",
},
viewAsFilter:function (player){
if(!player.countCards('h',{color:'red'})) return false;
},
prompt:"将一张红色牌当火攻使用",
check:function (card){
var player=_status.currentPhase;
if(player.countCards('h')>player.hp){
return 6-get.value(card);
}
return 4-get.value(card)
},
ai:{
basic:{
order:4,
value:[3,1],
useful:1,
},
wuxie:function (target,card,player,current,state){
if(get.attitude(current,player)>=0&&state>0) return false;
},
result:{
player:function (player){
var nh=player.countCards('h');
if(nh<=player.hp&&nh<=4&&_status.event.name=='chooseToUse'){
if(typeof _status.event.filterCard=='function'&&
_status.event.filterCard({name:'huogong'})){
return -10;
}
if(_status.event.skill){
var viewAs=get.info(_status.event.skill).viewAs;
if(viewAs=='huogong') return -10;
if(viewAs&&viewAs.name=='huogong') return -10;
}
}
return 0;
},
target:function (player,target){
if(target.hasSkill('huogong2')||target.countCards('h')==0) return 0;
if(player.countCards('h')<=1) return 0;
if(target==player){
if(typeof _status.event.filterCard=='function'&&
_status.event.filterCard({name:'huogong'})){
return -1.5;
}
if(_status.event.skill){
var viewAs=get.info(_status.event.skill).viewAs;
if(viewAs=='huogong') return -1.5;
if(viewAs&&viewAs.name=='huogong') return -1.5;
}
return 0;
}
return -1.5;
},
},
tag:{
damage:1,
fireDamage:1,
natureDamage:1,
norepeat:1,
},
},
},
rekanpo:{
audio:"kanpo",
position:"he",
enable:"chooseToUse",
filterCard:function (card){
return get.color(card)=='black';
},
viewAsFilter:function (player){
return player.countCards('he',{color:'black'})>0;
},
viewAs:{
name:"wuxie",
},
prompt:"将一张黑色手牌当无懈可击使用",
check:function (card){return 8-get.value(card)},
threaten:1.2,
ai:{
basic:{
useful:[6,4],
value:[6,4],
},
result:{
player:1,
},
expose:0.2,
},
},
rejieming:{
audio:"jieming",
trigger:{
player:"damageEnd",
},
direct:true,
content:function (){
"step 0"
event.count=trigger.num;
"step 1"
player.chooseTarget(get.prompt('rejieming')).set('ai',function(target){
var att=get.attitude(_status.event.player,target);
if(att>2){
if((target.maxHp-target.countCards('h'))>2) return 2*att;
return att;
}
return att/3;
});
"step 2"
if(result.bool){
event.current=result.targets[0];
player.logSkill('rejieming',event.current);
player.line(event.current,'thunder');
event.current.draw(2);
event.count--;
}
else event.finish();
"step 3"
if(event.current.countCards('h')<event.current.maxHp){
player.draw();
}
if(event.count>0) event.goto(1);
},
ai:{
maixie:true,
"maixie_hp":true,
effect:{
target:function (card,player,target,current){
if(get.tag(card,'damage')&&target.hp>1){
if(player.hasSkillTag('jueqing',false,target)) return [1,-2];
var max=0;
var players=game.filterPlayer();
for(var i=0;i<players.length;i++){
if(get.attitude(target,players[i])>0){
max=Math.max(Math.min(5,players[i].hp)-players[i].countCards('h'),max);
}
}
switch(max){
case 0:return 2;
case 1:return 1.5;
case 2:return [1,2];
default:return [0,max];
}
}
if((card.name=='tao'||card.name=='caoyao')&&
target.hp>1&&target.countCards('h')<=target.hp) return [0,0];
},
},
},
},
reshuangxiong:{
trigger:{
player:"phaseDrawBefore",
},
group:"reshuangxiong2",
audio:"shuangxiong",
check:function (event,player){
if(player.countCards('h')>player.hp) return true;
if(player.countCards('h')>3) return true;
return false;
},
content:function (){
"step 0"
trigger.cancel();
event.cards=get.cards(2);
event.videoId=lib.status.videoId++;
game.broadcastAll(function(player,id,cards){
var str;
if(player==game.me&&!_status.auto){
str='【双雄】选择获得其中一张牌';
}
else{
str='双雄';
}
var dialog=ui.create.dialog(str,cards);
dialog.videoId=id;
},player,event.videoId,event.cards);
event.time=get.utc();
game.addVideo('showCards',player,['双雄',get.cardsInfo(event.cards)]);
game.addVideo('delay',null,2);
"step 1"
var next=player.chooseButton([1,1],true);
next.set('dialog',event.videoId);
next.set('ai',function(button){
var player=_status.event.player;
var color=get.color(button.link);
var value=get.value(button.link,player);
if(player.countCards('h',{color:color})>player.countCards('h',['red','black'].remove(color)[0])) value+=5;
return value;
});
"step 2"
if(result.bool&&result.links){
var cards2=[];
for(var i=0;i<result.links.length;i++){
cards2.push(result.links[i]);
cards.remove(result.links[i]);
}
for(var i=0;i<cards.length;i++){
cards[i].discard();
}
event.card2=cards2[0];
}
var time=1000-(get.utc()-event.time);
if(time>0){
game.delay(0,time);
}
"step 3"
game.broadcastAll('closeDialog',event.videoId);
var card2=event.card2;
player.gain(card2,'gain2');
player.addTempSkill('shuangxiong2');
player.storage.shuangxiong=get.color(card2);
game.delay();
},
},
"reshuangxiong2":{
trigger:{
player:"damageEnd",
},
forced:true,
silent:true,
popup:false,
filter:function (event,player){
return event.parent.skill=='shuangxiong2'&&event.parent.targetCards.length>0;
},
content:function (){
"step 0"
var cards=trigger.parent.targetCards.slice(0);
for(var i=0;i<cards.length;i++){
if(get.position(cards[i])!='d') cards.remove(cards[i--]);
}
if(!cards.length) event.finish();
else{
event.cards=cards;
player.chooseBool('是否获得'+get.translation(event.cards)+'?').ai=function(){
return true;
};
}
"step 1"
if(result.bool) player.gain(cards,'gain2');
},
},
"new_yajiao":{
audio:"reyajiao",
trigger:{
@ -185,15 +492,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
content:function (){
"step 0"
event.num=1;
event.count=1;
"step 1"
player.gain(get.cards(2));
player.$draw(2);
player.draw(2);
event.given=0;
"step 2"
player.chooseCardTarget({
filterCard:true,
selectCard:[1,2],
selectCard:[1,2-event.given],
filterTarget:function(card,player,target){
return player!=target&&target!=event.temp;
},
@ -214,17 +520,16 @@ game.import('character',function(lib,game,ui,get,ai,_status){
});
"step 3"
if(result.bool){
player.$give(result.cards.length,result.targets[0]);
player.$giveAuto(result.cards,result.targets[0]);
player.line(result.targets,'green');
result.targets[0].gain(result.cards);
if(num==1){
event.given+=result.cards.length;
if(event.given<2){
event.temp=result.targets[0];
event.num++;
event.goto(2);
}
else if(event.count<trigger.num){
delete event.temp;
event.num=1;
event.count++;
event.goto(1);
}
@ -2680,8 +2985,27 @@ game.import('character',function(lib,game,ui,get,ai,_status){
re_sunshangxiang:'界孙尚香',
re_zhugeliang:'界诸葛亮',
re_zhenji:'界甄姬',
re_huaxiong:"界华雄",
"re_sp_zhugeliang":"界卧龙",
"re_xunyu":"界荀彧",
"re_dianwei":"界典韦",
"re_yanwen":"界颜良文丑",
re_pangtong:"界庞统",
xin_yuanshao:"界袁绍",
reqiangxi:"强袭",
"reqiangxi_info":"出牌阶段对每名其他角色限一次你可以选择一项1. 失去一点体力并对你攻击范围内的一名其他角色造成一点伤害2. 弃置一张装备牌并对你攻击范围内的一名其他角色造成一点伤害。",
rehuoji:"火计",
"rehuoji_info":"出牌阶段,你可以将你的任意一张♥或♦牌当作【火攻】使用。",
rekanpo:"看破",
"rekanpo_info":"你可以将你的任意一张♠或♣牌当作【无懈可击】使用。",
rejieming:"节命",
"rejieming_info":"当你受到1点伤害后你可以令一名角色摸两张牌。然后若其手牌数小于体力上限则你摸一张牌。",
reshuangxiong:"双雄",
"reshuangxiong_info":"摸牌阶段,你可以放弃摸牌。若如此做,你展示牌堆顶的两张牌并选择获得其中的一张。然后,你本回合内可以将与此牌颜色不同的一张手牌当做【决斗】使用。",
"reshuangxiong2":"双雄",
"reshuangxiong2_info":"",
reguanxing:'观星',
reguanxing_info:'准备阶段你可以观看牌堆顶的5张牌存活角色小于4时改为3张并将其以任意顺序置于牌堆项或牌堆底若你将“观星”的牌都放在了牌堆底则你可以在结束阶段再次发动“观星”',

View File

@ -17,20 +17,20 @@ game.import('character',function(lib,game,ui,get,ai,_status){
// xin_yuji:['male','qun',3,['guhuo']],
sp_zhugeliang:['male','shu',3,['huoji','bazhen','kanpo']],
pangtong:['male','shu',3,['xinlianhuan','niepan']],
pangtong:['male','shu',3,['lianhuan','oldniepan']],
xunyu:['male','wei',3,['quhu','jieming']],
dianwei:['male','wei',4,['xinqiangxi']],
dianwei:['male','wei',4,['qiangxi']],
taishici:['male','wu',4,['tianyi']],
yanwen:['male','qun',4,['shuangxiong']],
re_yuanshao:['male','qun',4,['reluanji','xueyi'],['zhu']],
re_yuanshao:['male','qun',4,['luanji','xueyi'],['zhu']],
pangde:['male','qun',4,['mashu','jianchu']],
menghuo:['male','shu',4,['huoshou','zaiqi']],
zhurong:['female','shu',4,['juxiang','lieren']],
caopi:['male','wei',3,['xingshang','fangzhu','songwei'],['zhu']],
xuhuang:['male','wei',4,['duanliang','jiezi']],
re_lusu:['male','wu',3,['haoshi','redimeng']],
sunjian:['male','wu',4,['yinghun']],
re_lusu:['male','wu',3,['haoshi','dimeng']],
sunjian:['male','wu',4,['gzyinghun']],
dongzhuo:['male','qun',8,['jiuchi','roulin','benghuai','baonue'],['zhu']],
jiaxu:['male','qun',3,['luanwu','wansha','weimu']],
@ -131,48 +131,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
skill:{
//废除装备栏和判定区
_disableJudge:{
marktext:"废",
intro:{
content:"已经废除了判定区",
},
mod:{
targetEnabled:function(card,player,target){
if(target.storage._disableJudge&&get.type(card)=='delay') return false;
},
},
},
"_disableEquip":{
marktext:"废",
intro:{
content:function(storage,player,skill){
var str='';
for(var i=0;i<player.storage.disableEquip.length;i++){
str+='、'+get.translation(player.storage.disableEquip[i])+'栏';
};
str=str.slice(1,str.length)
str='已经废除了'+str;
return str;
},
},
mod:{
targetEnabled:function(card,player,target){
if(target.isDisabled(get.subtype(card))) return false;
},
},
trigger:{
player:['disableEquipBefore','enableEquipBefore','enterGame'],
global:'gameStart',
},
forced:true,
popup:false,
filter:function(event,player){
return player.storage.disableEquip==undefined;
},
content:function(){
player.storage.disableEquip=[];
},
},
//阴雷
"drlt_zhenrong":{
init:function (player){
@ -502,55 +461,33 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
content:function(){
'step 0'
var list=['武器','防具','坐骑','宝物'];
for(var i=0;i<player.storage.disableEquip.length;i++){
if(get.translation(player.storage.disableEquip[i])=='防御马'||get.translation(player.storage.disableEquip[i])=='攻击马'){
list.remove('坐骑');
}else{
list.remove(get.translation(player.storage.disableEquip[i]));
};
};
var list1=['equip1','equip2','equip3','equip4','equip5'];
for(var i=0;i<player.storage.disableEquip.length;i++){
list1.remove(player.storage.disableEquip[i]);
};
player.chooseControl(list).set('ai',function(event){
if(list1.contains('equip2')) return '防具';
if(list1.contains('equip1')&&player.countCards('h',{name:'sha'})>2) return '武器';
if(list1.contains('equip5')&&player.countCards('h',{type:'trick'})>=1) return '宝物';
}).set('prompt','请选择需要废除的栏位');
player.chooseToDisable(true).set('ai',function(event,player,list){
if(list.contains('equip2')) return 'equip2';
if(list.contains('equip1')&&player.countCards('h',{name:'sha'})>2) return 'equip1';
if(list.contains('equip5')&&player.countCards('h',{type:'trick'})>=1) return 'equip5';
});
'step 1'
if(result.control=='武器'){
if(result.control=='equip1'){
player.addTempSkill('drlt_jueyan1',{player:'phaseAfter'});
player.disableEquip('equip1');
};
if(result.control=='防具'){
player.disableEquip('equip2');
if(result.control=='equip2'){
player.draw(3);
player.addTempSkill('drlt_jueyan3',{player:'phaseAfter'});
};
if(result.control=='坐骑'){
if(result.control=='equip6'){
player.addTempSkill('drlt_jueyan2',{player:'phaseAfter'});
player.disableEquip('equip3');
player.disableEquip('equip4');
};
if(result.control=='宝物'){
player.addTempSkill('jizhi',{player:'phaseAfter'});
player.disableEquip('equip5');
if(result.control=='equip5'){
player.addTempSkill('rejizhi',{player:'phaseAfter'});
};
},
ai:{
order:13,
result:{
player:function(player){
if(player.storage.disableEquip==undefined) return -1;
var list=['equip1','equip2','equip3','equip4','equip5'];
for(var i=0;i<player.storage.disableEquip.length;i++){
list.remove(player.storage.disableEquip[i]);
};
if(list.contains('equip2')) return 1;
if(list.contains('equip1')&&player.countCards('h',{name:'sha'})>2) return 1;
if(list.contains('equip5')&&player.countCards('h',{type:'trick'})>=1) return 1;
if(!player.isDisabled('equip2')) return 1;
if(!player.isDisabled('equip1')&&player.countCards('h',{name:'sha'})>2) return 1;
if(!player.isDisabled('equip5')&&player.countCards('h',{type:'trick'})>=1) return 1;
return -1;
},
},
@ -562,6 +499,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(card.name=='sha') return num+3;
},
},
mark:true,
intro:{content:'本回合内可以多使用三张【杀】'},
},
'drlt_jueyan2':{
mod:{
@ -569,6 +508,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return true;
},
},
mark:true,
intro:{content:'本回合内使用牌没有距离限制'},
},
'drlt_jueyan3':{
mod:{
@ -576,6 +517,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return num+3;
},
},
mark:true,
intro:{content:'本回合内手牌上限+3'},
},
"drlt_poshi":{
audio:2,
@ -1115,12 +1058,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
marktext:"飞",
intro:{
content:function (storage){
var str='';
for(var i=0;i<storage.length;i++){
str+='、';
str+=get.translation(storage[i]);
};
str=str.slice(1);
if(!storage.length) return '尚未发动';
var str=get.translation(storage);
return '已对'+str+'发动过〖飞军〗';
},
},
@ -1173,11 +1112,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
'step 2'
if(result.bool){
event.target=result.targets[0];
if(player.hasSkill('nzry_binglve')&&!player.storage.nzry_feijun.contains(event.target)){
player.draw(2);
if(!player.storage.nzry_feijun.contains(event.target)){
if(player.hasSkill('nzry_binglve')){
player.draw(2);
player.logSkill('nzry_binglve');
}
player.storage.nzry_feijun.push(event.target);
player.syncStorage('nzry_feijun');
player.logSkill('nzry_binglve');
};
player.line(event.target);
if(event.control=='令一名手牌数大于你的角色交给你一张牌'){
@ -1193,7 +1134,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
};
'step 3'
if(result.bool){
event.target.$give(result.cards.length,player);
event.target.$giveAuto(result.cards,player);
player.gain(result.cards,event.target);
};
},
@ -1389,11 +1330,27 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
"nzry_zhizheng":{
audio:2,
group:["nzry_zhizheng_1","nzry_zhizheng_2","nzry_zhizheng_3"],
group:["nzry_zhizheng_1","nzry_zhizheng_2"],
mod:{
playerEnabled:function(card,player,target){
if(target!=player&&player.isPhaseUsing()&&get.distance(target,player,'attack')>1) return false;
},
},
trigger:{
player:'useCardAfter'
},
filter:function (event,player){
return player.isPhaseUsing();
},
forced:true,
popup:false,
content:function(){
player.storage.nzry_zhizheng++;
},
subSkill:{
"1":{
trigger:{
player:'phaseUseBefore'
player:['phaseUseBefore','phaseUseAfter']
},
forced:true,
popup:false,
@ -1424,34 +1381,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
};
},
},
"3":{
trigger:{
player:'phaseUseAfter'
},
forced:true,
popup:false,
content:function(){
delete player.storage.nzry_zhizheng;
},
},
},
},
"_nzry_zhizheng":{
mod:{
targetEnabled:function(card,player,target){
if(player.storage.nzry_zhizheng>=0&&get.distance(target,player,'attack')>1) return false;
},
},
trigger:{
player:'useCardAfter'
},
filter:function (event,player){
return player.storage.nzry_zhizheng>=0;
},
forced:true,
popup:false,
content:function(){
player.storage.nzry_zhizheng++;
},
},
"nzry_lijun":{
@ -1459,13 +1388,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){
global:'nzry_lijun1',
zhuSkill:true,
},
nzry_lijun2:{},
"nzry_lijun1":{
audio:2,
trigger:{
player:'useCardAfter'
},
filter:function(event,player){
if(event.card.name!='sha') return false;
if(event.card.name!='sha') return false;
if(player.hasSkill('nzry_lijun2')) return false;
if(player.group!='wu') return false;
if(_status.currentPhase!=player) return false;
if(!game.hasPlayer(function(target){
@ -1489,6 +1420,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
'step 1'
if(!result.bool) event.finish();
else{
player.addTempSkill('nzry_lijun2');
var zhu=result.targets[0];
player.logSkill('nzry_lijun1',zhu);
var list=[];
@ -2247,27 +2179,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
viewAs:{name:'tiesuo'},
prompt:'将一张梅花牌当铁锁连环使用',
check:function(card){return 6-get.value(card)},
ai:{
order:7.5,
result:{
target:function(player,target){
if(ui.selected.targets.length) return 0;
if(target.isLinked()) return 1;
return -1;
}
}
}
},
lianhuan4:{
trigger:{player:'useCard'},
filter:function(event){
return event.skill=='lianhuan3'&&event.targets.length==1;
},
forced:true,
popup:false,
content:function(){
player.draw();
}
mod:{
selectTarget:function(card,player,range){
if(card.name=='tiesuo'&&range[1]<3) range[1]=3;
},
},
},
reluanji:{
audio:'luanji',
@ -2306,16 +2224,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
order:10
}
},
group:['reluanji_count','reluanji_reset','reluanji_respond'],
group:['reluanji_count','reluanji_reset','reluanji_respond','reluanji_damage','reluanji_draw'],
subSkill:{
reset:{
trigger:{player:'phaseAfter'},
silent:true,
filter:function(event,player){
return player.storage.reluanji?true:false;
},
content:function(){
delete player.storage.reluanji;
delete player.storage.reluanji2;
}
},
count:{
@ -2327,6 +2243,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
content:function(){
if(!player.storage.reluanji){
player.storage.reluanji=[];
player.storage.reluanji2=trigger.card;
}
for(var i=0;i<trigger.cards.length;i++){
player.storage.reluanji.add(get.suit(trigger.cards[i]));
@ -2337,12 +2254,36 @@ game.import('character',function(lib,game,ui,get,ai,_status){
trigger:{global:'respond'},
silent:true,
filter:function(event){
return event.getParent(2).skill=='reluanji'&&event.player.isDamaged();
return event.getParent(2).skill=='reluanji';
},
content:function(){
trigger.player.draw();
}
}
},
damage:{
trigger:{source:'damageEnd'},
forced:true,
silent:true,
popup:false,
filter:function(event,player){
return player.storage.reluanji2&&event.card==player.storage.reluanji2;
},
content:function(){
delete player.storage.reluanji2;
},
},
draw:{
trigger:{player:'useCardAfter'},
forced:true,
silent:true,
popup:false,
filter:function(event,player){
return player.storage.reluanji2&&event.card==player.storage.reluanji2;
},
content:function(){
player.draw(trigger.targets.length);
},
},
}
},
qimou:{
@ -3030,7 +2971,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
hunzi:{
skillAnimation:true,
audio:2,
derivation:['reyingzi','yinghun'],
derivation:['reyingzi','gzyinghun'],
unique:true,
trigger:{player:'phaseBeginStart'},
filter:function(event,player){
@ -3041,7 +2982,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
content:function(){
player.loseMaxHp();
player.addSkill('reyingzi');
player.addSkill('yinghun');
player.addSkill('gzyinghun');
game.log(player,'获得了技能','#g【英姿】和【英魂】')
player.awakenSkill('hunzi');
player.storage.hunzi=true;
},
@ -3069,6 +3011,16 @@ game.import('character',function(lib,game,ui,get,ai,_status){
audio:2,
forceaudio:true,
enable:'phaseUse',
prompt:function(){
var player=_status.event.player;
var list=game.filterPlayer(function(target){
return target.hasZhuSkill('zhiba',player)&&player.canCompare(target);
});
var str='和'+get.translation(list);
if(list.length>1) str+='中的一人';
str+='进行拼点。若你没赢,其可以获得两张拼点牌。';
return str;
},
filter:function(event,player){
if(player.group!='wu'||player.countCards('h')==0) return false;
return game.hasPlayer(function(target){
@ -4620,7 +4572,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
viewAs:{name:'tiesuo'},
prompt:'将一张梅花牌当铁锁连环使用',
check:function(card){return 4-get.value(card)}
check:function(card){return 4.5-get.value(card)}
},
lianhuan2:{
audio:2,
@ -5098,7 +5050,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
shuangxiong2:{
audio:true,
enable:'phaseUse',
prompt:function(){
var player=_status.event.player;
var str='将一张'+(player.storage.shuangxiong2=='red'?'红':'黑')+'色手牌当做【决斗】使用';
return str;
},
viewAs:{name:'juedou'},
onremove:true,
filterCard:function(card,player){
return get.color(card)!=player.storage.shuangxiong;
},
@ -6214,6 +6172,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){
discard:false,
line:true,
prepare:'give',
prompt:function(){
var player=_status.event.player;
var list=game.filterPlayer(function(target){
return target!=player&&target.hasZhuSkill('huangtian',player);
});
var str='将一张【闪】或【闪电】交给'+get.translation(list);
if(list.length>1) str+='中的一人';
return str;
},
filter:function(event,player){
if(player.group!='qun') return false;
if(player.countCards('h','shan')+player.countCards('h','shandian')==0) return 0;
@ -6280,7 +6247,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
"feichu_equip3_bg":"废",
"feichu_equip4_bg":"废",
"feichu_equip5_bg":"废",
_disableJudge:"判定区",
re_yuanshao:'袁绍',
re_lusu:'鲁肃',
@ -6322,10 +6288,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
"nzry_kuizhu":"溃诛",
"nzry_kuizhu_info":"弃牌阶段结束后你可以选择一项令至多X名角色各摸一张牌或对任意名体力值之和为X的角色造成一点伤害若不少于2名角色你须受到一点伤害。X为你此阶段弃置的牌数",
"nzry_zhizheng":"掣政",
"nzry_zhizheng_info":"锁定技,你的出牌阶段内,攻击范围内不包含你的角色不能成为你使用牌的目标。出牌阶段结束时,若你本阶段内使用的牌数小于这些角色数,你可以弃置其中一名角色一张牌",
"nzry_zhizheng_info":"锁定技,你的出牌阶段内,攻击范围内不包含你的其他角色不能成为你使用牌的目标。出牌阶段结束时,若你本阶段内使用的牌数小于这些角色数,你可以弃置其中一名角色一张牌",
"nzry_lijun1":"立军",
"nzry_lijun":"立军",
"nzry_lijun_info":"主公技,其他吴势力角色于其回合内使用的【杀】结算后,其可以将此【杀】交给你,然后你可以令其摸一张牌",
"nzry_lijun_info":"主公技,其他吴势力角色的回合限一次,其使用的【杀】结算后,可以将此【杀】交给你,然后你可以令其摸一张牌",
"nzry_huaiju":"怀橘",
"nzry_huaiju_info":"锁定技游戏开始时你获得3个“橘”标记。有“橘”的角色受到伤害时防止此伤害然后移去一个“橘”有“橘”的角色摸牌阶段额外摸一张牌",
"_nzry_huaiju":"怀橘",
@ -6386,7 +6352,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
redimeng:'缔盟',
redimeng_info:'出牌阶段限一次你可以弃置X张牌选择两名其他角色X为这两名角色的手牌差你混合他们的手牌然后令其中一名角色获得其中的一张牌并令另一名角色获得其中的一张牌然后重复此流程直到这些牌均被获得为止',
reluanji:'乱击',
reluanji_info:'你可以将两张与你本回合以此法转化的花色均不相同的手牌当【万箭齐发】使用,然后当一名已受伤的角色因响应此牌而打出【闪】时,该角色摸一张牌',
reluanji_info:'你可以将两张与你本回合以此法转化的花色均不相同的手牌当【万箭齐发】使用,然后当一名角色因响应此牌而打出【闪】时,该角色摸一张牌。若你以此法使用的【万箭齐发】未造成伤害则你可以在此牌结算完成后摸X张牌。(X为此牌的目标数)',
xintianxiang:'天香',
xintianxiang2:'天香',
xintianxiang3:'天香',
@ -6549,7 +6515,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
luanji:'乱击',
xueyi:'血裔',
mengjin:'猛进',
xinlianhuan_info:' 你可以将一张♣手牌当【铁索连环】使用,若以此法使用的【铁索连环】仅指定一个目标,你摸一张牌;你可以重铸♣牌',
xinlianhuan_info:' 你可以将一张♣手牌当【铁索连环】使用或重铸。你使用的【铁索连环】可以指定至多3个目标。',
huoji_info:'出牌阶段,你可以将你的任意一张♥或♦手牌当【火攻】使用。',
bazhen_info:'当你没装备防具时,始终视为你装备着【八卦阵】。',
kanpo_info:'你可以将你的任意一张♠或♣手牌当【无懈可击】使用。',

View File

@ -4415,11 +4415,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
check:function(){return 1},
ai:{
effect:{
target:function(card,player,target,current){
if(get.tag(card,'respondSha')&&current<0) return 0.6
}
},
respondSha:true,
skillTagFilter:function(player){
if(!player.storage.fanghun||player.storage.fanghun<0) return false;
@ -4458,12 +4453,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(!player.storage.fanghun||player.storage.fanghun<0) return false;
if(!player.countCards('h','sha')) return false;
},
effect:{
target:function(card,player,target,current){
if(!player.storage.fanghun||player.storage.fanghun<0) return 0;
if(get.tag(card,'respondShan')&&current<0) return 0.6
}
},
order:4,
useful:-1,
value:-1
@ -5424,8 +5413,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
player.storage.jianshu=false;
},
filterTarget:function(card,player,target){
if(target==player) return false;
if(ui.selected.targets.length){
return ui.selected.targets[0].canCompare(target)&&target.distanceTo(ui.selected.targets[0])<=1;
return !ui.selected.targets[0].hasSkillTag('noCompareSource')&&target.countCards('h')
&&!target.hasSkillTag('noCompareTarget')&&target.distanceTo(ui.selected.targets[0])<=1;
}
return true;
},

View File

@ -2855,7 +2855,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
player.storage.xinfu_qiai=true;
event.current=player.next;
"step 1"
event.current.chooseCard('交给'+get.translation(player)+'一张牌','he',true).set('ai',function(card){
event.current.chooseCard('交给'+get.translation(player)+'一张牌','he',true).set('ai',function(card){
var evt=_status.event.getParent();
if(get.attitude(_status.event.player,evt.player)>2){
if(card.name=='jiu') return 120;

View File

@ -83,7 +83,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
xuezong:['male','wu',3,['funan','jiexun']],
old_huaxiong:['male','qun',6,['shiyong']],
"re_yujin":["male","wei",4,["zhenjun"],[]],
re_jikang:["male","wei",3,["new_qingxian","new_juexiang"],[]],
re_yujin:["male","wei",4,["zhenjun"],[]],
},
characterIntro:{
caozhi:'字子建,沛国谯人,三国曹魏著名文学家,建安文学代表人物。魏武帝曹操之子,魏文帝曹丕之弟,生前曾为陈王,去世后谥号“思”,因此又称陈思王。南朝宋文学家谢灵运更有“天下才有一石,曹子建独占八斗”的评价。王士祯尝论汉魏以来二千年间诗家堪称“仙才”者,曹植、李白、苏轼三人耳。',
@ -181,6 +182,226 @@ game.import('character',function(lib,game,ui,get,ai,_status){
wuguotai:['sunjian'],
},
skill:{
"new_qingxian":{
group:["qingxian_draw"],
enable:"phaseUse",
audio:"qingxian",
usable:1,
position:'he',
filterTarget:function (card,player,target){
return target!=player;
},
complexCard:true,
complexSelect:true,
selectTarget:function (){
return ui.selected.cards.length;
},
filterCard:true,
selectCard:function (){
var player=_status.event.player;
return [1,player.hp];
},
check:function (cardx){
var player=_status.event.player;
var number=game.countPlayer(function(target){
if(player==target) return false;
var pe=player.countCards('e',function(card){
return card!=cardx&&ui.selected.cards.contains(card)==false;
});
var te=target.countCards('e');
if(pe>te&&target.isDamaged()&&get.attitude(player,target)>2) return true;
else if(pe==te&&get.attitude(player,target)>2) return true;
else if(pe<te&&get.attitude(player,target)<0) return true;
return false;
});
if(ui.selected.cards.length<number) return 7-get.value(cardx);
else return 0;
},
targetprompt:function (target){
var pe=_status.event.player.countCards('e',function(card){
return ui.selected.cards.contains(card)==false;
});
var te=target.countCards('e');
if(pe>te) return "回复体力";
else if(pe==te) return "摸一张牌";
else if(pe<te) return "失去体力";
},
line:"thunder",
content:function (){
var pe=player.countCards('e');
var te=target.countCards('e');
if(pe>te) target.recover();
else if(pe==te) target.draw();
else if(pe<te) target.loseHp();
},
ai:{
order:10,
result:{
target:function (player,target){
var pe=player.countCards('e',function(card){
return ui.selected.cards.contains(card)==false;
});
var te=target.countCards('e');
if(pe>te&&target.isDamaged()) return 2;
else if(pe==te) return 1;
else if(pe<te) return -2.5;
else return 0;
},
},
},
},
"new_juexiang":{
audio:"qingxian_jilie",
trigger:{
player:"dieBegin",
},
forced:true,
popup:false,
skillAnimation:true,
derivation:["new_canyun"],
content:function (){
"step 0"
player.chooseTarget('【绝响】:是否令一名其他角色获得技能〖残韵〗?',function(card,player,target){
return target!=player;
}).set('ai',function(target){
var att=get.attitude(_status.event.player,target);
if(target.countCards('ej',{suit:'club'})) att=att*2;
return 10+att;
});
"step 1"
var next=game.createEvent('new_juexiang',null,trigger.parent);
next.player=trigger.source;
next.playerx=player;
if(result.bool) next.target=result.targets[0];
next.setContent(lib.skill.new_juexiang.contentx);
},
contentx:function (){
"step 0"
if(player||target)event.playerx.logSkill('new_juexiang');
if(player){
player.discard(player.getCards('e'));
player.loseHp();
}
if(target){
event.playerx.line(target,'thunder');
target.addSkill('new_canyun');
target.discardPlayerCard('是否弃置自己区域内的一张梅花牌,获得技能〖绝响〗?',target,'hej').set('ai',function(card){
if(get.position(card)=='j') return 100+get.value(card);
return 100-get.value(card);
}).set('visible',true).set('filterButton',function(card){
return get.suit(card.link)=='club';
});
}
else event.finish()
"step 1"
if(result.bool) target.addSkill('new_juexiang');
},
},
"new_canyun":{
group:["qingxian_draw"],
complexCard:true,
complexSelect:true,
marktext:"韵",
init:function (player,skill){
if(!player.storage[skill]) player.storage[skill]=[];
},
intro:{
content:function (storage){
var str='';
var str2='<li>出牌阶段限一次你可以弃置至多X张牌并选择等量的其他角色不能选择已经成为过〖残韵〗目标的角色。这些角色中装备区内牌数少于你的回复1点体力等于你的摸一张牌多于你的失去1点体力。若你以此法指定的角色数等于X则你摸一张牌。X为你的体力值';
if(storage.length>0){
for(var i=0;i<storage.length;i++){
str+='、';
str+=get.translation(storage[i]);
};
str=str.slice(1);
str2+=('<br><li>已对'+str+'发动过〖残韵〗');
}
return str2;
},
},
mark:true,
enable:"phaseUse",
usable:1,
check:function (cardx){
var player=_status.event.player;
var number=game.countPlayer(function(target){
if(player==target) return false;
var pe=player.countCards('e',function(card){
return card!=cardx&&ui.selected.cards.contains(card)==false;
});
var te=target.countCards('e');
if(pe>te&&target.isDamaged()&&get.attitude(player,target)>2) return true;
else if(pe<te&&get.attitude(player,target)<0) return true;
return false;
});
if(ui.selected.cards.length<number) return 6-get.value(cardx);
else return 0;
},
filter:function (event,player){
if(!player.storage.new_canyun) player.storage.new_canyun=[];
return game.hasPlayer(function(current){
return current!=player&&!player.storage.new_canyun.contains(current);
});
},
filterTarget:function (card,player,target){
return target!=player&&!player.storage.new_canyun.contains(target);
},
selectTarget:function (){
return ui.selected.cards.length;
},
filterCard:true,
selectCard:function (){
var player=_status.event.player;
return [1,player.hp];
},
targetprompt:function (target){
var pe=_status.event.player.countCards('e',function(card){
return ui.selected.cards.contains(card)==false;
});
var te=target.countCards('e');
if(pe>te) return "回复体力";
else if(pe==te) return "摸一张牌";
else if(pe<te) return "失去体力";
},
line:"thunder",
position:"he",
content:function (){
player.storage.new_canyun.push(target);
var pe=player.countCards('e');
var te=target.countCards('e');
if(pe>te) target.recover();
else if(pe==te) target.draw();
else if(pe<te) target.loseHp();
},
ai:{
order:10,
result:{
target:function (player,target){
var pe=player.countCards('e');
var te=target.countCards('e');
if(pe>te&&target.isDamaged()) return 2;
else if(pe==te) return 1;
else if(pe<te) return -2.5;
else return 0;
},
},
},
},
"qingxian_draw":{
trigger:{
player:["new_qingxianAfter","new_canyunAfter"],
},
forced:true,
popup:false,
silent:false,
filter:function (event,player){
return event.target==event.targets[event.targets.length-1]&&event.targets.length==player.hp;
},
content:function (){
player.draw();
},
},
zhenjun:{
audio:"jieyue",
trigger:{
@ -796,7 +1017,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
var target=result.targets[0];
player.logSkill('qingxian',target);
event.insert(lib.skill.qingxian.content_choose,{target:target,player:player});
}
}
},
@ -880,7 +1100,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
'step 3'
if(event.card&&get.suit(event.card)=='club'){
player.recover();
player.draw();
}
}
},
@ -2168,24 +2388,24 @@ game.import('character',function(lib,game,ui,get,ai,_status){
taoluan:{
enable:'chooseToUse',
filter:function(event,player){
return !player.hasSkill('taoluan3')&&player.countCards('he')>0;
return !player.hasSkill('taoluan3')&&player.countCards('he')>0&&!_status.dying.length;
},
init:function(player){
player.storage.taoluan=[];
},
chooseButton:{
dialog:function(event,player){
var list=['sha','tao','jiu','taoyuan','wugu','juedou','huogong','jiedao','tiesuo','guohe','shunshou','wuzhong','wanjian','nanman'];
for(var i=0;i<player.storage.taoluan.length;i++){
list.remove(player.storage.taoluan[i]);
}
for(var i=0;i<list.length;i++){
if(i<3){
list[i]=['基本','',list[i]];
}
else{
list[i]=['锦囊','',list[i]];
}
var list=[];
for(var i=0;i<lib.inpile.length;i++){
var name=lib.inpile[i];
if(player.storage.taoluan.contains(name)) continue;
if(name=='sha'){
list.push(['基本','','sha']);
list.push(['基本','','sha','fire']);
list.push(['基本','','sha','thunder']);
}
else if(get.type(name)=='trick') list.push(['锦囊','',name]);
else if(get.type(name)=='basic') list.push(['基本','',name]);
}
if(list.length==0){
return ui.create.dialog('滔乱已无可用牌');
@ -2252,20 +2472,21 @@ game.import('character',function(lib,game,ui,get,ai,_status){
backup:function(links,player){
return {
filterCard:true,
audio:'taoluan',
selectCard:1,
popname:true,
check:function(card){
return 6-get.value(card);
},
position:'he',
viewAs:{name:links[0][2]},
viewAs:{name:links[0][2],nature:links[0][3]},
onuse:function(result,player){
player.storage.taoluan.add(result.card.name);
},
}
},
prompt:function(links,player){
return '选择'+get.translation(links[0][2])+'的目标';
return '选择'+(get.translation(links[0][3])||'')+get.translation(links[0][2])+'的目标';
}
},
ai:{
@ -2341,9 +2562,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
enable:'chooseToRespond',
filter:function(event,player){
if(event.parent.name!='sha') return false;
return !player.storage.taoluan.contains('shan')&&!player.hasSkill('taoluan3');
return !player.storage.taoluan.contains('shan')&&!player.hasSkill('taoluan3')&&!_status.dying.length;
},
onuse:function(result,player){
onrespond:function(result,player){
player.storage.taoluan.add('shan');
},
filterCard:true,
@ -2387,7 +2608,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
init:function(player){
player.storage.jishe=0;
},
usable:20,
usable:200,
content:function(){
player.draw();
player.storage.jishe++;
@ -4108,6 +4329,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
xinzhongyong:{
trigger:{player:'shaAfter'},
audio:'zhongyong',
direct:true,
filter:function(event,player){
return get.itemtype(event.cards)=='cards'||(event.responded&&get.itemtype(event.responded.cards)=='cards');
@ -4127,18 +4349,18 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(result.bool){
event.target=result.targets[0];
if(!event.cards2){
player.logSkill('zhongyong',event.target);
player.logSkill('xinzhongyong',event.target);
event.sha=false;
event.target.gain(event.cards1,'gain2');
if(get.color(event.cards1)=='red'){
event.sha=true;
for(var i=0;i<event.cards1.length;i++){
if(get.color(event.cards1[i])=='red') event.sha=true;break;
}
event.goto(3);
}
else{
var sha=false;
if(event.cards1.length==1&&get.color(event.cards1[0])=='red'){
sha=true;
for(var i=0;i<event.cards1.length;i++){
if(get.color(event.cards1[i])=='red') sha=true;break;
}
player.chooseControl('杀','闪',function(event,player){
if(_status.event.choosesha) return '杀';
@ -4150,19 +4372,19 @@ game.import('character',function(lib,game,ui,get,ai,_status){
event.finish();
}
"step 2"
player.logSkill('zhongyong',event.target);
player.logSkill('xinzhongyong',event.target);
event.sha=false;
if(result.control=='杀'){
event.target.gain(event.cards1,'gain2');
if(get.color(event.cards1)=='red'){
event.sha=true;
}
for(var i=0;i<event.cards1.length;i++){
if(get.color(event.cards1[i])=='red') event.sha=true;break;
}
}
else{
event.target.gain(event.cards2,'gain2');
if(get.color(event.cards2)=='red'){
event.sha=true;
}
for(var i=0;i<event.cards2.length;i++){
if(get.color(event.cards2[i])=='red') event.sha=true;break;
}
}
"step 3"
if(event.sha){
@ -8739,7 +8961,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
chengxiang:{
trigger:{player:'damageEnd'},
direct:true,
//direct:true,
frequent:true,
audio:2,
content:function(){
"step 0"
@ -8774,7 +8997,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
});
"step 2"
if(result.bool&&result.links){
player.logSkill('chengxiang');
//player.logSkill('chengxiang');
var cards2=[];
for(var i=0;i<result.links.length;i++){
cards2.push(result.links[i]);
@ -8867,8 +9090,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
player.showCards(result.cards);
var type=get.type(result.cards[0],'trick');
if(trigger.source){
trigger.source.chooseToDiscard('弃置一张'+get.translation(type)+'牌或令'+get.translation(player)+'回复一点体力',function(card){
return get.type(card,'trick')==_status.event.type;
trigger.source.chooseToDiscard('弃置一张不为'+get.translation(type)+'牌的牌或令'+get.translation(player)+'回复一点体力',function(card){
return get.type(card,'trick')!=_status.event.type;
}).set('ai',function(card){
if(get.recoverEffect(_status.event.getParent().player,_status.event.player,_status.event.player)<0){
return 7-get.value(card);
@ -9494,8 +9717,17 @@ game.import('character',function(lib,game,ui,get,ai,_status){
jikang:'嵇康',
qinmi:'秦宓',
caiyong:'蔡邕',
"re_yujin":"于禁",
"re_yujin":"于禁",
"re_jikang":"新嵇康",
"new_qingxian":"清弦",
"new_qingxian_info":"出牌阶段限一次你可以弃置至多X张牌并选择等量的其他角色。这些角色中装备区内牌数少于你的回复1点体力等于你的摸一张牌多于你的失去1点体力。若你以此法指定的角色数等于X则你摸一张牌。X为你的体力值",
"new_juexiang":"绝响",
"new_juexiang_info":"锁定技当你死亡后杀死你的角色弃置装备区内的所有牌并失去1点体力。然后你可以令一名其他角色获得技能〖残韵〗。若该角色区域内有梅花牌则其可以弃置其中的一张然后其获得技能〖绝响〗。",
"new_canyun":"残韵",
"new_canyun_info":"出牌阶段限一次你可以弃置至多X张牌并选择等量的其他角色不能选择已经成为过〖残韵〗目标的角色。这些角色中装备区内牌数少于你的回复1点体力等于你的摸一张牌多于你的失去1点体力。若你以此法指定的角色数等于X则你摸一张牌。X为你的体力值",
"qingxian_draw":"清弦",
"qingxian_draw_info":"",
zhenjun:"镇军",
"zhenjun_info":"准备阶段你可以弃置一名手牌数多于体力值的角色的X张牌X为其手牌数和体力值之差然后选择一项1.你弃置等同于其中非装备牌数量的牌2.其摸等量的牌。",
fenli:'奋励',
@ -9513,7 +9745,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
tongbo:'通博',
tongbo_info:'摸牌阶段摸牌后,你可以用任意张牌替换等量的“书”,然后若你的“书”包含四种花色,你将所有“书”交给任意名其他角色',
qingxian:'清弦',
qingxian_info:'当你受到伤害/回复体力后,你可以令伤害来源/一名其他角色执行一项失去1点体力随机使用一张装备牌回复1点体力弃置一张装备牌。若其以此法使用或弃置的牌为梅花回复1点体力',
qingxian_info:'当你受到伤害/回复体力后,你可以令伤害来源/一名其他角色执行一项失去1点体力随机使用一张装备牌回复1点体力弃置一张装备牌。若其以此法使用或弃置的牌为梅花摸一张牌。',
juexiang:'绝响',
juexiang_info:'当你死亡后,你可以令一名角色随机获得“清弦残谱”其中一个技能,然后直到其下回合开始,其不能被选择为其他角色使用梅花牌的目标',
juexiang_ji:'激弦',