This commit is contained in:
parent
72b8f9d030
commit
555c33c7cb
|
@ -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);
|
||||
|
|
|
@ -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){
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
|
|
@ -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',
|
||||
|
|
|
@ -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;
|
||||
|
|
214
character/swd.js
214
character/swd.js
|
@ -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,然后获得此牌',
|
||||
|
|
|
@ -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:'柔拳',
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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',
|
||||
|
|
10
game/game.js
10
game/game.js
|
@ -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 |
|
@ -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']);
|
||||
|
|
Loading…
Reference in New Issue