v1.9.94.2

This commit is contained in:
Spmario233 2019-10-26 20:40:13 +08:00 committed by GitHub
parent 0d43a0ce09
commit 5adbd8a8fe
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 358 additions and 241 deletions

View File

@ -9,6 +9,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
key_lucia:['female','qun','1/2',['lucia_duqu','lucia_zhenren']],
key_kyousuke:['male','qun',4,['nk_shekong','key_huanjie']],
key_yuri:['female','qun',3,['yuri_xingdong','key_huanjie','yuri_wangxi'],['zhu']],
key_haruko:['female','qun',4,['haruko_haofang','haruko_zhuishi']],
// diy_caocao:['male','wei',4,['xicai','diyjianxiong','hujia']],
// diy_hanlong:['male','wei',4,['siji','ciqiu']],
diy_feishi:['male','shu',3,['shuaiyan','moshou']],
@ -85,7 +86,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
diy:{
diy_tieba:["diy_wenyang","ns_zuoci","ns_lvzhi","ns_wangyun","ns_nanhua","ns_nanhua_left","ns_nanhua_right","ns_huamulan","ns_huangzu","ns_jinke","ns_yanliang","ns_wenchou","ns_caocao","ns_caocaosp","ns_zhugeliang","ns_wangyue","ns_yuji","ns_xinxianying","ns_guanlu","ns_simazhao","ns_sunjian","ns_duangui","ns_zhangbao","ns_masu","ns_zhangxiu","ns_lvmeng","ns_shenpei","ns_yujisp","ns_yangyi","ns_liuzhang","ns_xinnanhua"],
diy_default:["diy_feishi","diy_liuyan","diy_yuji","diy_caiwenji","diy_lukang","diy_zhenji","diy_liufu","diy_xizhenxihong","diy_liuzan","diy_zaozhirenjun","diy_yangyi","diy_tianyu"],
diy_key:["key_lucia","key_kyousuke","key_yuri"],
diy_key:["key_lucia","key_kyousuke","key_yuri","key_haruko"],
},
},
characterIntro:{
@ -99,9 +100,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
diy_tianyu:'字国让,渔阳雍奴(今天津市武清区东北)人。三国时期曹魏将领。初从刘备,因母亲年老回乡,后跟随公孙瓒,公孙瓒败亡,劝说鲜于辅加入曹操。曹操攻略河北时,田豫正式得到曹操任用,历任颖阴、郎陵令、弋阳太守等。',
},
characterTitle:{
key_lucia:'Rewrite',
key_lucia:'#bRewrite',
key_kyousuke:'#bLittle Busters!',
key_yuri:'#rAngel Beats!',
key_haruko:'#bAIR',
diy_wenyang:'#g最粗的梦想XD',
ns_zuoci:'#bskystarwuwei',
ns_lvzhi:'#bskystarwuwei',
@ -137,14 +139,51 @@ game.import('character',function(lib,game,ui,get,ai,_status){
yuji:['zuoci']
},
skill:{
haruko_haofang:{
mod:{
cardEnabled:function(card,player){
if(_status.event.skill==undefined&&get.type(card)=='delay') return false;
},
cardRespondable:function(card,player){
if(_status.event.skill==undefined&&get.type(card)=='delay') return false;
},
cardSavable:function(card,player){
if(_status.event.skill==undefined&&get.type(card)=='delay') return false;
},
},
audio:2,
enable:'chooseToUse',
filterCard:{type:'delay'},
viewAs:{name:'wuzhong'},
check:function(){return 1},
viewAsFilter:function(haruko){
return haruko.countCards('h',{type:'delay'})>0;
},
},
haruko_zhuishi:{
trigger:{global:'phaseJudgeBegin'},
filter:function(misuzu){
return misuzu.player.countCards('j')>0;
},
check:function(event,player){
return player.hp>1&&get.attitude(player,event.player)>1;
},
logTarget:'player',
content:function(){
'step 0'
player.loseHp();
'step 1'
player.gain(trigger.player.getCards('j'),trigger.player,'give');
},
},
yuri_xingdong:{
subSkill:{
mark:{
mark:true,
marktext:'令',
intro:{
content:'跳过下个回合的判定阶段和摸牌阶段',
},
mark:true,
marktext:'令',
intro:{
content:'跳过下个回合的判定阶段和摸牌阶段',
},
},
},
enable:'phaseUse',
@ -241,172 +280,172 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
},
nk_shekong:{
enable:'phaseUse',
usable:1,
filter:function(event,player){
return player.countCards('h')>0;
},
filterCard:true,
selectCard:function(){
if(ui.selected.targets.length) return [1,ui.selected.targets[0].countCards('he')];
return [1,Infinity];
},
filterTarget:function(event,player,target){
return target!=player&&target.countCards('he')>=Math.max(1,ui.selected.cards.length);
},
check:function(card){
if(!game.hasPlayer(function(current){
enable:'phaseUse',
usable:1,
filter:function(event,player){
return player.countCards('h')>0;
},
filterCard:true,
selectCard:function(){
if(ui.selected.targets.length) return [1,ui.selected.targets[0].countCards('he')];
return [1,Infinity];
},
filterTarget:function(event,player,target){
return target!=player&&target.countCards('he')>=Math.max(1,ui.selected.cards.length);
},
check:function(card){
if(!game.hasPlayer(function(current){
return current!=_status.event.player&&get.attitude(_status.event.player,current)<0&&current.countCards('he')>ui.selected.cards.length;
})) return 0;
return 6-get.value(card);
},
content:function(){
'step 0'
event.cardsx=cards.slice(0);
var num=get.cnNumber(cards.length);
var trans=get.translation(player);
var prompt=('弃置'+num+'张牌,然后'+trans+'摸一张牌');
if(cards.length>1) prompt+=(';或弃置一张牌,然后'+trans+'摸'+num+'张牌');
var next=target.chooseToDiscard(prompt,'he',true);
next.numx=cards.length;
next.selectCard=function(){
if(ui.selected.cards.length>1) return _status.event.numx;
return [1,_status.event.numx];
};
next.complexCard=true;
next.ai=function(card){
if(ui.selected.cards.length==0||(_status.event.player.countCards('he',function(cardxq){
return get.value(cardxq)<7;
})>=_status.event.numx)) return 7-get.value(card);
return -1;
};
'step 1'
if(result.bool){
if(result.cards.length==cards.length) player.draw();
else player.draw(cards.length);
event.cardsx.addArray(result.cards);
for(var i=0;i<event.cardsx.length;i++){
if(get.position(event.cardsx[i])!='d') event.cardsx.splice(i--,1);
}
}
else event.finish();
'step 2'
if(event.cardsx.length){
player.chooseButton(['请按顺序将卡牌置于牌堆顶(先选择的在上)',event.cardsx],true,event.cardsx.length);
}
else event.finish();
'step 3'
if(result.bool){
var cardsx=result.links;
while(cardsx.length){
var card=cardsx.pop();
card.fix();
ui.cardPile.insertBefore(card,ui.cardPile.firstChild);
}
}
},
ai:{
order:10,
result:{
target:-1,
},
},
},
key_huanjie:{
trigger:{player:['drawBegin','judgeBegin']},
forced:true,
silent:true,
popup:false,
priority:-1,
filter:function(event){
return event.name=='draw'||!event.directresult;
},
content:function(){
if(trigger.name=='draw'){
if(trigger.bottom) trigger.bottom=false;
else trigger.bottom=true;
}
else trigger.directresult=get.bottomCards()[0];
},
},
lucia_duqu:{
mod:{
cardSavable:function(card,player){
if(card.name=='du'&&!player.hasSkill('lucia_duqu_terra')) return true;
},
},
trigger:{
player:['damage','loseHpBefore','useCardBefore'],
source:'damage',
},
forced:true,
charlotte:true,
filter:function(event,player,onrewrite){
if(onrewrite=='loseHpBefore'){
return event.type=='du';
}
if(onrewrite=='useCardBefore'){
return event.card.name=='du'&&event.getParent().type=='dying';
}
return event.source!=undefined&&event.source!=event.player;
},
content:function(){
var onrewrite=event.triggername;
if(onrewrite=='loseHpBefore'){
trigger.cancel();
player.recover(trigger.num);
}
else if(onrewrite=='useCardBefore'){
player.addTempSkill('lucia_duqu_terra');
}
else{
var another=trigger[trigger.source==player?'player':'source'];
player.line(another,{color:[220, 90, 139]});
var card=game.createCard('du');
player.$gain2(card);
player.gain(card);
another.gain(game.createCard('du'),'gain2');
}
},
ai:{usedu:true,save:true},
subSkill:{terra:{sub:true}}
},
lucia_zhenren:{
trigger:{global:'phaseEnd'},
forced:true,
charlotte:true,
filter:function(event,player){
return player.countCards('e')>0;
},
content:function(){
'step 0'
var es=player.getCards('e');
event.count=es.length;
player.discard(es);
'step 1'
event.count--;
if(game.hasPlayer(function(current){
return current.countDiscardableCards(player,'ej')>0;
})){
player.chooseTarget('请选择一名角色,弃置其装备区或判定区内的一张牌。',true,function(card,player,target){
return target.countDiscardableCards(player,'ej')>0;
}).ai=function(target){
var att=get.attitude(_status.event.player,target);
if(target.countCards('j')&&att>0) return att*1.5;
return -att;
};
}
else event.finish();
'step 2'
if(result.bool&&result.targets&&result.targets.length){
var target=result.targets[0];
player.line(target,{color:[220, 90, 139]});
player.discardPlayerCard(target,'ej',true);
if(event.count) event.goto(1);
}
},
},
ns_chuanshu:{
return 6-get.value(card);
},
content:function(){
'step 0'
event.cardsx=cards.slice(0);
var num=get.cnNumber(cards.length);
var trans=get.translation(player);
var prompt=('弃置'+num+'张牌,然后'+trans+'摸一张牌');
if(cards.length>1) prompt+=(';或弃置一张牌,然后'+trans+'摸'+num+'张牌');
var next=target.chooseToDiscard(prompt,'he',true);
next.numx=cards.length;
next.selectCard=function(){
if(ui.selected.cards.length>1) return _status.event.numx;
return [1,_status.event.numx];
};
next.complexCard=true;
next.ai=function(card){
if(ui.selected.cards.length==0||(_status.event.player.countCards('he',function(cardxq){
return get.value(cardxq)<7;
})>=_status.event.numx)) return 7-get.value(card);
return -1;
};
'step 1'
if(result.bool){
if(result.cards.length==cards.length) player.draw();
else player.draw(cards.length);
event.cardsx.addArray(result.cards);
for(var i=0;i<event.cardsx.length;i++){
if(get.position(event.cardsx[i])!='d') event.cardsx.splice(i--,1);
}
}
else event.finish();
'step 2'
if(event.cardsx.length){
player.chooseButton(['请按顺序将卡牌置于牌堆顶(先选择的在上)',event.cardsx],true,event.cardsx.length);
}
else event.finish();
'step 3'
if(result.bool){
var cardsx=result.links;
while(cardsx.length){
var card=cardsx.pop();
card.fix();
ui.cardPile.insertBefore(card,ui.cardPile.firstChild);
}
}
},
ai:{
order:10,
result:{
target:-1,
},
},
},
key_huanjie:{
trigger:{player:['drawBegin','judgeBegin']},
forced:true,
silent:true,
popup:false,
priority:-1,
filter:function(event){
return event.name=='draw'||!event.directresult;
},
content:function(){
if(trigger.name=='draw'){
if(trigger.bottom) trigger.bottom=false;
else trigger.bottom=true;
}
else trigger.directresult=get.bottomCards()[0];
},
},
lucia_duqu:{
mod:{
cardSavable:function(card,player){
if(card.name=='du'&&!player.hasSkill('lucia_duqu_terra')) return true;
},
},
trigger:{
player:['damage','loseHpBefore','useCardBefore'],
source:'damage',
},
forced:true,
charlotte:true,
filter:function(event,player,onrewrite){
if(onrewrite=='loseHpBefore'){
return event.type=='du';
}
if(onrewrite=='useCardBefore'){
return event.card.name=='du'&&event.getParent().type=='dying';
}
return event.source!=undefined&&event.source!=event.player;
},
content:function(){
var onrewrite=event.triggername;
if(onrewrite=='loseHpBefore'){
trigger.cancel();
player.recover(trigger.num);
}
else if(onrewrite=='useCardBefore'){
player.addTempSkill('lucia_duqu_terra');
}
else{
var another=trigger[trigger.source==player?'player':'source'];
player.line(another,{color:[220, 90, 139]});
var card=game.createCard('du');
player.$gain2(card);
player.gain(card);
another.gain(game.createCard('du'),'gain2');
}
},
ai:{usedu:true,save:true},
subSkill:{terra:{sub:true}}
},
lucia_zhenren:{
trigger:{global:'phaseEnd'},
forced:true,
charlotte:true,
filter:function(event,player){
return player.countCards('e')>0;
},
content:function(){
'step 0'
var es=player.getCards('e');
event.count=es.length;
player.discard(es);
'step 1'
event.count--;
if(game.hasPlayer(function(current){
return current.countDiscardableCards(player,'ej')>0;
})){
player.chooseTarget('请选择一名角色,弃置其装备区或判定区内的一张牌。',true,function(card,player,target){
return target.countDiscardableCards(player,'ej')>0;
}).ai=function(target){
var att=get.attitude(_status.event.player,target);
if(target.countCards('j')&&att>0) return att*1.5;
return -att;
};
}
else event.finish();
'step 2'
if(result.bool&&result.targets&&result.targets.length){
var target=result.targets[0];
player.line(target,{color:[220, 90, 139]});
player.discardPlayerCard(target,'ej',true);
if(event.count) event.goto(1);
}
},
},
ns_chuanshu:{
audio:["xingshuai",2],
trigger:{
global:"dying",
@ -423,8 +462,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
logTarget:"player",
content:function (){
'step 0'
// player.logSkill('ns_chuanshu',trigger.player);
'step 0'
// player.logSkill('ns_chuanshu',trigger.player);
trigger.player.chooseControl('releiji','guidao').set('prompt',''+get.translation(trigger.player)+'获得一项技能');
goon=true;
@ -432,14 +471,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
event.finish();
}
'step 1'
trigger.player.addSkillLog(result.control);
trigger.player.recover(1-trigger.player.hp);
trigger.player.draw(2);
trigger.player.storage.ns_chuanshu2=player;
trigger.player.addSkill('ns_chuanshu2');
//game.broadcastAll()+trigger.player.node.avatar.setBackgroundImage('extension/群英会/ns_zhangjiao.jpg');
//player.removeSkill('ns_chuanshu');
player.awakenSkill('ns_chuanshu');
trigger.player.addSkillLog(result.control);
trigger.player.recover(1-trigger.player.hp);
trigger.player.draw(2);
trigger.player.storage.ns_chuanshu2=player;
trigger.player.addSkill('ns_chuanshu2');
//game.broadcastAll()+trigger.player.node.avatar.setBackgroundImage('extension/群英会/ns_zhangjiao.jpg');
//player.removeSkill('ns_chuanshu');
player.awakenSkill('ns_chuanshu');
},
},
ns_xiandao1:{
@ -457,15 +496,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){
//filter:function (event,player){
// return player.isAlive();
//},
content:function (){
content:function (){
var n=[1,2].randomGet();
if(n==1){
player.addTempSkill("releiji",{player:"phaseUseBegin"});
player.markSkill("releiji",{player:"phaseUseBegin"});
player.markSkill("releiji",{player:"phaseUseBegin"});
};
if(n==2){
player.addTempSkill("guidao",{player:"phaseUseBegin"});
player.markSkill("guidao",{player:"phaseUseBegin"});
player.markSkill("guidao",{player:"phaseUseBegin"});
};
},
},
@ -483,7 +522,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(!event.nature) return false;
return true;
},
content:function (){
content:function (){
trigger.cancel();
//event.finish();
},
@ -516,7 +555,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
'step 0'
game.delayx();
'step 1'
var target=player.storage.ns_chuanshu2;
var target=player.storage.ns_chuanshu2;
player.line(target,'green');
target.draw();
game.delay();
@ -535,11 +574,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return player.storage.ns_chuanshu2&&player.storage.ns_chuanshu2.isIn();
},
content:function (){
'step 0'
'step 0'
game.delayx();
'step 1'
var target=player.storage.ns_chuanshu2;
player.line(target,'green');
var target=player.storage.ns_chuanshu2;
player.line(target,'green');
//target.addSkill('ns_chuanshu');
target.restoreSkill('ns_chuanshu');
target.update();
@ -562,16 +601,16 @@ game.import('character',function(lib,game,ui,get,ai,_status){
"step 0"
event.cards=get.cards(2);
player.showCards(event.cards);
"step 1"
if(get.color(event.cards[0])=='red'&&get.color(event.cards[1])=='red'){
"step 1"
if(get.color(event.cards[0])=='red'&&get.color(event.cards[1])=='red'){
target.damage('fire');
}
if(get.color(event.cards[0])!=get.color(event.cards[1])){
player.discardPlayerCard(target,"he",true);
}
if(get.color(event.cards[0])=='black'&&get.color(event.cards[1])=='black'){
if(get.color(event.cards[0])=='black'&&get.color(event.cards[1])=='black'){
target.damage('thunder');
}
}
"step 2"
if(event.cards.length){
player.gain(event.cards,'gain2');
@ -3646,10 +3685,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
var cards=player.storage.liangji_1;
if(cards){
player.gain(cards,'gain2');
}
}
player.storage.liangji_1=0;
'step 1'
if(player.sex=='male')player.addTempSkill('wushuang');
if(player.sex=='male')player.addTempSkill('wushuang');
if(player.sex=='female')player.addTempSkill('lijian');
player.removeSkill('liangji_1');
},
@ -3729,12 +3768,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
}
"step 2"
trigger.cancel();
trigger.cancel();
},
sub:true,
},
},
ai:{
ai:{
effect:{
target:function (card,player,target){
if(get.tag(card,'damage')){
@ -3765,7 +3804,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
var cards=player.storage.jugong;
if(cards){
player.gain(cards,'gain2');
}
}
player.storage.jugong=[];
'step 2'
trigger.cancel();
@ -5087,22 +5126,27 @@ game.import('character',function(lib,game,ui,get,ai,_status){
ns_xinnanhua:'南华老仙',
key_lucia:'此花露西娅',
key_kyousuke:'棗恭介',
key_yuri:'仲村ゆり',
lucia_duqu:'毒躯',
lucia_duqu_info:'锁定技,①当你对其他角色造成伤害或受到其他角色的伤害时,你和对方各获得一张花色点数随机的【毒】。<br>②当你因【毒】失去体力时,你改为回复等量的体力。<br>③当你处于濒死状态时,你可以使用一张【毒】(每回合限一次)。',
lucia_zhenren:'振刃',
lucia_zhenren_info:'锁定技每个结束阶段若你的装备区内有牌则你弃置之。然后你依次弃置场上的X张牌。X为你以此法弃置的牌数',
nk_shekong:'设控',
nk_shekong_info:'出牌阶段限一次你可以弃置任意张手牌并选择一名其他角色不能超过该角色的牌数然后令其选择一项弃置一张牌并令你摸X张牌或弃置X张牌并令你摸一张牌。然后你将你与其弃置的且位于弃牌堆中的牌以任意顺序置于牌堆顶。',
key_huanjie:'幻界',
key_huanjie_info:'锁定技,当你进行判定或摸牌时,你改为从牌堆的另一端获取相应的牌。',
yuri_xingdong:'行动',
yuri_xingdong_info:'出牌阶段限一次,你可以将一张【杀】或普通锦囊牌交给一名其他角色,然后该角色选择一项:对除你以外的角色使用此牌并在此牌结算完成后和你各摸一张牌;或跳过下回合的判定阶段和摸牌阶段。',
yuri_wangxi:'忘隙',
yuri_wangxi_info:'主公技限定技当有角色因你发动的【行动】而死亡后若其身份不为【明忠】则其可以将身份改为忠臣并重新加入游戏然后将势力改为与你相同将体力值回复至2点并摸一张牌。',
ns_chuanshu:'传术',
key_lucia:'此花露西娅',
key_kyousuke:'棗恭介',
key_yuri:'仲村ゆり',
key_haruko:'神尾晴子',
lucia_duqu:'毒躯',
lucia_duqu_info:'锁定技,①当你对其他角色造成伤害或受到其他角色的伤害时,你和对方各获得一张花色点数随机的【毒】。<br>②当你因【毒】失去体力时,你改为回复等量的体力。<br>③当你处于濒死状态时,你可以使用一张【毒】(每回合限一次)。',
lucia_zhenren:'振刃',
lucia_zhenren_info:'锁定技每个结束阶段若你的装备区内有牌则你弃置之。然后你依次弃置场上的X张牌。X为你以此法弃置的牌数',
nk_shekong:'设控',
nk_shekong_info:'出牌阶段限一次你可以弃置任意张手牌并选择一名其他角色不能超过该角色的牌数然后令其选择一项弃置一张牌并令你摸X张牌或弃置X张牌并令你摸一张牌。然后你将你与其弃置的且位于弃牌堆中的牌以任意顺序置于牌堆顶。',
key_huanjie:'幻界',
key_huanjie_info:'锁定技,当你进行判定或摸牌时,你改为从牌堆的另一端获取相应的牌。',
yuri_xingdong:'行动',
yuri_xingdong_info:'出牌阶段限一次,你可以将一张【杀】或普通锦囊牌交给一名其他角色,然后该角色选择一项:对除你以外的角色使用此牌并在此牌结算完成后和你各摸一张牌;或跳过下回合的判定阶段和摸牌阶段。',
yuri_wangxi:'忘隙',
yuri_wangxi_info:'主公技限定技当有角色因你发动的【行动】而死亡后若其身份不为【明忠】则其可以将身份改为忠臣并重新加入游戏然后将势力改为与你相同将体力值回复至2点并摸一张牌。',
haruko_haofang:'豪放',
haruko_haofang_info:'锁定技,你不能使用非转化的延时锦囊牌。你可以将一张延时锦囊牌当做【无中生有】使用。',
haruko_zhuishi:'追逝',
haruko_zhuishi_info:'一名角色的判定阶段开始时若其判定区内有牌则你可以失去1点体力然后获得其判定区内的所有牌。',
ns_chuanshu:'传术',
ns_chuanshu_info:'<span class=yellowtext>限定技</span> 当一名其他角色进入濒死状态时你可以令其选择获得技能【雷击】或【鬼道】其回复体力至1并摸两张牌。当该被【传术】的角色造成或受到一次伤害后你摸一张牌。其阵亡后你重置技能【传术】',
ns_xiandao1:'仙道',
ns_xiandao1_info:'<font color=#f00>锁定技</font> 游戏开始和回合结束阶段,你随机获得技能【雷击】或【鬼道】,直到下个出牌阶段开始',

View File

@ -153,7 +153,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
var cards=target.getCards(range[i]);
if(cards.length){
var card=cards.randomGet();
player.gain(card,target,'giveAuto');
player.gain(card,target,'giveAuto','bySelf');
break;
}
}

View File

@ -429,6 +429,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
filter:function (event,player){
if(event.player.countCards('h')<player.countCards('h')) return false;
if(event.card.name=='sha'||event.card.name=='juedou') return true;
return false;
},
content:function (){
trigger.getParent().excluded.add(player);
@ -2288,9 +2289,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return event.skill=='reluanji';
},
content:function(){
player.storage.reluanji2=trigger.card;
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]));
@ -2329,6 +2330,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
content:function(){
player.draw(trigger.targets.length);
delete player.storage.reluanji2;
},
},
}
@ -6118,28 +6120,28 @@ game.import('character',function(lib,game,ui,get,ai,_status){
fenji:{
audio:2,
trigger:{
global:"loseAfter",
global:["gainAfter","discardAfter"],
},
filter:function (event){
if(_status.currentPhase!=event.player){
if(event.getParent(2).name=='discardPlayerCard'||event.getParent().name=='gainMultiple'||event.getParent().name=='gain'||event.getParent().name=='gainPlayerCard'){
for(var i=0;i<event.cards.length;i++){
if(event.cards[i].original=='h') return true;
}
}
var player=event[event.name=='gain'?'source':'player'];
if(!player||_status.currentPhase==player||player.isDead()) return false;
if(event[event.name=='gain'?'bySelf':'notBySelf']!=true) return false;
for(var i=0;i<event.cards.length;i++){
if(event.cards[i].original=='h') return true;
}
return false;
},
check:function(event,player){
return get.attitude(player,event.player)>2;
return get.attitude(player,event[event.name=='gain'?'source':'player'])>2;
},
logTarget:function(event){
return event[event.name=='gain'?'source':'player'];
},
logTarget:'player',
content:function(){
"step 0"
player.line(trigger.player,'green');
player.loseHp();
"step 1"
trigger.player.draw(2);
trigger[trigger.name=='gain'?'source':'player'].draw(2);
},
},
leiji:{

View File

@ -1086,7 +1086,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
weicheng:{
audio:2,
trigger:{global:'gainEnd'},
forced:true,
//forced:true,
frequent:true,
filter:function(event,player){
if(event.source==player&&event.player!=player&&player.hp>player.countCards('h')){
@ -4216,7 +4216,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
audio:'fengshi',
trigger:{player:'useCardToPlayered'},
filter:function(event,player){
return event.target.countCards('e');
return event.card.name=='sha'&&event.target.countCards('e');
},
logTarget:'target',
check:function(event,player){
@ -10398,6 +10398,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
moukui:{
trigger:{player:'useCardToPlayered'},
direct:true,
filter:function(event,player){
return event.card.name=='sha';
},
audio:2,
content:function(){
"step 0"

View File

@ -162,7 +162,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
else{
var card=target.getCards('hej').randomGet();
player.gain(card,target,'giveAuto');
player.gain(card,target,'giveAuto','bySelf');
}
},
ai:{
@ -274,7 +274,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
"step 1"
if(result.index==0){
var card=target.getCards('hej').randomGet();
player.gain(card,target,'giveAuto');
player.gain(card,target,'giveAuto','bySelf');
target.addTempSkill('tanbei_effect2','phaseAfter');
}
else{
@ -1262,7 +1262,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(card1) list.push(card1);
if(card2) list.push(card2);
if(list.length>0){
player.gain(list,trigger.player,'giveAuto');
player.gain(list,trigger.player,'giveAuto','bySelf');
}
game.delay();
},
@ -2866,7 +2866,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
frequent:true,
filter:function (event,player){
if(player!=_status.currentPhase) return false;
if(event.getParent().triggeredTargets>1) return false;
if(event.getParent().triggeredTargets3.length>1) return false;
if(get.type(event.card)=='equip'&&get.subtype(event.card)!='equip1') return false;
if(event.targets.contains(player)) return true;
return false;
@ -3784,7 +3784,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
frequent:true,
filter:function (event,player){
if(get.type(event.card)=='equip') return false;
if(event.getParent().triggeredTargets>1) return false;
if(event.getParent().triggeredTargets3>1) return false;
return event.targets.length>0&&!player.countCards('h',{type:'basic',});
},
content:function (){

View File

@ -1967,7 +1967,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
qingxian:{
audio:2,
group:['qingxian_jilie','qingxian_rouhe'],
group:['qingxian_jilie','qingxian_rouhe','qingxian_dying'],
ai:{
threaten:0.8,
maixie:true,
@ -1982,12 +1982,51 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
},
subSkill:{
dying:{
audio:'qingxian',
trigger:{global:'dyingAfter'},
filter:function(event,player){
return player.storage.qingxian&&player.storage.qingxian>0&&!_status.dying.length;
},
direct:true,
content:function(){
'step 0'
player.storage.qingxian--;
player.chooseTarget(get.prompt('qingxian'),function(card,player,target){
return target!=player;
}).set('ai',function(target){
var att=get.attitude(_status.event.player,target);
if(target.isHealthy()&&att>0) return 0;
if(target.hp==1&&att!=0){
if(att>0) return 9;
else return 10;
}
else{
return Math.sqrt(Math.abs(att));
}
}).set('prompt2','当你回复体力后你可以令一名其他角色执行一项失去1点体力随机使用一张装备牌回复1点体力弃置一张装备牌。若其以此法使用或弃置的牌为梅花你回复1点体力');
'step 1'
if(result.bool){
var target=result.targets[0];
player.logSkill('qingxian',target);
event.insert(lib.skill.qingxian.content_choose,{target:target,player:player});
}
'step 2'
if(lib.skill.qingxian_dying.filter(trigger,player)) event.goto(0);
}
},
rouhe:{
audio:'qingxian',
trigger:{player:'recoverEnd'},
direct:true,
content:function(){
'step 0'
if(_status.dying.length){
if(!player.storage.qingxian) player.storage.qingxian=0;
player.storage.qingxian++;
event.finish();
return;
}
player.chooseTarget(get.prompt('qingxian'),function(card,player,target){
return target!=player;
}).set('ai',function(target){
@ -2148,10 +2187,28 @@ game.import('character',function(lib,game,ui,get,ai,_status){
intro:{
content:'info'
},
trigger:{player:'recoverEnd'},
trigger:{
player:'recoverEnd',
global:'dyingAfter',
},
direct:true,
content:function(){
'step 0'
if(_status.dying.length){
if(event.triggername=='recoverEnd'){
if(!player.storage.juexiang_lie) player.storage.juexiang_lie=0;
player.storage.juexiang_lie++;
}
event.finish();
return;
}
if(event.triggername=='dyingAfter'){
if(!player.storage.juexiang_lie){
event.finish();
return;
};
player.storage.juexiang_lie--;
}
player.chooseTarget(get.prompt2('juexiang_lie'),function(card,player,target){
return target!=player;
}).set('ai',function(target){
@ -2169,6 +2226,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
target.chooseUseTarget(card,true,'noanimate','nopopup',true);
}
}
if(event.triggername=='dyingAfter'&&player.storage.juexiang_lie>0) event.goto(0);
}
},
rou:{
@ -4830,15 +4888,24 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
xianzhen2:{
mod:{
targetInRange:function(card,player,target,now){
if(player.storage.xianzhen==target) return true;
targetInRange:function(card,player,target){
if(target==player.storage.xianzhen) return true;
},
cardUsable:function(card,player,num){
if(card.name=='sha') return Infinity;
if(card.name=='sha'&&typeof num=='number') return num+100;
},
playerEnabled:function(card,player,target){
if(card.name=='sha'&&player.storage.xianzhen!=target&&!ui.selected.targets.contains(player.storage.xianzhen)){
var num=player.getCardUsable(card)-100;
if(num<=0) return false;
}
}
},
ai:{
unequip:true
unequip:true,
skillTagFilter:function(player,tag,arg){
if(arg.target!=player.storage.xianzhen) return false;
},
}
},
xianzhen3:{
@ -8797,6 +8864,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
logTarget:'player',
check:function(event,player){
if(event.getParent().excluded.contains(player)) return false;
if(get.attitude(player,event.player)>0){
return false;
}
@ -10852,7 +10920,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
jieyue4:'节钺',
jieyue_info:'结束阶段开始时,你可以弃置一张手牌,然后令一名其他角色选择一项:将一张牌置于你的武将牌上;或令你弃置其一张牌。你武将牌上有牌时,你可以将红色手牌当【闪】、黑色的手牌当【无懈可击】使用或打出。准备阶段开始时,你获得你武将牌上的牌。',
xianzhen:'陷阵',
xianzhen_info:'出牌阶段,你可以与一名角色拼点。若你赢,你获得以下技能直到回合结束:无视与该角色的距离;无视防具且可使用任意数量的【杀】。若你没赢,你不能使用【杀】直到回合结束。每回合限一次',
xianzhen_info:'出牌阶段,你可以与一名角色拼点。若你赢,你获得以下效果直到回合结束:无视与该角色的距离;无视该角色的防具且可对其使用任意数量的【杀】。若你没赢,你不能使用【杀】直到回合结束。每回合限一次',
jinjiu:'禁酒',
jinjiu_info:'锁定技,你的【酒】均视为【杀】',
chunlao:'醇醪',