This commit is contained in:
parent
9421219f15
commit
843bfcf453
|
@ -408,12 +408,14 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
subtype:'equip2',
|
||||
loseDelay:false,
|
||||
onLose:function(){
|
||||
if(player.isDamaged()) player.logSkill('baiyin_skill');
|
||||
var next=game.createEvent('baiyin_recover');
|
||||
event.next.remove(next);
|
||||
event.getParent().after.push(next);
|
||||
var evt=event.getParent();
|
||||
if(evt.getlx===false) evt=evt.getParent();
|
||||
evt.after.push(next);
|
||||
next.player=player;
|
||||
next.setContent(function(){
|
||||
if(player.isDamaged()) player.logSkill('baiyin_skill');
|
||||
player.recover();
|
||||
});
|
||||
},
|
||||
|
|
|
@ -132,8 +132,19 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
if(player.hasSkillTag('unequip2')) return false;
|
||||
return true;
|
||||
},
|
||||
loseDelay:false,
|
||||
onLose:function(){
|
||||
var next=game.createEvent('taipingyaoshu');
|
||||
event.next.remove(next);
|
||||
var evt=event.getParent();
|
||||
if(evt.getlx===false) evt=evt.getParent();
|
||||
evt.after.push(next);
|
||||
next.player=player;
|
||||
next.setContent(lib.card.taipingyaoshu.onLosex);
|
||||
},
|
||||
onLosex:function(){
|
||||
'step 0'
|
||||
player.logSkill('taipingyaoshu');
|
||||
player.draw(2);
|
||||
'step 1'
|
||||
if(player.hp>1) player.loseHp();
|
||||
|
|
|
@ -1663,7 +1663,8 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
onremove:true,
|
||||
trigger:{
|
||||
player:['damage','damageCancelled','damageZero'],
|
||||
target:['shaMiss','useCardToExcluded'],
|
||||
target:['shaMiss','useCardToExcluded','shaEnd'],
|
||||
global:['useCardEnd'],
|
||||
},
|
||||
charlotte:true,
|
||||
filter:function(event,player){
|
||||
|
|
|
@ -319,11 +319,9 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
filterTarget:lib.filter.notMe,
|
||||
selectTarget:1,
|
||||
toself:false,
|
||||
onEquip:function(){
|
||||
var cards=player.getCards('e',function(cardz){
|
||||
return cardz!=card;
|
||||
});
|
||||
if(cards.length) player.discard(cards);
|
||||
loseThrow:true,
|
||||
customSwap:function(){
|
||||
return true;
|
||||
},
|
||||
ai:{
|
||||
order:9,
|
||||
|
@ -467,9 +465,10 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
if(player.sex!='male') return;
|
||||
var next=game.createEvent('nvzhuang_lose');
|
||||
event.next.remove(next);
|
||||
event.getParent().after.push(next);
|
||||
var evt=event.getParent();
|
||||
if(evt.getlx===false) evt=evt.getParent();
|
||||
evt.after.push(next);
|
||||
next.player=player;
|
||||
next.card=card;
|
||||
next.setContent(function(){
|
||||
if(player.countCards('he')){
|
||||
player.popup('nvzhuang');
|
||||
|
|
|
@ -444,6 +444,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
return ['equip','delay'].contains(get.type(card,false));
|
||||
},
|
||||
filterTarget:function(card,player,target){
|
||||
if(player==target) return false;
|
||||
var card=ui.selected.cards[0];
|
||||
if(get.type(card,false)=='delay') return target.canAddJudge({name:card.name});
|
||||
return target.isEmpty(get.subtype(card,false));
|
||||
|
@ -948,10 +949,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
},
|
||||
misuzu_zhongxing:{
|
||||
trigger:{player:'loseAfter'},
|
||||
trigger:{
|
||||
player:'loseAfter',
|
||||
source:'gainAfter',
|
||||
global:['equipAfter','addJudgeAfter'],
|
||||
},
|
||||
direct:true,
|
||||
filter:function(event,player){
|
||||
return event.js&&event.js.length>0&&!player.hasSkill('misuzu_zhongxing_haruko');
|
||||
var evt=event.getl(player);
|
||||
return evt&&evt.js&&evt.js.length>0&&!player.hasSkill('misuzu_zhongxing_haruko');
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
|
@ -979,16 +985,18 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
kamome_yangfan:{
|
||||
trigger:{
|
||||
global:'gameDrawAfter',
|
||||
player:['enterGame','loseAfter'],
|
||||
player:['loseAfter','enterGame'],
|
||||
source:'gainAfter',
|
||||
global:['equipAfter','addJudgeAfter','gameDrawAfter'],
|
||||
},
|
||||
forced:true,
|
||||
filter:function(event,player){
|
||||
if(event.name!='lose') return true;
|
||||
return event.es&&event.es.length;
|
||||
if(typeof event.getl!='function') return true;
|
||||
var evt=event.getl(player);
|
||||
return evt&&evt.player==player&&evt.es&&evt.es.length;
|
||||
},
|
||||
content:function(){
|
||||
if(trigger.name=='lose') player.draw(2*trigger.es.length);
|
||||
if(trigger.getl) player.draw(2*trigger.getl(player).es.length);
|
||||
else player.equip(game.createCard2('kamome_suitcase','spade',1));
|
||||
},
|
||||
ai:{
|
||||
|
@ -1469,6 +1477,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
});
|
||||
'step 1'
|
||||
if(result.control=='cancel2'){event.finish();return;}
|
||||
player.logSkill('shiorimiyuki_tingxian');
|
||||
var num=1+result.index;
|
||||
player.draw(num);
|
||||
'step 2'
|
||||
|
|
|
@ -20,6 +20,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
key_shiki:['female','shen','3/5',['shiki_omusubi'],['key']],
|
||||
//key_hina:['female','shen',3,[],['key']],
|
||||
|
||||
//shen_diaochan:['female','shen',3,[],['qun']],
|
||||
shen_guanyu:['male','shen',5,['new_wuhun','wushen'],['shu']],
|
||||
shen_zhaoyun:['male','shen',2,['xinjuejing','relonghun'],['shu']],
|
||||
shen_zhugeliang:['male','shen',3,['qixing','kuangfeng','dawu'],['shu']],
|
||||
|
@ -3422,6 +3423,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
qixian_info:'锁定技,你的手牌上限视为7。',
|
||||
caopi_xingdong:'行动',
|
||||
caopi_xingdong_info:'出牌阶段限一次,你可以将一张【杀】或普通锦囊牌交给一名其他角色,然后该角色选择一项:对除你以外的角色使用此牌并在此牌结算完成后和你各摸一张牌;或跳过下回合的判定阶段和摸牌阶段。',
|
||||
//shen_diaochan:'神貂蝉',
|
||||
|
||||
key_kagari:'篝',
|
||||
kagari_zongsi:'纵丝',
|
||||
|
@ -3429,7 +3431,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
key_shiki:'神山识',
|
||||
shiki_omusubi:'御结',
|
||||
shiki_omusubi_info:'一轮游戏开始时,你可以减1点体力上限,然后将一名其他角色武将牌上的技能加入到你的武将牌上。',
|
||||
//key_hina:'雏',
|
||||
shiki_omusubi_append:'<span style="font-family: yuanli">来吧,羽依里。用你的手,让我变成那只真正的鬼吧!</span>',
|
||||
//key_hina:'佐藤雏',
|
||||
|
||||
extra_feng:'神话再临·风',
|
||||
extra_huo:'神话再临·火',
|
||||
|
|
|
@ -12,7 +12,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
mobile_standard:["xin_xiahoudun"],
|
||||
mobile_shenhua:["re_pangtong","re_guanqiujian","xin_yuanshao","re_liushan","re_dongzhuo","re_sp_zhugeliang","re_sunjian"],
|
||||
mobile_yijiang1:["re_jikang","old_bulianshi","xin_liaohua","xin_caozhang","re_xusheng","xin_chengpu"],
|
||||
mobile_sp:["old_yuanshu","re_wangyun","re_baosanniang","re_weiwenzhugezhi","re_zhanggong","re_xugong","re_heqi","old_liuzan"],
|
||||
mobile_sp:["old_yuanshu","re_wangyun","re_baosanniang","re_weiwenzhugezhi","re_zhanggong","re_xugong","re_heqi","liuzan"],
|
||||
mobile_trashbin:['old_jiakui'],
|
||||
},
|
||||
},
|
||||
|
@ -47,7 +47,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
old_bulianshi:['female','wu',3,['anxu','zhuiyi']],
|
||||
miheng:['male','qun',3,['kuangcai','shejian']],
|
||||
taoqian:['male','qun',3,['zhaohuo','yixiang','yirang']],
|
||||
old_liuzan:['male','wu',4,['fenyin']],lingcao:['male','wu',4,['dujin']],
|
||||
liuzan:['male','wu',4,['fenyin']],lingcao:['male','wu',4,['dujin']],
|
||||
sunru:['female','wu',3,['yingjian','shixin']],
|
||||
lifeng:['male','shu',3,['tunchu','shuliang']],
|
||||
zhuling:['male','wei',4,['xinzhanyi']],
|
||||
|
@ -178,12 +178,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
loseDelay:false,
|
||||
onLose:function(){
|
||||
player.logSkill('rw_baiyin_skill');
|
||||
var next=game.createEvent('rw_baiyin_recover');
|
||||
var next=game.createEvent('rewrite_baiyin_recover');
|
||||
event.next.remove(next);
|
||||
event.getParent().after.push(next);
|
||||
var evt=event.getParent();
|
||||
if(evt.getlx===false) evt=evt.getParent();
|
||||
evt.after.push(next);
|
||||
next.player=player;
|
||||
next.setContent(function(){
|
||||
player.logSkill('rw_baiyin_skill');
|
||||
player.draw(2);
|
||||
player.recover();
|
||||
});
|
||||
|
@ -5594,7 +5596,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
},
|
||||
translate:{
|
||||
old_liuzan:'手杀留赞',
|
||||
liuzan:'手杀留赞',
|
||||
re_sp_zhugeliang:"手杀卧龙",
|
||||
ly_piliche:'霹雳车',
|
||||
ly_piliche_info:'当你对其他角色造成伤害后,若造成伤害的牌不为延时锦囊牌,你可以弃置其装备区里的防具牌与+1坐骑牌;当你失去此装备时,销毁之。',
|
||||
|
|
|
@ -1107,7 +1107,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
rexuanfeng:{
|
||||
audio:'xuanfeng',
|
||||
audioname:['boss_lvbu3','re_heqi','re_lingtong'],
|
||||
trigger:{player:['loseAfter','phaseDiscardEnd']},
|
||||
trigger:{
|
||||
player:'loseAfter',
|
||||
source:'gainAfter',
|
||||
global:['equipAfter','addJudgeAfter'],
|
||||
},
|
||||
direct:true,
|
||||
filter:function(event,player){
|
||||
if(!game.hasPlayer(function(current){
|
||||
|
@ -1120,7 +1124,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
});
|
||||
return cards.length>1;
|
||||
}
|
||||
else return event.es&&event.es.length>0;
|
||||
var evt=event.getl(player);
|
||||
return evt&&evt.es&&evt.es.length>0;
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
|
@ -5727,16 +5732,21 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
relianying:{
|
||||
audio:2,
|
||||
trigger:{player:'loseAfter'},
|
||||
trigger:{
|
||||
player:'loseAfter',
|
||||
source:'gainAfter',
|
||||
global:['equipAfter','addJudgeAfter'],
|
||||
},
|
||||
direct:true,
|
||||
filter:function(event,player){
|
||||
if(player.countCards('h')) return false;
|
||||
return event.hs&&event.hs.length;
|
||||
var evt=event.getl(player);
|
||||
return evt&&evt.hs&&evt.hs.length;
|
||||
},
|
||||
content:function(){
|
||||
"step 0"
|
||||
var num=trigger.hs.length;
|
||||
player.chooseTarget('选择发动连营的目标',[1,num]).ai=function(target){
|
||||
var num=trigger.getl(player).hs.length;
|
||||
player.chooseTarget(get.prompt('relianying'),'令至多'+get.cnNumber(num)+'名角色各摸一张牌',[1,num]).ai=function(target){
|
||||
var player=_status.event.player;
|
||||
if(player==target) return get.attitude(player,target)+10;
|
||||
return get.attitude(player,target);
|
||||
|
|
|
@ -3148,11 +3148,16 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
tuntian:{
|
||||
audio:2,
|
||||
audioname:['gz_dengai'],
|
||||
trigger:{player:'loseAfter'},
|
||||
trigger:{
|
||||
player:'loseAfter',
|
||||
source:'gainAfter',
|
||||
global:['equipAfter','addJudgeAfter'],
|
||||
},
|
||||
frequent:true,
|
||||
filter:function(event,player){
|
||||
if(player==_status.currentPhase) return false;
|
||||
return event.cards2&&event.cards2.length>0;
|
||||
var evt=event.getl(player);
|
||||
return evt&&evt.cards2&&evt.cards2.length>0;
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
|
@ -4912,9 +4917,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
},
|
||||
weimu:{
|
||||
trigger:{global:'useCard'},
|
||||
trigger:{global:'useCard1'},
|
||||
audio:2,
|
||||
forced:true,
|
||||
firstDo:true,
|
||||
filter:function (event,player,card){
|
||||
if(get.color(event.card)!='black') return false;
|
||||
return event.card.name=='nanman'&&player!=event.player||event.card.name=='wanjian'&&player!=event.player||event.card.name=='taoyuan'&&player.hp<player.maxHp||event.card.name=='wugu';
|
||||
|
|
|
@ -5089,7 +5089,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
refuhan:{
|
||||
audio:'fuhan',
|
||||
trigger:{player:'phaseBegin'},
|
||||
trigger:{player:'phaseZhunbeiBegin'},
|
||||
unique:true,
|
||||
limited:true,
|
||||
skillAnimation:true,
|
||||
|
@ -5128,6 +5128,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
list.remove(players[i].name1);
|
||||
list.remove(players[i].name2);
|
||||
}
|
||||
list.remove('zhaoyun');
|
||||
list.remove('re_zhaoyun');
|
||||
list.remove('ol_zhaoyun');
|
||||
list=list.randomGets(Math.max(4,game.countPlayer()));
|
||||
var skills=[];
|
||||
for(var i of list){
|
||||
|
@ -6111,12 +6114,16 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
hongde:{
|
||||
audio:2,
|
||||
trigger:{player:['gainAfter','loseAfter']},
|
||||
trigger:{
|
||||
player:['loseAfter','gainAfter'],
|
||||
source:'gainAfter',
|
||||
global:['equipAfter','addJudgeAfter'],
|
||||
},
|
||||
direct:true,
|
||||
filter:function(event,player){
|
||||
if(event.name=='lose'&&event.type=='gain'&&event.getParent().player==player) return false;
|
||||
if(event.name=='gain') return event.cards&&event.cards.length>1;
|
||||
return event.cards2&&event.cards2.length>1;
|
||||
if(event.name=='gain'&&event.player==player) return event.cards&&event.cards.length>1;
|
||||
var evt=event.getl(player);
|
||||
return evt&&evt.cards2&&evt.cards2.length>1;
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
|
@ -11314,19 +11321,41 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
audioname:['liushan']
|
||||
},
|
||||
shoucheng:{
|
||||
trigger:{global:'loseAfter'},
|
||||
trigger:{
|
||||
global:['equipAfter','addJudgeAfter','loseAfter','gainAfter'],
|
||||
},
|
||||
audio:2,
|
||||
check:function(event,player){
|
||||
return get.attitude(player,event.player)>0;
|
||||
},
|
||||
direct:true,
|
||||
filter:function(event,player){
|
||||
if(event.player==player||event.player.isDead()||event.player.countCards('h')) return false;
|
||||
if(_status.currentPhase==event.player) return false;
|
||||
return event.hs&&event.hs.length>0;
|
||||
return game.hasPlayer(function(current){
|
||||
if(current==_status.currentPhase) return false;
|
||||
var evt=event.getl(current);
|
||||
return evt&&evt.hs&&evt.hs.length&¤t.countCards('h')==0;
|
||||
});
|
||||
},
|
||||
logTarget:'player',
|
||||
content:function(){
|
||||
trigger.player.draw();
|
||||
"step 0"
|
||||
event.list=game.filterPlayer(function(current){
|
||||
if(current==_status.currentPhase) return false;
|
||||
var evt=trigger.getl(current);
|
||||
return evt&&evt.hs&&evt.hs.length;
|
||||
}).sortBySeat(_status.currentPhase);
|
||||
"step 1"
|
||||
var target=event.list.shift();
|
||||
event.target=target;
|
||||
if(target.isAlive()&&target.countCards('h')==0){
|
||||
player.chooseBool(get.prompt2('shoucheng',target)).set('ai',function(){
|
||||
return get.attitude(_status.event.player,_status.event.getParent().target)>0;
|
||||
});
|
||||
}
|
||||
else event.goto(3);
|
||||
"step 2"
|
||||
if(result.bool){
|
||||
player.logSkill(event.name,target);
|
||||
target.draw();
|
||||
}
|
||||
"step 3"
|
||||
if(event.list.length) event.goto(1);
|
||||
},
|
||||
ai:{
|
||||
threaten:1.3,
|
||||
|
|
|
@ -11,7 +11,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
caobuxing:['male','wu',3,['moying','juanhui'],[]],
|
||||
//sp_zhangliao:['male','qun',4,['mubing','diaoling']],
|
||||
re_sunluyu:['female','wu',3,['remeibu','remumu']],
|
||||
liuzan:['male','wu',4,['refenyin','liji']],
|
||||
re_liuzan:['male','wu',4,['refenyin','liji']],
|
||||
wenyang:['male','wei',5,['xinlvli','choujue']],
|
||||
wangshuang:['male','wei',8,['spzhuilie']],
|
||||
huaman:['female','shu',3,['hmmanyi','mansi','souying','zhanyuan']],
|
||||
|
@ -61,7 +61,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
sp_shengun:["puyuan","guanlu","gexuan","xushao"],
|
||||
sp_baigei:['re_panfeng','xingdaorong','caoxing'],
|
||||
sp_guandu:["sp_zhanghe","xunchen","sp_shenpei","gaolan","lvkuanglvxiang","chunyuqiong","sp_xuyou"],
|
||||
sp_decade:['wulan','leitong','huaman','wangshuang','wenyang','liuzan','re_sunluyu','caobuxing','ol_xinxianying','ol_yujin','re_maliang'],
|
||||
sp_decade:['wulan','leitong','huaman','wangshuang','wenyang','re_liuzan','re_sunluyu','caobuxing','ol_xinxianying','ol_yujin','re_maliang'],
|
||||
}
|
||||
},
|
||||
skill:{
|
||||
|
@ -231,14 +231,22 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
moying:{
|
||||
audio:2,
|
||||
trigger:{player:'loseAfter'},
|
||||
trigger:{
|
||||
player:'loseAfter',
|
||||
source:'gainAfter',
|
||||
global:['equipAfter','addJudgeAfter'],
|
||||
},
|
||||
direct:true,
|
||||
filter:function(event,player){
|
||||
return player!=_status.currentPhase&&event.getParent().name!='useCard'&&event.cards2&&event.cards2.length==1&&!player.hasSkill('moying2')&&['equip','trick'].contains(get.type2(event.cards2[0],event.hs.contains(event.cards2[0])?player:false));
|
||||
if(player==_status.currentPhase||event.getParent().name=='useCard') return false;
|
||||
var evt=event.getl(player);
|
||||
return evt&&evt.cards2&&evt.cards2.length==1&&
|
||||
['equip','trick'].contains(get.type2(evt.cards2[0],(evt.type=='discard'&&evt.hs.contains(evt.cards2[0]))?player:false))&&
|
||||
!player.hasSkill('moying2');
|
||||
},
|
||||
content:function(){
|
||||
"step 0"
|
||||
var number=trigger.cards2[0].number;
|
||||
var number=trigger.getl(player).cards2[0].number;
|
||||
var numbers=[number-2,number-1,number,number+1,number+2].filter(function(number){
|
||||
return number>=1&&number<=13;
|
||||
});
|
||||
|
@ -2594,8 +2602,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
audio:"biaozhao",
|
||||
filter:function (event,player){
|
||||
if(!player.storage.biaozhao) return false;
|
||||
var evt=event.getParent();
|
||||
if(evt&&(evt.name=='useCard'||evt.name=='respond'||evt.name=='biaozhao2')) return false;
|
||||
var suit=get.suit(player.storage.biaozhao[0]);
|
||||
var num=get.number(player.storage.biaozhao[0]);
|
||||
for(var i=0;i<event.cards.length;i++){
|
||||
|
@ -4011,11 +4017,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
});
|
||||
player.chooseControl(list).set('prompt','秉诏:请选择一个势力').set('ai',function(){
|
||||
var listx=list.slice(0);
|
||||
list.sort(function(a,b){
|
||||
listx.sort(function(a,b){
|
||||
return game.countPlayer(function(current){
|
||||
return current.group==b;
|
||||
return current!=player&¤t.group==b;
|
||||
})-game.countPlayer(function(current){
|
||||
return current.group==a;
|
||||
return current!=player&¤t.group==a;
|
||||
});
|
||||
})
|
||||
return listx[0];
|
||||
|
@ -5523,7 +5529,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
beishui_info:'觉醒技,准备阶段,若你的手牌数或体力值小于2,你减1点体力上限并获得技能〖清剿〗,然后将〖膂力〗改为受到伤害后也可以发动。',
|
||||
qingjiao:'清剿',
|
||||
qingjiao_info:'出牌阶段开始时,你可以弃置所有手牌,然后从牌堆或弃牌堆中随机获得八张牌名各不相同且副类别不同的牌。若如此做,结束阶段,你弃置所有牌。',
|
||||
liuzan:'留赞',
|
||||
re_liuzan:'留赞',
|
||||
refenyin:'奋音',
|
||||
refenyin_info:'锁定技,你的回合内,当一张牌进入弃牌堆后,若本回合内没有过与此牌花色相同的卡牌进入过弃牌堆,则你摸一张牌。',
|
||||
liji:'力激',
|
||||
|
|
|
@ -2063,11 +2063,16 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
lianying:{
|
||||
audio:2,
|
||||
trigger:{player:'loseAfter'},
|
||||
trigger:{
|
||||
player:'loseAfter',
|
||||
source:'gainAfter',
|
||||
global:['equipAfter','addJudgeAfter'],
|
||||
},
|
||||
frequent:true,
|
||||
filter:function(event,player){
|
||||
if(player.countCards('h')) return false;
|
||||
return event.hs&&event.hs.length>0;
|
||||
var evt=event.getl(player);
|
||||
return evt&&evt.player==player&&evt.hs&&evt.hs.length>0;
|
||||
},
|
||||
content:function(){
|
||||
player.draw();
|
||||
|
@ -2090,14 +2095,19 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
xiaoji:{
|
||||
audio:2,
|
||||
audioname:['sp_sunshangxiang','re_sunshangxiang'],
|
||||
trigger:{player:'loseAfter'},
|
||||
trigger:{
|
||||
player:'loseAfter',
|
||||
source:'gainAfter',
|
||||
global:['equipAfter','addJudgeAfter'],
|
||||
},
|
||||
frequent:true,
|
||||
filter:function(event,player){
|
||||
return event.es&&event.es.length>0;
|
||||
var evt=event.getl(player);
|
||||
return evt&&evt.player==player&&evt.es&&evt.es.length>0;
|
||||
},
|
||||
content:function(){
|
||||
"step 0"
|
||||
event.count=trigger.es.length;
|
||||
event.count=trigger.getl(player).es.length;
|
||||
"step 1"
|
||||
event.count--;
|
||||
player.draw(2);
|
||||
|
|
|
@ -52,11 +52,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
target.chooseToUse({
|
||||
prompt:'请使用得到的一张牌,或者受到来自'+get.translation(player)+'的一点伤害',
|
||||
filterCard:function(card,player,event){
|
||||
var cards=_status.event.cards;
|
||||
if(!cards||get.itemtype(card)!='card'||!cards.contains(card)) return false;
|
||||
if(get.itemtype(card)!='card'||!cards.contains(card)) return false;
|
||||
return lib.filter.filterCard(card,player,event);
|
||||
},
|
||||
cards:event.cards,
|
||||
});
|
||||
'step 2'
|
||||
if(result.bool){
|
||||
|
@ -521,10 +519,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
var list=[];
|
||||
game.countPlayer(function(current){
|
||||
if(current.group!=player.group&¤t.group!='shen') list.add(current.group);
|
||||
var list=lib.group.filter(function(group){
|
||||
return group!=player.group&&game.hasPlayer(function(current){
|
||||
return current.group==group;
|
||||
});
|
||||
})
|
||||
if(!event.renshe) list.push('cancel2');
|
||||
player.chooseControl(list).set('prompt',event.renshe?'请选择一个势力':get.prompt('chijie')).set('prompt2',event.renshe?'':'将自己的势力变更为场上存在的一个势力').set('',function(){
|
||||
return list.randomGet();
|
||||
|
|
|
@ -421,33 +421,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
},
|
||||
},
|
||||
"qinguo_use":{
|
||||
audio:2,
|
||||
trigger:{
|
||||
player:"equipEnd",
|
||||
},
|
||||
filter:function (event,player){
|
||||
if(!event.swapped&&player.countCards('e')==player.hp&&player.isDamaged()){
|
||||
return true;
|
||||
};
|
||||
return false;
|
||||
},
|
||||
frequent:true,
|
||||
content:function (){
|
||||
player.recover();
|
||||
},
|
||||
ai:{
|
||||
reverseEquip:true,
|
||||
effect:{
|
||||
target:function (card,player,target,current){
|
||||
if(get.type(card)=='equip'&&player==target&&player==_status.currentPhase) return [1,3];
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
"xinfu_qinguo":{
|
||||
group:["qinguo_use","qinguo_lose"],
|
||||
group:"xinfu_qinguo_recover",
|
||||
audio:2,
|
||||
subfrequent:['recover'],
|
||||
trigger:{
|
||||
player:"useCardEnd",
|
||||
},
|
||||
|
@ -458,22 +435,28 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
content:function(){
|
||||
player.chooseUseTarget({name:'sha'},get.prompt('xinfu_qinguo'),'视为使用一张【杀】',false).logSkill='qinguo_use';
|
||||
},
|
||||
},
|
||||
"qinguo_lose":{
|
||||
audio:2,
|
||||
subSkill:{
|
||||
recover:{
|
||||
audio:'xinfu_qinguo',
|
||||
trigger:{
|
||||
player:"loseAfter",
|
||||
player:'loseAfter',
|
||||
source:'gainAfter',
|
||||
global:['equipAfter','addJudgeAfter'],
|
||||
},
|
||||
prompt:'是否发动【勤国】回复1点体力?',
|
||||
filter:function (event,player){
|
||||
if(event.getParent().name=='equip') return false;
|
||||
if(player.hp!=player.countCards('e')||!player.isDamaged()) return false;
|
||||
return event.es&&event.es.length>0;
|
||||
if(player.isHealthy()||player.countCards('e')!=player.hp) return false;
|
||||
var evt=event.getl(player);
|
||||
if(event.name=='equip') return !evt||evt.cards.length!=1;
|
||||
return evt&&evt.es.length;
|
||||
},
|
||||
frequent:true,
|
||||
content:function(){
|
||||
player.recover();
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
"xinfu_jijun":{
|
||||
ai:{
|
||||
reverseEquip:true,
|
||||
|
|
|
@ -239,13 +239,18 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
reshangshi:{
|
||||
audio:'shangshi',
|
||||
trigger:{player:['loseAfter','changeHp']},
|
||||
trigger:{
|
||||
player:['loseAfter','changeHp','gainMaxHpAfter','loseMaxHpAfter'],
|
||||
source:'gainAfter',
|
||||
global:['equipAfter','addJudgeAfter'],
|
||||
},
|
||||
frequent:true,
|
||||
prompt:function(event,player){
|
||||
return '是否发动【伤逝】将手牌摸至'+get.cnNumber(player.getDamagedHp())+'张?'
|
||||
},
|
||||
prompt2:false,
|
||||
filter:function(event,player){
|
||||
if(event.getl&&!event.getl(player)) return false;
|
||||
return player.countCards('h')<player.getDamagedHp();
|
||||
},
|
||||
content:function(){
|
||||
|
@ -8433,6 +8438,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
audio:'zhiman',
|
||||
audioname:['guansuo','re_masu'],
|
||||
trigger:{source:'damageBegin2'},
|
||||
filter:function(event,player){
|
||||
return player!=event.player;
|
||||
},
|
||||
check:function(event,player){
|
||||
if(get.damageEffect(event.player,player,player)<0) return true;
|
||||
var att=get.attitude(player,event.player);
|
||||
|
@ -10837,7 +10845,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
xuanfeng:{
|
||||
audio:2,
|
||||
audioname:['boss_lvbu3','re_heqi'],
|
||||
trigger:{player:['loseAfter','phaseDiscardEnd']},
|
||||
trigger:{
|
||||
player:['loseAfter','phaseDiscardEnd'],
|
||||
source:'gainAfter',
|
||||
global:['equipAfter','addJudgeAfter'],
|
||||
},
|
||||
direct:true,
|
||||
filter:function(event,player){
|
||||
if(event.name=='phaseDiscard'){
|
||||
|
@ -10847,7 +10859,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
});
|
||||
return cards.length>1;
|
||||
}
|
||||
else return event.es&&event.es.length>0;
|
||||
else{
|
||||
var evt=event.getl(player);
|
||||
return evt&&evt.es&&evt.es.length>0;
|
||||
}
|
||||
},
|
||||
content:function(){
|
||||
"step 0"
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
window.noname_asset_list=[
|
||||
'v1.9.105.2',
|
||||
'v1.9.105.3',
|
||||
'audio/background/aozhan_chaoming.mp3',
|
||||
'audio/background/aozhan_online.mp3',
|
||||
'audio/background/aozhan_rewrite.mp3',
|
||||
|
@ -3292,7 +3292,7 @@ window.noname_asset_list=[
|
|||
'image/character/key_doruji.jpg',
|
||||
'image/character/key_riki.jpg',
|
||||
'image/character/key_yuiko.jpg',
|
||||
'image/character/old_liuzan.jpg',
|
||||
'image/character/re_liuzan.jpg',
|
||||
'image/character/re_caozhang.jpg',
|
||||
'image/character/re_chengpu.jpg',
|
||||
'image/character/re_guohuai.jpg',
|
||||
|
|
92
game/game.js
92
game/game.js
|
@ -11974,12 +11974,12 @@
|
|||
event.result.num2[event.iwhile]=event.num2;
|
||||
var str;
|
||||
if(event.num1>event.num2){
|
||||
str=get.translation(player.name)+'拼点成功';
|
||||
str=get.translation(player)+'拼点成功';
|
||||
player.popup('胜');
|
||||
target.popup('负');
|
||||
}
|
||||
else{
|
||||
str=get.translation(player.name)+'拼点失败';
|
||||
str=get.translation(player)+'拼点失败';
|
||||
if(event.num1==event.num2){
|
||||
player.popup('平');
|
||||
target.popup('平');
|
||||
|
@ -12139,13 +12139,13 @@
|
|||
if(event.num1>event.num2){
|
||||
event.result.bool=true;
|
||||
event.result.winner=player;
|
||||
str=get.translation(player.name)+'拼点成功';
|
||||
str=get.translation(player)+'拼点成功';
|
||||
player.popup('胜');
|
||||
target.popup('负');
|
||||
}
|
||||
else{
|
||||
event.result.bool=false;
|
||||
str=get.translation(player.name)+'拼点失败';
|
||||
str=get.translation(player)+'拼点失败';
|
||||
if(event.num1==event.num2){
|
||||
event.result.tie=true;
|
||||
player.popup('平');
|
||||
|
@ -14447,7 +14447,7 @@
|
|||
if(cards){
|
||||
var owner=event.source||get.owner(cards[0]);
|
||||
if(owner){
|
||||
var next=owner.lose(cards,ui.special).set('type','gain').set('forceDie',true);
|
||||
var next=owner.lose(cards,ui.special).set('type','gain').set('forceDie',true).set('getlx',false);
|
||||
if(event.animate=='give'||event.visible==true) next.visible=true;
|
||||
event.relatedLose=next;
|
||||
}
|
||||
|
@ -15226,7 +15226,7 @@
|
|||
equip:function(){
|
||||
"step 0"
|
||||
var owner=get.owner(card)
|
||||
if(owner) owner.lose(card,ui.special,'visible').set('type','equip');
|
||||
if(owner) owner.lose(card,ui.special,'visible').set('type','equip').set('getlx',false);
|
||||
"step 1"
|
||||
if(event.cancelled){
|
||||
event.finish();
|
||||
|
@ -15257,9 +15257,16 @@
|
|||
}
|
||||
player.equiping=true;
|
||||
"step 3"
|
||||
var current=player.getCards('e',{subtype:get.subtype(card)});
|
||||
var info=get.info(card,false);
|
||||
var current=player.getCards('e',function(card){
|
||||
if(info.customSwap) return info.customSwap(card);
|
||||
return get.subtype(card,false)==info.subtype;
|
||||
});
|
||||
if(current.length){
|
||||
player.lose(current,false,'visible');
|
||||
player.lose(current,false,'visible').set('type','equip').set('getlx',false);
|
||||
if(info.loseThrow){
|
||||
player.$throw(current);
|
||||
}
|
||||
event.swapped=true;
|
||||
event.redo();
|
||||
}
|
||||
|
@ -15310,7 +15317,7 @@
|
|||
if(cards){
|
||||
var owner=get.owner(cards[0]);
|
||||
if(owner){
|
||||
owner.lose(cards,'visible');
|
||||
event.relatedLose=owner.lose(cards,'visible').set('getlx',false);
|
||||
}
|
||||
}
|
||||
"step 1"
|
||||
|
@ -18728,6 +18735,27 @@
|
|||
}
|
||||
}
|
||||
next.setContent('gain');
|
||||
next.getl=function(player){
|
||||
var that=this;
|
||||
var map={
|
||||
player:player,
|
||||
hs:[],
|
||||
es:[],
|
||||
js:[],
|
||||
cards:[],
|
||||
cards2:[],
|
||||
};
|
||||
player.getHistory('lose',function(evt){
|
||||
if(evt.parent==that){
|
||||
map.hs.addArray(evt.hs);
|
||||
map.es.addArray(evt.es);
|
||||
map.js.addArray(evt.js);
|
||||
map.cards.addArray(evt.cards);
|
||||
map.cards2.addArray(evt.cards2);
|
||||
}
|
||||
});
|
||||
if(map.cards.length>0) return map;
|
||||
};
|
||||
return next;
|
||||
},
|
||||
give:function(cards,target,visible){
|
||||
|
@ -18774,6 +18802,9 @@
|
|||
next.cards=next.cards.slice(0);
|
||||
}
|
||||
next.setContent('lose');
|
||||
next.getl=function(player){
|
||||
if(this.getlx!==false&&this.player==player) return this;
|
||||
};
|
||||
return next;
|
||||
},
|
||||
damage:function(){
|
||||
|
@ -19130,6 +19161,28 @@
|
|||
}
|
||||
next.setContent(lib.element.content.equip);
|
||||
if(get.is.object(next.card)&&next.card.cards) next.card=next.card.cards[0];
|
||||
next.cards=[next.card];
|
||||
next.getl=function(player){
|
||||
var that=this;
|
||||
var map={
|
||||
player:player,
|
||||
hs:[],
|
||||
es:[],
|
||||
js:[],
|
||||
cards:[],
|
||||
cards2:[],
|
||||
};
|
||||
player.getHistory('lose',function(evt){
|
||||
if(evt.parent==that){
|
||||
map.hs.addArray(evt.hs);
|
||||
map.es.addArray(evt.es);
|
||||
map.js.addArray(evt.js);
|
||||
map.cards.addArray(evt.cards);
|
||||
map.cards2.addArray(evt.cards2);
|
||||
}
|
||||
});
|
||||
if(map.cards.length>0) return map;
|
||||
};
|
||||
return next;
|
||||
},
|
||||
addJudge:function(card,cards){
|
||||
|
@ -19140,6 +19193,27 @@
|
|||
if(get.itemtype(next.cards)=='card') next.cards=[next.cards];
|
||||
next.player=this;
|
||||
next.setContent('addJudge');
|
||||
next.getl=function(player){
|
||||
var that=this;
|
||||
var map={
|
||||
player:player,
|
||||
hs:[],
|
||||
es:[],
|
||||
js:[],
|
||||
cards:[],
|
||||
cards2:[],
|
||||
};
|
||||
player.getHistory('lose',function(evt){
|
||||
if(evt.parent==that){
|
||||
map.hs.addArray(evt.hs);
|
||||
map.es.addArray(evt.es);
|
||||
map.js.addArray(evt.js);
|
||||
map.cards.addArray(evt.cards);
|
||||
map.cards2.addArray(evt.cards2);
|
||||
}
|
||||
});
|
||||
if(map.cards.length>0) return map;
|
||||
};
|
||||
return next;
|
||||
},
|
||||
canAddJudge:function(card){
|
||||
|
|
|
@ -1,50 +1,51 @@
|
|||
window.noname_update={
|
||||
version:'1.9.105.2',
|
||||
update:'1.9.105.1',
|
||||
version:'1.9.105.3',
|
||||
update:'1.9.105.2',
|
||||
changeLog:[
|
||||
'庆祝《成神之日》开播!联机服务器全新升级!',
|
||||
'新留赞插画',
|
||||
'getl机制',
|
||||
'bug修复',
|
||||
|
||||
],
|
||||
files:[
|
||||
//'card/extra.js',
|
||||
'card/extra.js',
|
||||
//'card/huanlekapai.js',
|
||||
//'card/sp.js',
|
||||
//'card/standard.js',
|
||||
'card/standard.js',
|
||||
//'card/swd.js',
|
||||
//'card/mtg.js',
|
||||
//'card/gujian.js',
|
||||
//'card/guozhan.js',
|
||||
'card/guozhan.js',
|
||||
//'card/gwent.js',
|
||||
//'card/yunchou.js',
|
||||
//'card/zhenfa.js',
|
||||
//'card/zhulu.js',
|
||||
//'character/diy.js',
|
||||
//'character/extra.js',
|
||||
'card/zhulu.js',
|
||||
'character/diy.js',
|
||||
'character/extra.js',
|
||||
//'character/hearth.js',
|
||||
//'character/gujian.js',
|
||||
//'character/gwent.js',
|
||||
//'character/hearth.js',
|
||||
//'character/mobile.js',
|
||||
'character/mobile.js',
|
||||
//'character/mtg.js',
|
||||
//'character/old.js',
|
||||
//'character/refresh.js',
|
||||
//'character/shenhua.js',
|
||||
'character/refresh.js',
|
||||
'character/shenhua.js',
|
||||
'character/sp.js',
|
||||
'character/sp2.js',
|
||||
//'character/tw.js',
|
||||
//'character/standard.js',
|
||||
'character/tw.js',
|
||||
'character/standard.js',
|
||||
//'character/swd.js',
|
||||
//'character/xianjian.js',
|
||||
//'character/xinghuoliaoyuan.js',
|
||||
///'character/yijiang.js',
|
||||
'character/xinghuoliaoyuan.js',
|
||||
'character/yijiang.js',
|
||||
//'character/yxs.js',
|
||||
//'extension/boss/extension.js',
|
||||
//'layout/default/layout.css',
|
||||
//'layout/nova/layout.css',
|
||||
//'mode/identity.js',
|
||||
//'mode/doudizhu.js',
|
||||
//'mode/guozhan.js',
|
||||
'mode/guozhan.js',
|
||||
//'mode/chess.js',
|
||||
//'mode/tafang.js',
|
||||
//'mode/single.js',
|
||||
|
@ -53,8 +54,8 @@ window.noname_update={
|
|||
//'mode/versus.js',
|
||||
//'mode/boss.js',
|
||||
'game/game.js',
|
||||
'game/keyWords.js',
|
||||
'game/server.js',
|
||||
//'game/keyWords.js',
|
||||
//'game/server.js',
|
||||
//'game/NoSleep.js',
|
||||
//'game/config.js',
|
||||
//'game/package.js',
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 54 KiB |
|
@ -829,28 +829,26 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
xindiaodu:{
|
||||
audio:"diaodu",
|
||||
global:"xindiaodu_use",
|
||||
subfrequent:['use'],
|
||||
group:'xindiaodu_use',
|
||||
subSkill:{
|
||||
use:{
|
||||
trigger:{
|
||||
player:"useCard",
|
||||
},
|
||||
popup:false,
|
||||
frequent:true,
|
||||
prompt:'是否发动【调度】摸一张牌?',
|
||||
filter:function (event,player){
|
||||
return get.type(event.card)=='equip'&&game.hasPlayer(function(current){
|
||||
return current.hasSkill('xindiaodu')&¤t.isFriendOf(player);
|
||||
});
|
||||
return get.type(event.card)=='equip'&&event.player.isAlive()&&
|
||||
event.player.isFriendOf(player)&&(player==event.player||player.hasSkill('xindiaodu'));
|
||||
},
|
||||
direct:true,
|
||||
content:function(){
|
||||
var logger=game.findPlayer(function(current){
|
||||
return current.isFriendOf(player)&¤t.hasSkill('xindiaodu');
|
||||
});
|
||||
logger.line(player,'green');
|
||||
logger.logSkill('xindiaodu');
|
||||
player.draw('nodelay');
|
||||
'step 0'
|
||||
var next=trigger.player.chooseBool('是否发动【调度】摸一张牌?');
|
||||
if(player.hasSkill('xindiaodu')) next.set('frequentSkill','xindiaodu');
|
||||
'step 1'
|
||||
if(result.bool){
|
||||
player.logSkill('xindiaodu',trigger.player);
|
||||
trigger.player.draw('nodelay');
|
||||
}
|
||||
},
|
||||
ai:{
|
||||
reverseEquip:true,
|
||||
|
@ -900,7 +898,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
else event.finish();
|
||||
'step 2'
|
||||
if(result.bool){
|
||||
if(result.bool&&player.getCards('h').contains(result.cards[0])){
|
||||
event.card=result.cards[0];
|
||||
player.chooseTarget('是否将'+get.translation(event.card)+'交给一名其他角色?',function(card,player,current){
|
||||
return current!=player&¤t!=_status.event.target1&¤t.isFriendOf(player);
|
||||
|
@ -4090,10 +4088,15 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
},
|
||||
xuanlve:{
|
||||
trigger:{player:'loseAfter'},
|
||||
trigger:{
|
||||
player:'loseAfter',
|
||||
source:'gainAfter',
|
||||
global:['equipAfter','addJudgeAfter'],
|
||||
},
|
||||
direct:true,
|
||||
filter:function(event,player){
|
||||
return event.es&&event.es.length>0;
|
||||
var evt=event.getl(player);
|
||||
return evt&&evt.es&&evt.es.length>0;
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
|
@ -5495,13 +5498,35 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
inherit:'shoucheng',
|
||||
audio:'shoucheng',
|
||||
filter:function(event,player){
|
||||
if(event.player.isDead()||event.player.countCards('h')) return false;
|
||||
if(!event.player.isFriendOf(player)) return false;
|
||||
if(_status.currentPhase==event.player) return false;
|
||||
for(var i=0;i<event.cards.length;i++){
|
||||
if(event.cards[i].original=='h') return true;
|
||||
return game.hasPlayer(function(current){
|
||||
if(current==_status.currentPhase||!current.isFriendOf(player)) return false;
|
||||
var evt=event.getl(current);
|
||||
return evt&&evt.hs&&evt.hs.length&¤t.countCards('h')==0;
|
||||
});
|
||||
},
|
||||
content:function(){
|
||||
"step 0"
|
||||
event.list=game.filterPlayer(function(current){
|
||||
if(current==_status.currentPhase||!current.isFriendOf(player)) return false;
|
||||
var evt=trigger.getl(current);
|
||||
return evt&&evt.hs&&evt.hs.length;
|
||||
}).sortBySeat(_status.currentPhase);
|
||||
"step 1"
|
||||
var target=event.list.shift();
|
||||
event.target=target;
|
||||
if(target.isAlive()&&target.countCards('h')==0){
|
||||
player.chooseBool(get.prompt2('gzshoucheng',target)).set('ai',function(){
|
||||
return get.attitude(_status.event.player,_status.event.getParent().target)>0;
|
||||
});
|
||||
}
|
||||
return false;
|
||||
else event.goto(3);
|
||||
"step 2"
|
||||
if(result.bool){
|
||||
player.logSkill(event.name,target);
|
||||
target.draw();
|
||||
}
|
||||
"step 3"
|
||||
if(event.list.length) event.goto(1);
|
||||
},
|
||||
},
|
||||
yicheng:{
|
||||
|
|
Loading…
Reference in New Issue