zhu
This commit is contained in:
parent
3d483746b8
commit
0253b0d154
|
@ -577,9 +577,6 @@ card.hearth={
|
|||
return 0;
|
||||
}
|
||||
}
|
||||
if(target.hasSkillTag('maixie')&&target.hp>1&&ui.selected.cards.length){
|
||||
return 0;
|
||||
}
|
||||
if(player.hasSkillTag('notricksource')) return 0;
|
||||
if(target.hasSkillTag('notrick')) return 0;
|
||||
if(card.name=='tao') return 0;
|
||||
|
|
|
@ -829,6 +829,13 @@ card.standard={
|
|||
if(hs1.length>hs2.length+1){
|
||||
return -2;
|
||||
}
|
||||
var hsx=target.get('h');
|
||||
if(hsx.length>2&&hs2.length==0&&hsx[0].number<6){
|
||||
return -2;
|
||||
}
|
||||
if(hsx.length>3&&hs2.length==0){
|
||||
return -2;
|
||||
}
|
||||
if(hs1.length>hs2.length&&(!hs2.length||hs1[0].number>hs2[0].number)){
|
||||
return -2;
|
||||
}
|
||||
|
@ -1613,7 +1620,8 @@ card.standard={
|
|||
},
|
||||
source:target,
|
||||
source2:targets,
|
||||
id:id
|
||||
id:id,
|
||||
id2:id2
|
||||
});
|
||||
if(game.online){
|
||||
_status.event._resultid=id;
|
||||
|
|
20
card/swd.js
20
card/swd.js
|
@ -335,7 +335,6 @@ card.swd={
|
|||
if(target==players[0]) return 2;
|
||||
return 0.5;
|
||||
},
|
||||
player:1,
|
||||
},
|
||||
}
|
||||
},
|
||||
|
@ -794,16 +793,14 @@ card.swd={
|
|||
},
|
||||
xianluhui:{
|
||||
fullskin:true,
|
||||
type:'basic',
|
||||
type:'trick',
|
||||
enable:true,
|
||||
selectTarget:-1,
|
||||
filterTarget:true,
|
||||
targetDelay:false,
|
||||
content:function(){
|
||||
target.recover();
|
||||
filterTarget:function(card,player,target){
|
||||
return target.isDamaged();
|
||||
},
|
||||
contentAfter:function(){
|
||||
game.asyncDraw(targets);
|
||||
content:function(){
|
||||
target.draw(Math.min(3,target.maxHp-target.hp));
|
||||
},
|
||||
ai:{
|
||||
basic:{
|
||||
|
@ -813,12 +810,9 @@ card.swd={
|
|||
},
|
||||
result:{
|
||||
target:function(player,target){
|
||||
target.hp<target.maxHp?2:1;
|
||||
Math.min(3,target.maxHp-target.hp)
|
||||
},
|
||||
},
|
||||
tag:{
|
||||
recover:1
|
||||
}
|
||||
}
|
||||
},
|
||||
xiangyuye:{
|
||||
|
@ -3519,7 +3513,7 @@ card.swd={
|
|||
pusafazhou_bg:'发',
|
||||
// pusafazhou_info:'令你抵挡一次死亡,将体力回复至1,并摸一张牌',
|
||||
xianluhui:'仙炉灰',
|
||||
xianluhui_info:'令所有角色回复一点体力并摸一张牌',
|
||||
xianluhui_info:'令所有已受伤角色摸数量等同于其已损失体力值的牌(最多3张)',
|
||||
caoyao:'草药',
|
||||
caoyao_info:'出牌阶段,对距离为1以内的角色使用,回复一点体力。',
|
||||
pantao:'蟠桃',
|
||||
|
|
|
@ -1589,6 +1589,7 @@ character.hearth={
|
|||
}
|
||||
},
|
||||
ai:{
|
||||
maixie:true,
|
||||
effect:{
|
||||
target:function(card,player,target){
|
||||
if(get.tag(card,'damage')){
|
||||
|
|
|
@ -35,7 +35,7 @@ character.shenhua={
|
|||
liushan:['male','shu',3,['xiangle','fangquan','ruoyu'],['zhu']],
|
||||
zhanghe:['male','wei',4,['qiaobian']],
|
||||
dengai:['male','wei',4,['tuntian','zaoxian']],
|
||||
sunce:['male','wu',4,['jiang','hunzi','zhiba'],['zhu','fullskin']],
|
||||
sunce:['male','wu',4,['jiang','hunzi','zhiba'],['zhu']],
|
||||
zhangzhang:['male','wu',3,['zhijian','guzheng']],
|
||||
caiwenji:['female','qun',3,['beige','duanchang']],
|
||||
zuoci:['male','qun',3,['huashen','xinsheng']],
|
||||
|
@ -216,10 +216,11 @@ character.shenhua={
|
|||
skillAnimation:true,
|
||||
audio:2,
|
||||
unique:true,
|
||||
zhuSkill:true,
|
||||
trigger:{player:'phaseBegin'},
|
||||
forced:true,
|
||||
filter:function(event,player){
|
||||
if(!player.isZhu)return false;
|
||||
if(!player.hasZhuSkill('ruoyu'))return false;
|
||||
if(player.storage.ruoyu) return false;
|
||||
for(var i=0;i<game.players.length;i++){
|
||||
if(game.players[i].hp<player.hp) return false;
|
||||
|
@ -231,7 +232,15 @@ character.shenhua={
|
|||
player.maxHp++;
|
||||
player.update();
|
||||
player.recover();
|
||||
player.addSkill('jijiang');
|
||||
if(player.skills.contains('ruoyu')){
|
||||
player.addSkill('jijiang');
|
||||
}
|
||||
else{
|
||||
player.additionalSkills.ruoyu='jijiang';
|
||||
}
|
||||
if(!player.isZhu){
|
||||
player.storage.zhuSkill_ruoyu=['jijiang'];
|
||||
}
|
||||
}
|
||||
},
|
||||
qiaobian:{
|
||||
|
@ -675,6 +684,7 @@ character.shenhua={
|
|||
player.addSkill('reyingzi');
|
||||
delete player.tempSkills.yinghun;
|
||||
player.removeSkill('hunzi');
|
||||
player.storage.hunzi=true;
|
||||
},
|
||||
ai:{
|
||||
threaten:function(player,target){
|
||||
|
@ -712,22 +722,37 @@ character.shenhua={
|
|||
zhiba:{
|
||||
unique:true,
|
||||
global:'zhiba2',
|
||||
zhuSkill:true,
|
||||
},
|
||||
zhiba2:{
|
||||
audio:2,
|
||||
forceaudio:true,
|
||||
enable:'phaseUse',
|
||||
filter:function(event,player){
|
||||
var zhu=get.zhu('zhiba');
|
||||
if(!zhu) return false;
|
||||
return (player!=zhu&&player.group=='wu'&&player.num('h')>0&&zhu.num('h')>0);
|
||||
if(player.group!='wu'||player.num('h')==0) return false;
|
||||
return game.hasPlayer(function(target){
|
||||
return target!=player&&target.hasZhuSkill('zhiba',player)&&target.num('h')>0;
|
||||
});
|
||||
},
|
||||
filterTarget:function(card,player,target){
|
||||
return player!=target&&target.isZhu&&target.get('s').contains('zhiba');
|
||||
return target!=player&&target.hasZhuSkill('zhiba',player)&&target.num('h')>0;
|
||||
},
|
||||
usable:1,
|
||||
content:function(){
|
||||
"step 0"
|
||||
if(target.storage.hunzi){
|
||||
target.chooseBool('是否拒绝制霸拼点?').set('choice',ai.get.attitude(target,player)<=0);
|
||||
}
|
||||
else{
|
||||
event.forced=true;
|
||||
}
|
||||
"step 1"
|
||||
if(!event.forced&&!result.bool){
|
||||
game.log(target,'拒绝了拼点');
|
||||
target.chat('拒绝');
|
||||
event.finish();
|
||||
return;
|
||||
}
|
||||
player.chooseToCompare(target,function(card){
|
||||
if(card.name=='du') return 20;
|
||||
var player=get.owner(card);
|
||||
|
@ -737,7 +762,7 @@ character.shenhua={
|
|||
}
|
||||
return get.number(card);
|
||||
});
|
||||
"step 1"
|
||||
"step 2"
|
||||
if(result.bool==false){
|
||||
target.gain([result.player,result.target]);
|
||||
target.$gain2([result.player,result.target]);
|
||||
|
@ -1462,21 +1487,44 @@ character.shenhua={
|
|||
songwei:{
|
||||
unique:true,
|
||||
global:'songwei2',
|
||||
zhuSkill:true,
|
||||
},
|
||||
songwei2:{
|
||||
audio:2,
|
||||
forceaudio:true,
|
||||
trigger:{player:'judgeEnd'},
|
||||
filter:function(event,player){
|
||||
var zhu=get.zhu('songwei');
|
||||
if(!zhu) return false;
|
||||
return (player!=zhu&&player.group=='wei'&&get.color(event.result.card)=='black');
|
||||
},
|
||||
check:function(event,player){
|
||||
return ai.get.attitude(player,get.zhu('songwei'))>0;
|
||||
if(player.group!='wei') return false;
|
||||
if(get.color(event.result.card)!='black') return false;
|
||||
return game.hasPlayer(function(target){
|
||||
return player!=target&&target.hasZhuSkill('songwei',player);
|
||||
});
|
||||
},
|
||||
direct:true,
|
||||
content:function(){
|
||||
get.zhu('songwei').draw();
|
||||
'step 0'
|
||||
var list=[];
|
||||
for(var i=0;i<game.players.length;i++){
|
||||
if(game.players[i]!=player&&game.players[i].hasZhuSkill('songwei',player)){
|
||||
list.push(game.players[i]);
|
||||
}
|
||||
}
|
||||
event.list=list;
|
||||
'step 1'
|
||||
if(event.list.length){
|
||||
var current=event.list.shift();
|
||||
event.current=current;
|
||||
player.chooseBool('是否对'+get.translation(current)+'发动【颂威】?').set('choice',ai.get.attitude(player,current)>0);
|
||||
}
|
||||
else{
|
||||
event.finish();
|
||||
}
|
||||
'step 2'
|
||||
if(result.bool){
|
||||
player.logSkill('songwei',event.current);
|
||||
event.current.draw();
|
||||
}
|
||||
event.goto(1);
|
||||
}
|
||||
},
|
||||
duanliang:{
|
||||
|
@ -1840,35 +1888,54 @@ character.shenhua={
|
|||
},
|
||||
baonue:{
|
||||
unique:true,
|
||||
global:'baonue2'
|
||||
global:'baonue2',
|
||||
zhuSkill:true,
|
||||
},
|
||||
baonue2:{
|
||||
audio:2,
|
||||
forceaudio:true,
|
||||
trigger:{source:'damageEnd'},
|
||||
filter:function(event,player){
|
||||
var zhu=get.zhu('baonue');
|
||||
if(!zhu) return false;
|
||||
return (player!=zhu&&player.group=='qun'&&zhu.hp<zhu.maxHp);
|
||||
},
|
||||
check:function(event,player){
|
||||
var zhu=get.zhu('baonue');
|
||||
if(!zhu) return false;
|
||||
return ai.get.attitude(player,zhu)>0;
|
||||
if(player.group!='qun') return false;
|
||||
return game.hasPlayer(function(target){
|
||||
return player!=target&&target.hp<target.maxHp&&target.hasZhuSkill('baonue',player);
|
||||
});
|
||||
},
|
||||
direct:true,
|
||||
content:function(){
|
||||
"step 0"
|
||||
player.judge(function(card){
|
||||
if(get.suit(card)=='spade') return 4;
|
||||
return 0;
|
||||
})
|
||||
"step 1"
|
||||
if(result.bool){
|
||||
var zhu=get.zhu('baonue');
|
||||
if(zhu){
|
||||
zhu.recover();
|
||||
'step 0'
|
||||
var list=[];
|
||||
for(var i=0;i<game.players.length;i++){
|
||||
if(game.players[i]!=player&&game.players[i].hp<game.players[i].maxHp&&game.players[i].hasZhuSkill('baonue',player)){
|
||||
list.push(game.players[i]);
|
||||
}
|
||||
}
|
||||
event.list=list;
|
||||
'step 1'
|
||||
if(event.list.length){
|
||||
var current=event.list.shift();
|
||||
event.current=current;
|
||||
player.chooseBool('是否对'+get.translation(current)+'发动【暴虐】?').set('choice',ai.get.attitude(player,current)>0);
|
||||
}
|
||||
else{
|
||||
event.finish();
|
||||
}
|
||||
'step 2'
|
||||
if(result.bool){
|
||||
player.logSkill('baonue',event.current);
|
||||
player.judge(function(card){
|
||||
if(get.suit(card)=='spade') return 4;
|
||||
return 0;
|
||||
});
|
||||
}
|
||||
else{
|
||||
event.goto(1);
|
||||
}
|
||||
'step 3'
|
||||
if(result.suit=='spade'){
|
||||
event.current.recover();
|
||||
}
|
||||
event.goto(1);
|
||||
}
|
||||
},
|
||||
luanwu:{
|
||||
|
@ -2435,14 +2502,15 @@ character.shenhua={
|
|||
xueyi:{
|
||||
mod:{
|
||||
maxHandcard:function(player,num){
|
||||
if(player.isZhu){
|
||||
if(player.hasZhuSkill('xueyi')){
|
||||
for(var i=0;i<game.players.length;i++){
|
||||
if(player!=game.players[i]&&game.players[i].group=='qun') num+=2;
|
||||
}
|
||||
}
|
||||
return num;
|
||||
}
|
||||
}
|
||||
},
|
||||
zhuSkill:true,
|
||||
},
|
||||
mengjin:{
|
||||
audio:2,
|
||||
|
@ -3053,7 +3121,7 @@ character.shenhua={
|
|||
huangtian:{
|
||||
unique:true,
|
||||
global:'huangtian2',
|
||||
zhuSkill:true
|
||||
zhuSkill:true,
|
||||
},
|
||||
huangtian2:{
|
||||
audio:2,
|
||||
|
@ -3064,16 +3132,17 @@ character.shenhua={
|
|||
player.$give(cards,targets[0]);
|
||||
},
|
||||
filter:function(event,player){
|
||||
var zhu=get.zhu('huangtian');
|
||||
if(!zhu) return false;
|
||||
return (player!=zhu&&player.group=='qun'&&
|
||||
(player.num('h','shan')+player.num('h','shandian')>0))
|
||||
if(player.group!='qun') return false;
|
||||
if(player.num('h','shan')+player.num('h','shandian')==0) return 0;
|
||||
return game.hasPlayer(function(target){
|
||||
return target!=player&&target.hasZhuSkill('huangtian',player);
|
||||
});
|
||||
},
|
||||
filterCard:function(card){
|
||||
return (card.name=='shan'||card.name=='shandian')
|
||||
},
|
||||
filterTarget:function(card,player,target){
|
||||
return player!=target&&target.isZhu&&target.get('s').contains('huangtian');
|
||||
return target!=player&&target.hasZhuSkill('huangtian',player);
|
||||
},
|
||||
usable:1,
|
||||
forceaudio:true,
|
||||
|
|
|
@ -7,7 +7,7 @@ character.sp={
|
|||
caohong:['male','wei',4,['yuanhu']],
|
||||
xiahouba:['male','shu',4,['baobian']],
|
||||
gongsunzan:['male','qun',4,['yicong']],
|
||||
yuanshu:['male','qun',4,['yongsi']],
|
||||
yuanshu:['male','qun',4,['yongsi','weidi']],
|
||||
sp_diaochan:['female','qun',3,['lihun','biyue']],
|
||||
sp_zhaoyun:['male','qun',3,['longdan','chongzhen']],
|
||||
jsp_zhaoyun:['male','qun',3,['chixin','yicong','suiren']],
|
||||
|
@ -85,6 +85,26 @@ character.sp={
|
|||
guansuo:['guanyu'],
|
||||
},
|
||||
skill:{
|
||||
weidi:{
|
||||
init:function(player){
|
||||
var mode=get.mode();
|
||||
if(mode=='identity'||(mode=='versus'&&_status.mode=='four')){
|
||||
player.additionalSkills.weidi=function(player){
|
||||
var list=[];
|
||||
var zhu=get.zhu(player);
|
||||
if(zhu&&zhu!=player&&zhu.skills){
|
||||
for(var i=0;i<zhu.skills.length;i++){
|
||||
if(lib.skill[zhu.skills[i]]&&lib.skill[zhu.skills[i]].zhuSkill){
|
||||
list.push(zhu.skills[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
player.storage.zhuSkill_weidi=list;
|
||||
return list;
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
zhenlue:{
|
||||
mod:{
|
||||
targetEnabled:function(card,player,target){
|
||||
|
@ -174,11 +194,48 @@ character.sp={
|
|||
return target.sex=='male';
|
||||
}).set('ai',function(target){
|
||||
if(!_status.event.goon) return 0;
|
||||
var player=_status.event.player;
|
||||
var att=ai.get.attitude(player,target);
|
||||
if(att<=1) return 0;
|
||||
if(target.disabledSkills.zhu&&!target.isZhu) return att*2;
|
||||
var mode=get.mode();
|
||||
if(mode=='identity'||(mode=='versus'&&_status.mode=='four')){
|
||||
if(target.name&&lib.character[target.name]){
|
||||
for(var i=0;i<lib.character[target.name][3].length;i++){
|
||||
if(lib.skill[lib.character[target.name][3][i]].zhuSkill){
|
||||
return att*2;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return att;
|
||||
}).set('goon',player.hasUnknown());
|
||||
}).set('goon',!player.hasUnknown());
|
||||
'step 1'
|
||||
if(result.bool){
|
||||
player.unmarkSkill('yongdi');
|
||||
player.storage.yongdi=true;
|
||||
player.logSkill('yongdi',result.targets);
|
||||
var target=result.targets[0];
|
||||
target.gainMaxHp(true);
|
||||
var mode=get.mode();
|
||||
if(mode=='identity'||(mode=='versus'&&_status.mode=='four')){
|
||||
if(target.name&&lib.character[target.name]){
|
||||
var skills=lib.character[target.name][3];
|
||||
target.storage.zhuSkill_yongdi=[];
|
||||
for(var i=0;i<skills.length;i++){
|
||||
var info=lib.skill[skills[i]];
|
||||
if(info.zhuSkill){
|
||||
target.storage.zhuSkill_yongdi.push(skills[i]);
|
||||
if(info.init){
|
||||
info.init(target);
|
||||
}
|
||||
if(info.init2){
|
||||
info.init2(target);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
ai:{
|
||||
expose:0.2
|
||||
|
@ -307,10 +364,17 @@ character.sp={
|
|||
}
|
||||
var hs1=target.get('h','sha');
|
||||
var hs2=player.get('h','sha');
|
||||
if(hs1.length-1>hs2.length+1){
|
||||
if(hs1.length>hs2.length){
|
||||
return 0;
|
||||
}
|
||||
if(hs1.length-1>hs2.length&&(!hs2.length||hs1[0].number>hs2[0].number)){
|
||||
var hsx=target.get('h');
|
||||
if(hsx.length>2&&hs2.length<=1&&hsx[0].number<6){
|
||||
return 0;
|
||||
}
|
||||
if(hsx.length>3&&hs2.length<=1){
|
||||
return 0;
|
||||
}
|
||||
if(hs1.length>hs2.length-1&&hs1.length>0&&(hs2.length<=1||hs1[0].number>hs2[0].number)){
|
||||
return 0;
|
||||
}
|
||||
return -1;
|
||||
|
@ -6212,6 +6276,8 @@ character.sp={
|
|||
yanbaihu:'严白虎',
|
||||
wanglang:'王朗',
|
||||
|
||||
weidi:'伪帝',
|
||||
weidi_info:'锁定技,你视为拥有当前主公的主公技',
|
||||
juesi:'决死',
|
||||
juesi_info:'出牌阶段,你可以弃置一张杀并选择你攻击范围内的一名有牌的其他角色,该角色弃置一张牌,然后若弃置的牌不是杀且你的体力值不大于该角色,你视为对其使用决斗',
|
||||
zhenlue:'缜略',
|
||||
|
|
|
@ -45,10 +45,11 @@ character.standard={
|
|||
hujia:{
|
||||
audio:2,
|
||||
unique:true,
|
||||
zhuSkill:true,
|
||||
trigger:{player:'chooseToRespondBegin'},
|
||||
filter:function(event,player){
|
||||
if(event.responded) return false;
|
||||
if(!player.isZhu) return false;
|
||||
if(!player.hasZhuSkill('jianxiong')) return false;
|
||||
if(event.filterCard({name:'shan'})==false) return false;
|
||||
for(var i=0;i<game.players.length;i++){
|
||||
if(game.players[i]!=player&&game.players[i].group=='wei') return true;
|
||||
|
@ -555,6 +556,7 @@ character.standard={
|
|||
jijiang:{
|
||||
unique:true,
|
||||
group:['jijiang1','jijiang2'],
|
||||
zhuSkill:true,
|
||||
},
|
||||
jijiang1:{
|
||||
audio:2,
|
||||
|
@ -562,7 +564,7 @@ character.standard={
|
|||
trigger:{player:'chooseToRespondBegin'},
|
||||
filter:function(event,player){
|
||||
if(event.responded) return false;
|
||||
if(!player.isZhu) return false;
|
||||
if(!player.hasZhuSkill('jijiang')) return false;
|
||||
if(event.filterCard({name:'sha'})==false) return false;
|
||||
for(var i=0;i<game.players.length;i++){
|
||||
if(game.players[i]!=player&&game.players[i].group=='shu') return true;
|
||||
|
@ -617,7 +619,7 @@ character.standard={
|
|||
enable:'chooseToUse',
|
||||
filter:function(event,player){
|
||||
if(event.filterCard&&!event.filterCard({name:'sha'},player)) return false;
|
||||
if(!player.isZhu) return false;
|
||||
if(!player.hasZhuSkill('jijiang')) return false;
|
||||
if(player.skills.contains('jijiang3')) return false;
|
||||
for(var i=0;i<game.players.length;i++){
|
||||
if(game.players[i].group=='shu'&&game.players[i]!=player){
|
||||
|
@ -1082,10 +1084,11 @@ character.standard={
|
|||
audio:2,
|
||||
unique:true,
|
||||
trigger:{target:'taoBegin'},
|
||||
zhuSkill:true,
|
||||
forced:true,
|
||||
filter:function(event,player){
|
||||
if(event.player==player) return false;
|
||||
if(!player.isZhu) return false;
|
||||
if(!player.hasZhuSkill('jiuyuan')) return false;
|
||||
if(player.hp>0) return false;
|
||||
if(event.player.group!='wu') return false;
|
||||
return true;
|
||||
|
|
|
@ -128,6 +128,7 @@ character.xianjian={
|
|||
if(ai.get.damageEffect(player,event.player,player)>=0) return false;
|
||||
return true;
|
||||
},
|
||||
usable:1,
|
||||
content:function(){
|
||||
"step 0"
|
||||
var goon=(ai.get.damageEffect(player,trigger.player,player)<=0);
|
||||
|
@ -1879,7 +1880,7 @@ character.xianjian={
|
|||
pal_xuanxiao:'玄霄',
|
||||
|
||||
zhangmu:'障目',
|
||||
zhangmu_info:'每回合限一次,当使用需要使用或打出一张闪时,你可以展示一张闪,视为使用或打出了此闪',
|
||||
zhangmu_info:'每回合限一次,当你需要使用或打出一张闪时,你可以展示一张闪,视为使用或打出了此闪',
|
||||
feizhua:'飞爪',
|
||||
feizhua_info:'当你使用一张杀时,你可以将目标两侧的角色追加为额外目标',
|
||||
leiyu:'雷狱',
|
||||
|
|
|
@ -2353,21 +2353,19 @@ character.yijiang={
|
|||
},
|
||||
zhaofu:{
|
||||
unique:true,
|
||||
global:'zhaofu2'
|
||||
global:'zhaofu2',
|
||||
zhuSkill:true
|
||||
},
|
||||
zhaofu2:{
|
||||
mod:{
|
||||
attackTo:function(from,to,distance){
|
||||
if(from.group!='wu') return;
|
||||
var zhu;
|
||||
for(var i=0;i<game.players.length;i++){
|
||||
if(game.players[i].isZhu&&game.players[i].skills.contains('zhaofu')){
|
||||
zhu=game.players[i];break;
|
||||
if(from!=game.players[i]&&to!=game.players[i]&&
|
||||
game.players[i].hasZhuSkill('zhaofu',from)){
|
||||
if(get.distance(game.players[i],to)<=1) return distance-100;
|
||||
}
|
||||
}
|
||||
if(!zhu) return;
|
||||
if(from==zhu||to==zhu) return;
|
||||
if(get.distance(zhu,to)<=1) return distance-100;
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -2741,13 +2739,14 @@ character.yijiang={
|
|||
qinwang:{
|
||||
unique:true,
|
||||
group:['qinwang1','qinwang2'],
|
||||
zhuSkill:true
|
||||
},
|
||||
qinwang1:{
|
||||
audio:2,
|
||||
trigger:{player:'chooseToRespondBegin'},
|
||||
filter:function(event,player){
|
||||
if(event.responded) return false;
|
||||
if(!player.isZhu) return false;
|
||||
if(!player.hasZhuSkill('qinwang')) return false;
|
||||
if(!player.num('he')) return false;
|
||||
if(event.filterCard({name:'sha'})==false) return false;
|
||||
for(var i=0;i<game.players.length;i++){
|
||||
|
@ -2821,7 +2820,7 @@ character.yijiang={
|
|||
enable:'chooseToUse',
|
||||
filter:function(event,player){
|
||||
if(event.filterCard&&!event.filterCard({name:'sha'},player)) return false;
|
||||
if(!player.isZhu) return false;
|
||||
if(!player.hasZhuSkill('qinwang')) return false;
|
||||
for(var i=0;i<game.players.length;i++){
|
||||
if(game.players[i].group=='shu'&&game.players[i]!=player){
|
||||
return lib.filter.cardUsable({name:'sha'},player);
|
||||
|
@ -3301,17 +3300,18 @@ character.yijiang={
|
|||
audio:2,
|
||||
trigger:{player:'dying'},
|
||||
priority:6,
|
||||
zhuSkill:true,
|
||||
filter:function(event,player){
|
||||
if(player.storage.xingshuai) return false;
|
||||
if(player.hp>0) return false;
|
||||
if(!player.isZhu) return false;
|
||||
if(!player.hasZhuSkill('xingshuai')) return false;
|
||||
for(var i=0;i<game.players.length;i++){
|
||||
if(game.players[i]!=player&&game.players[i].group=='wei') return true;
|
||||
}
|
||||
return false;
|
||||
},
|
||||
init:function(player){
|
||||
if(player.isZhu){
|
||||
if(player.hasZhuSkill('xingshuai')){
|
||||
player.markSkill('xingshuai');
|
||||
player.storage.xingshuai=false;
|
||||
}
|
||||
|
|
58
game/game.js
58
game/game.js
|
@ -61,7 +61,7 @@
|
|||
devURL:'https://rawgit.com/libccy/noname/master/',
|
||||
assetURL:'',
|
||||
hallURL:'websha.cn',
|
||||
reserveSkillName:['others'],
|
||||
reserveSkillName:['others','zhu'],
|
||||
changeLog:[],
|
||||
updates:[],
|
||||
canvasUpdates:[],
|
||||
|
@ -4846,16 +4846,23 @@
|
|||
}
|
||||
if(ui.tempnowuxie&&ui.tempnowuxie.classList.contains('glow')&&event.state>0){
|
||||
var triggerevent=event.getTrigger();
|
||||
if(ui.tempnowuxie._origin==triggerevent.parent.id){
|
||||
if(triggerevent){
|
||||
if(ui.tempnowuxie._origin==triggerevent.parent.id){
|
||||
event.result={
|
||||
bool:false
|
||||
}
|
||||
if(triggerevent.targets&&triggerevent.num==triggerevent.targets.length-1){
|
||||
ui.tempnowuxie.close();
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
else if(ui.tempnowuxie._origin==_status.event.id2){
|
||||
event.result={
|
||||
bool:false
|
||||
}
|
||||
if(triggerevent.targets&&triggerevent.num==triggerevent.targets.length-1){
|
||||
ui.tempnowuxie.close();
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
}
|
||||
if(!_status.connectMode&&lib.config.wuxie_self&&event.getParent().state){
|
||||
var tw=event.getTrigger().parent;
|
||||
|
@ -8083,6 +8090,9 @@
|
|||
else if(this.additionalSkills[i]&&typeof this.additionalSkills[i]=='string'){
|
||||
skills.add(this.additionalSkills[i]);
|
||||
}
|
||||
else if(typeof this.additionalSkills[i]=='function'){
|
||||
skills.addArray(this.additionalSkills[i](this));
|
||||
}
|
||||
}
|
||||
if(arg2) skills=skills.concat(this.hiddenSkills);
|
||||
if(arg3!==false){
|
||||
|
@ -10175,6 +10185,20 @@
|
|||
hasSkill:function(skill){
|
||||
return game.expandSkills(this.get('s')).contains(skill);
|
||||
},
|
||||
hasZhuSkill:function(skill,player){
|
||||
if(!this.hasSkill(skill)) return false;
|
||||
var mode=get.mode();
|
||||
if(mode=='identity'||(mode=='versus'&&_status.mode=='four')){
|
||||
if(mode!='identity'){
|
||||
if(player&&this.side!=player.side) return false;
|
||||
}
|
||||
if(this.isZhu) return true;
|
||||
for(var i in this.storage){
|
||||
if(i.indexOf('zhuSkill_')==0&&this.storage[i].contains(skill)) return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
},
|
||||
hasSkillTag:function(tag,hidden){
|
||||
var skills=game.expandSkills(this.get('s',hidden));
|
||||
for(var i=0;i<skills.length;i++){
|
||||
|
@ -31660,11 +31684,17 @@
|
|||
lib.game=game;
|
||||
lib.init.init();
|
||||
HTMLDivElement.prototype.animate=function(name,time){
|
||||
this.classList.add(name);
|
||||
var that=this;
|
||||
setTimeout(function(){
|
||||
that.classList.remove(name);
|
||||
},time||1000);
|
||||
var that;
|
||||
if(lib.isMobileMe(this)&&name=='target'){
|
||||
that=ui.mebg;
|
||||
}
|
||||
else{
|
||||
that=this;
|
||||
}
|
||||
that.classList.add(name);
|
||||
setTimeout(function(){
|
||||
that.classList.remove(name);
|
||||
},time||1000);
|
||||
return this;
|
||||
};
|
||||
HTMLDivElement.prototype.hide=function(){
|
||||
|
@ -31871,6 +31901,12 @@
|
|||
}
|
||||
return this;
|
||||
};
|
||||
Array.prototype.addArray=function(arr){
|
||||
for(var i=0;i<arr.length;i++){
|
||||
this.add(arr[i]);
|
||||
}
|
||||
return this;
|
||||
};
|
||||
Array.prototype.remove=function(item){
|
||||
if(get.objtype(item)=='array'){
|
||||
for(var i=0;i<item.length;i++) this.remove(item[i]);
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
window.noname_update={
|
||||
version:'1.8.20',
|
||||
changeLog:[
|
||||
'新武将、新卡',
|
||||
'修bug',
|
||||
'新武将',
|
||||
],
|
||||
files:{
|
||||
global:[
|
||||
|
@ -17,6 +18,7 @@ window.noname_update={
|
|||
'character/xianjian.js',
|
||||
'character/refresh.js',
|
||||
'character/shenhua.js',
|
||||
'character/standard.js',
|
||||
'card/extra.js',
|
||||
'card/swd.js',
|
||||
'card/standard.js',
|
||||
|
|
|
@ -126,7 +126,6 @@ mode.guozhan={
|
|||
for(var i in map){
|
||||
if(map[i].length<2){
|
||||
if(map[i].length==1){
|
||||
console.log(map[i][0]);
|
||||
choice.remove(map[i][0]);
|
||||
list.push(map[i][0]);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue