This commit is contained in:
libccy 2017-01-15 10:06:03 +08:00
parent 72b8f9d030
commit 555c33c7cb
12 changed files with 231 additions and 32 deletions

View File

@ -4026,7 +4026,7 @@ card.swd={
content:function(){
target.damage();
target.gain(cards,player);
game.delay();
// game.delay();
},
check:function(card){
return 10-ai.get.value(card);

View File

@ -20,6 +20,7 @@ card.yunchou={
chenhuodajie:{
fullskin:true,
type:'trick',
filterTarget:true,
content:function(){
if(target.num('he')){
player.gainPlayerCard('he',target,true);
@ -712,6 +713,7 @@ card.yunchou={
filter:function(event,player){
if(event.player==player) return false;
if(!event.player.num('he')) return false;
if(!lib.filter.targetEnabled({name:'chenhuodajie'},player,event.player)) return false;
if(player.num('h','chenhuodajie')) return true;
var mn=player.get('e','5');
if(mn&&mn.name=='muniu'&&mn.cards&&mn.cards.length){

View File

@ -873,7 +873,7 @@ character.gujian={
}
"step 1"
if(result.bool){
player.logSkill('yangming');
player.logSkill('yangming',result.targets);
for(var i=0;i<result.targets.length;i++){
result.targets[i].recover();
}

View File

@ -18,6 +18,7 @@ window.characterRank={
'pal_liumengli',
],
ap:[
'swd_huiyan',
'ow_dva',
'ow_mei',
'ow_yuanshi',
@ -219,6 +220,7 @@ window.characterRank={
'sunru',
'yxs_zhangsanfeng',
'yxs_nandinggeer',
'swd_duanmeng',
],
bp:[
'dongbai',
@ -268,7 +270,6 @@ window.characterRank={
'yxs_bole',
'swd_zhiyin',
're_machao',
'swd_duanmeng',
'yuanshao',
'hs_waleera',
'gjqt_yinqianshang',

View File

@ -971,12 +971,13 @@ character.sp={
filterCard:{color:'black'},
mark:true,
discard:false,
prepare:'give',
delay:0,
check:function(card){return 6-ai.get.value(card);},
selectTarget:2,
multitarget:true,
content:function(){
'step 0'
player.$give(cards,targets[0]);
player.unmark('jianshu');
player.storage.jianshu=true;
targets[0].gain(cards,player);
@ -4347,6 +4348,7 @@ character.sp={
'step 0'
player.chooseControl('basic','trick','equip','cancel',function(){
var source=_status.event.source;
if(ai.get.attitude(_status.event.player,source)>0) return 'cancel';
if(_status.currentPhase!=source) return 'trick';
if(lib.filter.cardUsable({name:'sha'},source)&&source.num('h')>=2) return 'basic';
return 'trick';
@ -6820,7 +6822,7 @@ character.sp={
"step 0"
event.target1=targets[0];
targets[0].gain(cards,player);
game.delay();
// game.delay();
for(var i=0;i<game.players.length;i++){
if(game.players[i].num('h')&&game.players[i]!=event.target1&&game.players[i]!=player){
break;

View File

@ -35,7 +35,7 @@ character.swd={
swd_zhaoyun:['male','shu',4,['longdan','pozhen','tanlin']],
swd_hengai:['female','shu',3,['funiao','ningxian','hlingbo']],
swd_duanmeng:['female','shu',4,['jizhan','lieren']],
swd_duanmeng:['female','shu',4,['xuanying','lieren']],
swd_jiangwu:['male','shu',4,['yijue','dangping']],
swd_tuwei:['male','shu',3,['zhanlu','susheng']],
swd_yeyaxi:['female','shu',3,['rexue','huopu']],
@ -71,7 +71,7 @@ character.swd={
// swd_pepin:['male','qun',4,['rejianxiong','quhu']],
swd_kangnalishi:['male','qun',1,['busi','xuying','yinguo']],
swd_xuanyuanjiantong:['male','qun',3,['chengjian','huanling']],
// swd_huiyan:['male','qun',3,['wendao','xiaozhan','xunzhi']],
swd_huiyan:['male','qun',4,['wendao','lingfeng','hxunzhi']],
// swd_chenfu:['male','qun',4,['xuanzhou','bingfeng']],
// swd_chengyaojin:['male','qun',4,['jiuchi','jufu']],
@ -127,7 +127,7 @@ character.swd={
swd_qiner:['swd_hengai'],
swd_huzhongxian:['swd_jiliang','swd_jipeng','swd_xiyan'],
swd_anka:['swd_kama'],
swd_septem:['swd_nicole','swd_kama','swd_weida','swd_wangsiyue'],
swd_septem:['swd_nicole','swd_kama','swd_weida','swd_wangsiyue','swd_huiyan'],
swd_nicole:['swd_lilian'],
swd_xuanyuanjianxian:['swd_xuanyuanjiantong'],
swd_chenjingchou:['swd_yuxiaoxue','swd_tuobayuer'],
@ -143,6 +143,198 @@ character.swd={
swd_luchengxuan:['swd_xiarou'],
},
skill:{
xuanying:{
subSkill:{
sha:{
enable:'chooseToUse',
viewAs:{name:'sha'},
viewAsFilter:function(player){
if(player.isLinked()) return false;
},
precontent:function(){
player.link();
},
filterCard:function(){return false},
selectCard:-1,
prompt:'横置武将牌,视为使用一张无视距离的杀',
ai:{
skillTagFilter:function(player){
if(player.isLinked()) return false;
},
respondSha:true,
},
mod:{
targetInRange:function(card){
if(_status.event.skill=='xuanying_sha') return true;
}
},
},
shan:{
trigger:{player:'chooseToRespondBegin'},
filter:function(event,player){
if(!player.isLinked()) return false;
if(event.responded) return false;
if(!event.filterCard({name:'shan'})) return false;
return true;
},
check:function(event,player){
if(ai.get.damageEffect(player,event.player,player)>=0) return false;
return true;
},
content:function(){
'step 0'
player.link();
'step 1'
trigger.untrigger();
trigger.responded=true;
trigger.result={bool:true,card:{name:'shan'}}
},
ai:{
effect:{
target:function(card,player,target,effect){
if(get.tag(card,'respondShan')) return 0.1;
}
}
}
},
},
group:['xuanying_sha','xuanying_shan']
},
wendao:{
audio:2,
trigger:{player:['useCardAfter','respondAfter',]},
check:function(event,player){
return ai.get.attitude(player,_status.currentPhase)<=0;
},
logTarget:function(){
return _status.currentPhase;
},
filter:function(event,player){
if(player==_status.currentPhase) return false;
if(!_status.currentPhase.num('he')) return false;
return event.cards&&event.cards.length==1;
},
content:function(){
'step 0'
var suit=get.suit(trigger.cards[0]);
var goon=(ai.get.attitude(_status.currentPhase,player)<=0);
_status.currentPhase.chooseToDiscard('弃置一张'+get.translation(suit+'2')+
'牌,或令'+get.translation(player)+'获得你的一张牌',{suit:suit}).ai=function(card){
if(goon) return 8-ai.get.value(card);
return 0;
}
'step 1'
if(!result.bool){
player.gainPlayerCard(_status.currentPhase,'he',true);
}
},
ai:{
threaten:0.7
}
},
lingfeng:{
trigger:{player:'phaseEnd'},
frequent:true,
filter:function(event,player){
return get.cardCount(true,player)>=Math.min(3,player.hp);
},
content:function(){
'step 0'
player.chooseTarget('凌锋:造成一点伤害,或取消并获得一点护甲',function(card,player,target){
return player!=target&&get.distance(player,target,'attack')<=1;
}).ai=function(target){
if(player.hp==1) return 0;
if(player.hp==2&&target.hp>=3) return 0;
return ai.get.damageEffect(target,player,player);
}
'step 1'
if(result.bool){
player.line(result.targets[0]);
result.targets[0].damage();
}
else{
player.changeHujia();
}
},
ai:{
order:-10,
result:{
target:2
},
threaten:1.5
}
},
hxunzhi:{
unique:true,
enable:'phaseUse',
filter:function(event,player){
return !player.storage.hxunzhi;
},
init:function(player){
player.storage.hxunzhi=false;
},
mark:true,
intro:{
content:'limited'
},
skillAnimation:true,
animationColor:'fire',
content:function(){
'step 0'
player.unmarkSkill('hxunzhi');
player.storage.hxunzhi=true;
var targets=[];
for(var i=0;i<game.players.length;i++){
if(player.canUse({name:'wanjian'},game.players[i])){
targets.push(game.players[i]);
}
}
targets.sort(lib.sort.seat);
player.useCard({name:'wanjian'},targets);
'step 1'
player.addSkill('wusheng');
player.addSkill('paoxiao');
player.addSkill('hxunzhi2');
},
ai:{
order:2,
result:{
player:function(player){
if(get.mode()=='identity'){
if(player.identity=='zhu') return 0;
if(player.identity=='nei') return 0;
}
else if(get.mode()=='guozhan'){
if(player.identity=='ye') return 0;
if(player.isUnseen()) return 0;
}
if(player.hp==1) return 1;
if(player.hasUnknown()) return 0;
if(!player.hasFriend()) return 0;
var enemies=player.getEnemies();
if(enemies.length+1==game.players.length) return 0;
if('h',player.num(function(card){
return card.name=='sha'||get.color(card)=='red';
})<3) return 0;
for(var i=0;i<enemies.length;i++){
if(player.canUse('sha',enemies[i])&&
ai.get.effect(enemies[i],{name:'sha'},player,player)>0&&
enemies[i].hp<=2&&!enemies[i].get('e','2')) return 1;
}
return 0;
}
}
}
},
hxunzhi2:{
trigger:{player:'phaseUseEnd'},
forced:true,
popup:false,
content:function(){
player.removeSkill('xunzhi2');
player.die();
}
},
hjifeng:{
trigger:{player:'phaseUseEnd'},
filter:function(event,player){
@ -181,9 +373,6 @@ character.swd={
discard:false,
prepare:'give',
content:function(){
"step 0"
game.delay();
"step 1"
target.storage.lmazui2=cards[0];
target.addSkill('lmazui2');
game.addVideo('storage',target,['lmazui2',get.cardInfo(target.storage.lmazui2),'card']);
@ -5990,7 +6179,7 @@ character.swd={
target.gain(cards,player);
target.storage.funiao=true;
target.addSkill('funiao2');
game.delay();
// game.delay();
"step 1"
if(event.isMine()){
event.dialog=ui.create.dialog(get.translation(target.name)+'的手牌',target.get('h'));
@ -7857,9 +8046,6 @@ character.swd={
discard:false,
prepare:'give',
content:function(){
"step 0"
game.delay();
"step 1"
target.storage.zhenjiu2=cards[0];
game.addVideo('storage',target,['zhenjiu2',get.cardInfo(target.storage.zhenjiu2),'card']);
target.addSkill('zhenjiu2');
@ -8127,6 +8313,14 @@ character.swd={
swd_quxian:'屈娴',
swd_xiyan:'犀衍',
xuanying:'旋影',
xuanying_info:'出牌阶段,你可以横置你的武将牌视为使用一张无视距离的杀;你可以竖置你的武将牌视为使用一张闪',
wendao:'问道',
wendao_info:'每当你于回合外使用或打出一张牌,你可以令当前回合角色弃置一张与之花色相同的牌,否则你获得其一张牌',
lingfeng:'凌锋',
lingfeng_info:'回合结束阶段若你本回合内使用了至少X张牌你可以选择一项获得一点护甲或对攻击范围内的一名角色造成一点伤害X为你当前的体力值且最多为3',
hxunzhi:'殉志',
hxunzhi_info:'限定技,出牌阶段,你可以视为使用一张万箭齐发并获得技能武圣、咆哮,若如此做,你在此阶段结束时死亡',
lmazui:'麻醉',
lmazui2:'麻醉',
lmazui_info:'出牌阶段限一次,你可以将一张黑色手牌置于一名角色的武将牌上,该角色造成的下一次伤害-1然后获得此牌',

View File

@ -3,16 +3,13 @@ character.xiake={
character:{
// xk_dongfangweiming:['male','shu',4,[]],
xk_guyuexuan:['male','qun',4,['rouquan','gzhenji']],
xk_jinji:['male','shu',4,['lingfeng','lianpo']],
xk_jinji:['male','shu',4,['zhongzhan','lianpo']],
// xk_shenxiangyun:['female','wei',3,['zhenjiu']],
xk_fujianhan:['male','qun',4,['zuijian','zitong']],
},
skill:{
lingfeng:{
trigger:{source:'damageEnd'},
filter:function(event,player){
return event.parent.name!='lingfeng'&&event.player.isAlive();
},
zhongzhan:{
trigger:{source:'damageBegin'},
logTarget:'player',
check:function(event,player){
if(ai.get.damageEffect(event.player,player,player)>0&&
@ -22,9 +19,8 @@ character.xiake={
return false;
},
content:function(){
game.delay();
player.loseHp();
trigger.player.damage();
trigger.num++;
}
},
rouquan:{
@ -137,8 +133,8 @@ character.xiake={
xk_jinji:'荆棘',
xk_shenxiangyun:'沈湘芸',
xk_fujianhan:'傅剑寒',
lingfeng:'凌锋',
lingfeng_info:'每当你造成一次伤害,你可流失一点体力并对目标再造成一点伤害',
zhongzhan:'重斩',
zhongzhan_info:'每当你即将造成伤害,你可流失一点体力令伤害+1',
gzhenji:'震击',
gzhenji_info:'你使用杀造成伤害后,可以摸一张牌,并且本回合内可以额外使用一张杀',
rouquan:'柔拳',

View File

@ -5254,7 +5254,7 @@ character.yijiang={
content:function(){
"step 0"
targets[0].gain(cards,player);
game.delay(2);
game.delay();
"step 1"
targets[0].chooseControl('draw_card','出杀').set('ai',function(){
var event=_status.event;
@ -6555,7 +6555,7 @@ character.yijiang={
content:function(){
"step 0"
target.gain(cards,player);
game.delay();
// game.delay();
"step 1"
player.gainPlayerCard(target,'he',true);
"step 2"

View File

@ -563,6 +563,7 @@ window.noname_asset_list=[
'image/character/swd_hengai.jpg',
'image/character/swd_huanglei.jpg',
'image/character/swd_huanyuanzhi.jpg',
'image/character/swd_huiyan.jpg',
'image/character/swd_hupo.jpg',
'image/character/swd_huyue.jpg',
'image/character/swd_huzhongxian.jpg',

View File

@ -6185,6 +6185,12 @@
next.set('selectButton',info.chooseButton.select||1);
event.buttoned=event.result.skill;
}
else if(info&&info.precontent){
var next=game.createEvent('pre_'+event.result.skill);
next.setContent(info.precontent);
next.set('argresult',event.result);
next.set('player',player);
}
}
}
"step 3"
@ -9833,7 +9839,7 @@
next.autochoose=function(){
if(!this.forced) return false;
if(typeof this.selectCard=='function') return false;
var cards=this.player.num(this.position||'h');
var cards=this.player.get(this.position||'h');
var num=cards.length;
for(var i=0;i<cards.length;i++){
if(!lib.filter.cardDiscardable(cards[i],this.player,this)) num--;
@ -11908,7 +11914,7 @@
},
hasFriend:function(){
for(var i=0;i<game.players.length;i++){
if(game.players[i]!=this&&ai.get.attitude(game.players[i],this)>=0){
if(game.players[i]!=this&&ai.get.attitude(game.players[i],this)>0){
return true;
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

View File

@ -936,9 +936,6 @@ mode.boss={
discard:false,
prepare:'give',
content:function(){
"step 0"
game.delay();
"step 1"
target.storage.mazui2=cards[0];
target.addSkill('mazui2');
game.addVideo('storage',target,['mazui2',get.cardInfo(target.storage.mazui2),'card']);