Skip to content

Commit

Permalink
Merge pull request #217 from libccy/PR-Branch
Browse files Browse the repository at this point in the history
v1.9.125
  • Loading branch information
Spmario233 authored Aug 15, 2023
2 parents bedbe7b + 0c04eda commit ca8d8b8
Show file tree
Hide file tree
Showing 74 changed files with 2,766 additions and 1,202 deletions.
Binary file added audio/die/clan_zhonghui.mp3
Binary file not shown.
Binary file added audio/die/xizheng.mp3
Binary file not shown.
Binary file added audio/effect/chicken_you_are_so_beautiful.mp3
Binary file not shown.
Binary file added audio/effect/chickun.wav
Binary file not shown.
Binary file added audio/effect/croatian_rhapsody.mp3
Binary file not shown.
Binary file added audio/effect/hitsound.wav
Binary file not shown.
Binary file modified audio/effect/ignotus.mp3
Binary file not shown.
Binary file added audio/effect/pigstep.mp3
Binary file not shown.
Binary file added audio/effect/rakshasa_sea_city.mp3
Binary file not shown.
Binary file modified audio/effect/sm3dw_overworld.mp3
Binary file not shown.
Binary file added audio/skill/clanbaozu_clan_zhonghui1.mp3
Binary file not shown.
Binary file added audio/skill/clanbaozu_clan_zhonghui2.mp3
Binary file not shown.
Binary file added audio/skill/clanxieshu1.mp3
Binary file not shown.
Binary file added audio/skill/clanxieshu2.mp3
Binary file not shown.
Binary file added audio/skill/clanyuzhi1.mp3
Binary file not shown.
Binary file added audio/skill/clanyuzhi2.mp3
Binary file not shown.
Binary file added audio/skill/dcdanyi1.mp3
Binary file not shown.
Binary file added audio/skill/dcdanyi2.mp3
Binary file not shown.
Binary file added audio/skill/dcwencan1.mp3
Binary file not shown.
Binary file added audio/skill/dcwencan2.mp3
Binary file not shown.
Binary file modified audio/skill/spyanji3.mp3
Binary file not shown.
File renamed without changes.
23 changes: 12 additions & 11 deletions card/extra.js
Original file line number Diff line number Diff line change
Expand Up @@ -399,7 +399,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
ai:{
value:function(card,player,index,method){
if(player.isDisabled(2)) return 0.01;
if(card==player.getEquip(2)){
if(player.getEquips('tengjia').contains(card)){
if(player.hasSkillTag('noDirectDamage')) return 10;
if(game.hasPlayer(function(current){
return current!=player&&get.attitude(current,player)<0&&current.hasSkillTag('fireAttack',null,null,true);
Expand Down Expand Up @@ -555,7 +555,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
cards.splice(i--,1);
}
}
var muniu=player.getEquip(5);
var muniu=player.getEquip('muniu');
if(!muniu||!cards.length){
for(var i=0;i<cards.length;i++){
cards[i].discard();
Expand All @@ -570,24 +570,25 @@ game.import('card',function(lib,game,ui,get,ai,_status){
},muniu,muniu.cards);
game.delayx();
"step 2"
var muniu=player.getEquip('muniu');
var players=game.filterPlayer(function(current){
if(!current.getEquip(5)&&current!=player&&!current.isTurnedOver()&&
if(current.canEquip(muniu)&&current!=player&&!current.isTurnedOver()&&
get.attitude(player,current)>=3&&get.attitude(current,player)>=3){
return true;
}
});
players.sort(lib.sort.seat);
var choice=players[0];
var next=player.chooseTarget('是否移动木牛流马?',function(card,player,target){
return !target.isMin()&&player!=target&&target.isEmpty(5);
});
return !target.isMin()&&player!=target&&target.canEquip(_status.event.muniu);
}).set('muniu',muniu)
next.set('ai',function(target){
return target==_status.event.choice?1:-1;
});
next.set('choice',choice);
"step 3"
if(result.bool){
var card=player.getEquip(5);
var card=player.getEquip('muniu');
result.targets[0].equip(card);
player.$give(card,result.targets[0]);
player.line(result.targets,'green');
Expand Down Expand Up @@ -618,7 +619,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
mark:true,
intro:{
content:function(storage,player){
var muniu=player.getEquip(5);
var muniu=player.getEquip('muniu');
if(!muniu||!muniu.cards||!muniu.cards.length) return '共有〇张牌';
if(player.isUnderControl(true)){
return get.translation(muniu.cards);
Expand All @@ -628,7 +629,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
}
},
mark:function(dialog,storage,player){
var muniu=player.getEquip(5);
var muniu=player.getEquip('muniu');
if(!muniu||!muniu.cards||!muniu.cards.length) return '共有〇张牌';
if(player.isUnderControl(true)){
dialog.addAuto(muniu.cards);
Expand All @@ -638,7 +639,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
}
},
markcount:function(storage,player){
var muniu=player.getEquip(5);
var muniu=player.getEquip('muniu');
if(muniu&&muniu.cards) return muniu.cards.length;
return 0;
}
Expand All @@ -658,7 +659,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
}).length>0;
},
content:function(){
var muniu=player.getEquip(5);
var muniu=player.getEquip('muniu');
if(muniu&&muniu.cards){
muniu.cards.removeArray(trigger.ss);
lib.skill.muniu_skill.sync(muniu);
Expand Down Expand Up @@ -787,7 +788,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
//if(card.name=='nanman'||card.name=='wanjian'||card.name=='chuqibuyi') return 'zerotarget';
if(card.name=='nanman'||card.name=='wanjian') return 'zerotarget';
if(card.name=='sha'){
var equip1=player.getEquip(1);
var equip1=player.getEquip('zhuque');
if(equip1&&equip1.name=='zhuque') return 1.9;
if(!card.nature) return 'zerotarget';
}
Expand Down
31 changes: 16 additions & 15 deletions card/guozhan.js
Original file line number Diff line number Diff line change
Expand Up @@ -264,17 +264,14 @@ game.import('card',function(lib,game,ui,get,ai,_status){
fullskin:true,
type:'equip',
subtype:'equip6',
subtypes:['equip3','equip4'],
nomod:true,
nopower:true,
unique:true,
//unique:true,
distance:{
globalFrom:-1,
globalTo:+1,
},
customSwap:function(card){
var type=get.subtype(card,false);
return type=='equip3'||type=='equip4'||type=='equip6';
},
skills:['liulongcanjia'],
ai:{
equipValue:function(card,player){
Expand Down Expand Up @@ -833,8 +830,8 @@ game.import('card',function(lib,game,ui,get,ai,_status){
subtype:"equip2",
skills:['huxinjing'],
filterTarget:function(card,player,target){
if(get.mode()!='guozhan') return true;
return player==target;
if(get.mode()=='guozhan'&&player!=target) return false;
return target.canEquip(card,true);
},
selectTarget:function(){
return get.mode()=='guozhan'?-1:1;
Expand Down Expand Up @@ -1221,8 +1218,8 @@ game.import('card',function(lib,game,ui,get,ai,_status){
liulongcanjia:{
equipSkill:true,
mod:{
targetEnabled:function(card,player,target){
if(['equip3','equip4'].contains(get.subtype(card))) return false;
canBeReplaced:function(card,player){
return false;
},
},
},
Expand Down Expand Up @@ -1282,7 +1279,9 @@ game.import('card',function(lib,game,ui,get,ai,_status){
return [1,player.maxHp];
},
filterCard:function(card,player){
return card!=player.getEquip(5);
var cards=player.getEquips('dinglanyemingzhu');
if(cards.length) return cards.some(card2=>card2!=card&&!ui.selected.cards.contains(card2))
return true;
},
prompt:'出牌阶段限一次,你可以弃置至多X张牌(X为你的体力上限),然后摸等量的牌'
},
Expand Down Expand Up @@ -1729,13 +1728,15 @@ game.import('card',function(lib,game,ui,get,ai,_status){
target:player,
card:event.card
})) return false;
var cards=player.getEquips('huxinjing');
if(!cards.length) return false;
if(get.mode()!='guozhan'&&event.num>1) return true;
return event.num>=player.hp;
},
content:function(){
trigger.cancel();
var e2=player.getEquip('huxinjing');
if(e2){
var e2=player.getEquips('huxinjing');
if(e2.length){
player.discard(e2);
}
player.removeSkill('huxinjing');
Expand Down Expand Up @@ -1799,7 +1800,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
},
translate:{
liulongcanjia:'六龙骖驾',
liulongcanjia_info:'锁定技。你计算与其他角色的距离-1,其他角色计算与你的距离+1。②当此牌进入你的装备区时,你弃置你装备区内其他坐骑牌。③你的装备区内不能置入其他坐骑牌。',
liulongcanjia_info:'锁定技。此牌占用1个进攻坐骑和1个防御坐骑槽位,且不可被替换。你计算与其他角色的距离-1,其他角色计算与你的距离+1。',
minguangkai:'明光铠',
minguangkai_cancel:'明光铠',
minguangkai_link:'明光铠',
Expand Down Expand Up @@ -1862,8 +1863,8 @@ game.import('card',function(lib,game,ui,get,ai,_status){
jingfanma_info:'你的进攻距离+1',
huxinjing_bg:'镜',
huxinjing:'护心镜',
huxinjing_info:'此牌可对其他角色使用。当你受到伤害时,若伤害值大于1或大于等于你的体力值,则你可以将【护心镜】置入弃牌堆,然后防止此伤害。',
huxinjing_info_guozhan:'当你受到伤害时,若伤害值大于等于你的体力值,则你可以将【护心镜】置入弃牌堆,然后防止此伤害。',
huxinjing_info:'此牌可对其他角色使用。当你受到伤害时,若伤害值大于1或大于等于你的体力值,则你可以将所有【护心镜】置入弃牌堆,然后防止此伤害。',
huxinjing_info_guozhan:'当你受到伤害时,若伤害值大于等于你的体力值,则你可以将所有【护心镜】置入弃牌堆,然后防止此伤害。',
gz_haolingtianxia:'号令天下',
gz_haolingtianxia_info:'出牌阶段,对一名体力值不为全场最少的角色使用。所有其他角色依次选择一项:①弃置一张牌(魏势力角色无需弃牌),视为对目标角色使用一张【杀】;②弃置目标角色的一张牌(魏势力角色改为获得其一张牌)。',
gz_kefuzhongyuan:'克复中原',
Expand Down
8 changes: 4 additions & 4 deletions card/sp.js
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
enable:true,
filterTarget:function(card,player,target){
if(target==player) return false;
if(target.getEquip(5)){
if(target.getEquips(5).length){
return target.countCards('e')>1;
}
else{
Expand Down Expand Up @@ -467,11 +467,11 @@ game.import('card',function(lib,game,ui,get,ai,_status){
trigger:{player:'damageBegin4'},
forced:true,
filter:function(event,player){
return event.card&&event.card.name=='sha'&&player.getEquip('lanyinjia');
return event.card&&event.card.name=='sha'&&player.getEquips('lanyinjia').length>0;
},
content:function(){
var card=player.getEquip('lanyinjia');
if(card){
var card=player.getEquips('lanyinjia');
if(card.length){
player.discard(card);
}
},
Expand Down
48 changes: 29 additions & 19 deletions card/standard.js
Original file line number Diff line number Diff line change
Expand Up @@ -1588,7 +1588,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
multicheck:function(){
var card={name:'sha',isCard:true};
return game.hasPlayer(function(current){
if(current.getEquip(1)){
if(current.getEquips(1).length>0){
return game.hasPlayer(function(current2){
return current.inRange(current2)&&lib.filter.targetEnabled(card,current,current2);
})
Expand All @@ -1597,7 +1597,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
},
filterTarget:function(card,player,target){
var card={name:'sha',isCard:true};
return player!=target&&target.getEquip(1)&&game.hasPlayer(function(current){
return player!=target&&target.getEquips(1).length>0&&game.hasPlayer(function(current){
return target!=current&&target.inRange(current)&&lib.filter.targetEnabled(card,target,current);
});
},
Expand All @@ -1621,7 +1621,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
}
"step 1"
if(event.directfalse||result.bool==false){
var cards=target.getCards('e',{subtype:'equip1'});
var cards=target.getEquips(1);
if(cards.length) player.gain(cards,target,'give','bySelf');
}
},
Expand Down Expand Up @@ -2043,25 +2043,28 @@ game.import('card',function(lib,game,ui,get,ai,_status){
},
mod:{
cardUsable:function(card,player,num){
var cardx=player.getEquip('zhuge');
if(card.name=='sha'&&(!cardx||player.hasSkill('zhuge_skill',null,false)||(!_status.zhuge_temp&&!ui.selected.cards.contains(cardx)))){
if(get.is.versus()||get.is.changban()){
return num+3;
var cards=player.getEquips('zhuge')
if(card.name=='sha'){
if(!cards.length||player.hasSkill('zhuge_skill',null,false)||cards.some(card=>(card!=_status.zhuge_temp&&!ui.selected.cards.contains(card)))){
if(get.is.versus()||get.is.changban()){
return num+3;
}
return Infinity;
}
return Infinity;
}
},
cardEnabled2:function(card,player){
if(!_status.event.addCount_extra||player.hasSkill('zhuge_skill',null,false)) return;
if(card&&card==player.getEquip('zhuge')){
var cards=player.getEquips('zhuge');
if(card&&cards.contains(card)){
try{
var cardz=get.card();
}
catch(e){
return;
}
if(!cardz||cardz.name!='sha') return;
_status.zhuge_temp=true;
_status.zhuge_temp=card;
var bool=lib.filter.cardUsable(get.autoViewAs({name:'sha'},ui.selected.cards.concat([card])),player);
delete _status.zhuge_temp;
if(!bool) return false;
Expand Down Expand Up @@ -2158,7 +2161,10 @@ game.import('card',function(lib,game,ui,get,ai,_status){
"step 0"
player.chooseToUse(get.prompt('qinglong',trigger.target),function(card,player,event){
if(get.name(card)!='sha') return false;
if(player.getEquip('qinglong')==card) return false;
if(!player.hasSkill('qinglong_skill',null,false)){
var cards=player.getEquips('qinglong');
if(!cards.some(card2=>card2!=card&&!ui.selected.cards.contains(card2))) return false;
}
return lib.filter.filterCard.apply(this,arguments);
},trigger.target,-1).set('addCount',false).logSkill='qinglong_skill';
}
Expand Down Expand Up @@ -2195,16 +2201,20 @@ game.import('card',function(lib,game,ui,get,ai,_status){
direct:true,
audio:true,
filter:function(event,player){
if(event.type!='card'||event.card.name!='sha') return false;
return player.countCards('he',function(card){
return card!=player.getEquip('guanshi');
})>=2&&event.target.isAlive();
if(event.type!='card'||event.card.name!='sha'||!event.target.isIn()) return false;
var min=2;
if(!player.hasSkill('guanshi_skill',null,false)) min+=get.sgn(player.getEquips('guanshi').length)
return player.countCards('he')>=min;
},
content:function(){
"step 0"
var next=player.chooseToDiscard(get.prompt('guanshi'),2,'he',function(card){
return _status.event.player.getEquip('guanshi')!=card;
});
//装备区内可能有多个贯石斧 或者玩家可能通过其他渠道获得贯石斧技能 只要留一张贯石斧不扔掉即可
var next=player.chooseToDiscard(get.prompt('guanshi'),2,'he',function(card,player){
if(_status.event.ignoreCard) return true;
var cards=player.getEquips('guanshi');
if(!cards.contains(card)) return true;
return cards.some(cardx=>(cardx!=card&&!ui.selected.cards.contains(cardx)));
}).set('ignoreCard',player.hasSkill('guanshi_skill',null,false)).set('complexCard',true)
next.logSkill='guanshi_skill';
next.set('ai',function(card){
var evt=_status.event.getTrigger();
Expand Down Expand Up @@ -3244,7 +3254,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
wuxie_info:'一张锦囊牌生效前,对此牌使用。抵消此牌对一名角色产生的效果,或抵消另一张【无懈可击】产生的效果。',
lebu_info:'出牌阶段,对一名其他角色使用。若判定结果不为红桃,跳过其出牌阶段。',
shandian_info:'出牌阶段,对自己使用。若判定结果为黑桃2~9,则目标角色受到3点雷电伤害。若判定不为黑桃2~9,将之移动到下家的判定区里。',
icesha_skill:'冰杀',
icesha_skill:'冰冻',
icesha_skill_info:'防止即将造成的伤害,改为依次弃置其两张牌。',
qinggang2:'破防',
},
Expand Down
12 changes: 6 additions & 6 deletions card/yongjian.js
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
ai:{
order:9,
value:function(card,player){
if(player.getEquip(1)==card) return 0;
if(player.getEquips(1).contains(card)) return 0;
return 4;
},
equipValue:function(card,player){
Expand Down Expand Up @@ -195,7 +195,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
return 2;
},
value:function(card,player){
if(player.getEquip(1)==card) return -3;
if(player.getEquips(1).contains(card)) return -3;
return 3;
},
basic:{
Expand Down Expand Up @@ -229,7 +229,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
return 2;
},
value:function(card,player){
if(player.getEquip(2)==card) return -3;
if(player.getEquips(2).contains(card)) return -3;
return 3;
},
basic:{
Expand Down Expand Up @@ -263,7 +263,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
return 1;
},
value:function(card,player){
if(player.getEquip(2)==card) return -2.5;
if(player.getEquips(2).contains(card)) return -2.5;
return 2.5;
},
basic:{
Expand Down Expand Up @@ -297,7 +297,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
order:9,
equipValue:0,
value:function(card,player){
if(player.getEquip(2)==card) return 0;
if(player.getEquips(2).contains(card)) return 0;
return 0.5;
},
basic:{
Expand Down Expand Up @@ -706,7 +706,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
yonglv_info:'锁定技。其他角色至你的距离视为1。',
yonglv_append:'<span class="text" style="font-family: yuanli">它旁边的就是王仲宣。</span>',
zhanxiang:'战象',
zhanxiang_info:'锁定技。当你成为〖赠予〗的目标后,你将此次赠予的效果改为“将赠予牌移动至弃牌堆”。',
zhanxiang_info:'锁定技。①其他角色至你的距离+1。②当你成为〖赠予〗的目标后,你将此次赠予的效果改为“将赠予牌移动至弃牌堆”。',
xinge:'信鸽',
xinge_info:'出牌阶段限一次。你可以将一张手牌交给一名其他角色。',
xinge_append:'<span class="text" style="font-family: yuanli">咕咕咕。</span>',
Expand Down
Loading

0 comments on commit ca8d8b8

Please sign in to comment.