This commit is contained in:
libccy 2018-08-20 13:51:05 +08:00
parent 38235023c2
commit ddeb948a36
9 changed files with 357 additions and 38 deletions

View File

@ -446,7 +446,11 @@ game.import('card',function(lib,game,ui,get,ai,_status){
priority:6,
audio:true,
filter:function(event,player){
if(event.player.hasSkillTag('unequip',false,event.card)) return false;
if(event.player.hasSkillTag('unequip',false,{
name:event.card?event.card.name:null,
target:player,
card:event.card
})) return false;
if(event.card.name=='nanman') return true;
if(event.card.name=='wanjian') return true;
if(event.card.name=='sha'&&!event.card.nature) return true;
@ -457,7 +461,11 @@ game.import('card',function(lib,game,ui,get,ai,_status){
ai:{
effect:{
target:function(card,player,target,current){
if(player.hasSkillTag('unequip',false,card)) return;
if(player.hasSkillTag('unequip',false,{
name:card?card.name:null,
target:player,
card:card
})) return;
if(card.name=='nanman'||card.name=='wanjian') return 'zerotarget';
if(card.name=='sha'){
var equip1=player.getEquip(1);
@ -496,7 +504,11 @@ game.import('card',function(lib,game,ui,get,ai,_status){
audio:true,
filter:function(event,player){
if(event.num<=1) return false;
if(event.source&&event.source.hasSkillTag('unequip',false,event.card)) return false;
if(event.source&&event.source.hasSkillTag('unequip',false,{
name:event.card?event.card.name:null,
target:player,
card:event.card
})) return false;
return true;
},
priority:-10,

View File

@ -912,8 +912,12 @@ game.import('card',function(lib,game,ui,get,ai,_status){
},
taipingyaoshu:{
trigger:{player:'damageBefore'},
filter:function(event){
if(event.source&&event.source.hasSkillTag('unequip',false,event.card)) return false;
filter:function(event,player){
if(event.source&&event.source.hasSkillTag('unequip',false,{
name:event.card?event.card.name:null,
target:player,
card:event.card
})) return false;
if(event.nature) return true;
},
forced:true,
@ -925,7 +929,11 @@ game.import('card',function(lib,game,ui,get,ai,_status){
nothunder:true,
effect:{
target:function(card,player,target,current){
if(player.hasSkillTag('unequip',false,card)) return;
if(player.hasSkillTag('unequip',false,{
name:card?card.name:null,
target:player,
card:card
})) return;
if(get.tag(card,'natureDamage')) return 'zerotarget';
if(card.name=='tiesuo'){
return [0,0];
@ -1147,7 +1155,11 @@ game.import('card',function(lib,game,ui,get,ai,_status){
trigger:{player:'damageBefore'},
// forced:true,
filter:function(event,player){
if(event.source&&event.source.hasSkillTag('unequip',false,event.card)) return false;
if(event.source&&event.source.hasSkillTag('unequip',false,{
name:event.card?event.card.name:null,
target:player,
card:event.card
})) return false;
return event.num>=player.hp;
},
content:function(){

View File

@ -1392,8 +1392,12 @@ game.import('card',function(lib,game,ui,get,ai,_status){
forced:true,
priority:6,
audio:true,
filter:function(event){
if(event.player.hasSkillTag('unequip',false,event.card)) return false;
filter:function(event,player){
if(event.player.hasSkillTag('unequip',false,{
name:event.card?event.card.name:null,
target:player,
card:event.card
})) return false;
return (event.card.name=='sha'&&get.color(event.card)=='black')
},
content:function(){
@ -1402,7 +1406,11 @@ game.import('card',function(lib,game,ui,get,ai,_status){
ai:{
effect:{
target:function(card,player){
if(player.hasSkillTag('unequip',false,card)) return;
if(player.hasSkillTag('unequip',false,{
name:card?card.name:null,
target:player,
card:card
})) return;
if(card.name=='sha'&&get.color(card)=='black') return 'zerotarget';
}
}
@ -1621,7 +1629,11 @@ game.import('card',function(lib,game,ui,get,ai,_status){
if(!event.filterCard({name:'shan'})) return false;
if(!lib.filter.cardRespondable({name:'sha'},player,event)) return false;
var evt=event.getParent();
if(evt.player&&evt.player.hasSkillTag('unequip',false,evt.card)) return false;
if(evt.player&&evt.player.hasSkillTag('unequip',false,{
name:evt.card?evt.card.name:null,
target:player,
card:evt.card
})) return false;
return true;
},
audio:true,
@ -1642,7 +1654,11 @@ game.import('card',function(lib,game,ui,get,ai,_status){
ai:{
effect:{
target:function(card,player,target,effect){
if(player.hasSkillTag('unequip',false,card)) return;
if(player.hasSkillTag('unequip',false,{
name:card?card.name:null,
target:player,
card:card
})) return;
if(get.tag(card,'respondShan')) return 0.5;
}
}

View File

@ -3544,7 +3544,11 @@ game.import('card',function(lib,game,ui,get,ai,_status){
forced:true,
priority:15,
filter:function(event,player){
if(event.source&&event.source.hasSkillTag('unequip',false,event.card)) return false;
if(event.source&&event.source.hasSkillTag('unequip',false,{
name:event.card?event.card.name:null,
target:player,
card:event.card
})) return false;
return get.type(event.card,'trick')=='trick';
},
content:function(){
@ -3554,7 +3558,11 @@ game.import('card',function(lib,game,ui,get,ai,_status){
notrick:true,
effect:{
target:function(card,player,target,current){
if(player.hasSkillTag('unequip',false,card)) return;
if(player.hasSkillTag('unequip',false,{
name:card?card.name:null,
target:player,
card:card
})) return;
if(get.type(card)=='trick'&&get.tag(card,'damage')){
return 'zeroplayertarget';
}
@ -4720,7 +4728,11 @@ game.import('card',function(lib,game,ui,get,ai,_status){
trigger:{player:'damageBegin'},
forced:true,
filter:function(event,player){
if(event.source&&event.source.hasSkillTag('unequip',false,event.card)) return false;
if(event.source&&event.source.hasSkillTag('unequip',false,{
name:event.card?event.card.name:null,
target:player,
card:event.card
})) return false;
if(Math.random()>1/3) return false;
return true;
},

View File

@ -809,8 +809,12 @@ game.import('card',function(lib,game,ui,get,ai,_status){
toulianghuanzhu_ai2:{},
suolianjia:{
trigger:{player:'damageBefore'},
filter:function(event){
if(event.source&&event.source.hasSkillTag('unequip',false,event.card)) return;
filter:function(event,player){
if(event.source&&event.source.hasSkillTag('unequip',false,{
name:event.card?event.card.name:null,
target:player,
card:event.card
})) return;
if(event.nature) return true;
},
forced:true,
@ -822,7 +826,11 @@ game.import('card',function(lib,game,ui,get,ai,_status){
nothunder:true,
effect:{
target:function(card,player,target,current){
if(player.hasSkillTag('unequip',false,card)) return;
if(player.hasSkillTag('unequip',false,{
name:card?card.name:null,
target:player,
card:card
})) return;
if(get.tag(card,'natureDamage')) return 'zerotarget';
if(card.name=='tiesuo'){
return [0,0];

View File

@ -10,7 +10,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
shen_zhouyu:['male','shen',4,['yeyan','qinyin'],['wu']],
shen_simayi:['male','shen',4,['renjie','sbaiyin','lianpo'],['wei']],
shen_caocao:['male','shen',3,['guixin','feiying'],['wei']],
shen_lvbu:['male','shen',5,['baonu','wuqian','shenfen'],['qun']],
shen_lvbu:['male','shen',5,['baonu','wumou','ol_wuqian','ol_shenfen'],['qun']],
},
characterIntro:{
shen_guanyu:'关羽,字云长。曾水淹七军、擒于禁、斩庞德、威震华夏,吓得曹操差点迁都躲避,但是东吴偷袭荆州,关羽兵败被害。后传说吕蒙因关羽之魂索命而死。',
@ -19,6 +19,126 @@ game.import('character',function(lib,game,ui,get,ai,_status){
shen_zhugeliang:'字孔明、号卧龙汉族琅琊阳都人三国时期蜀汉丞相、杰出的政治家、军事家、发明家、文学家。在世时被封为武乡侯死后追谥忠武侯后来东晋政权推崇诸葛亮军事才能特追封他为武兴王。诸葛亮为匡扶蜀汉政权呕心沥血、鞠躬尽瘁、死而后已。其代表作有《前出师表》、《后出师表》、《诫子书》等。曾发明木牛流马等并改造连弩可一弩十矢俱发。于234年在宝鸡五丈原逝世。',
},
skill:{
ol_shenfen:{
audio:2,
enable:'phaseUse',
filter:function(event,player){
return player.storage.baonu>=6;
},
skillAnimation:true,
animationColor:'metal',
content:function(){
"step 0"
player.storage.baonu-=6;
player.syncStorage('baonu');
player.updateMarks('baonu');
event.targets=game.filterPlayer();
event.targets.remove(player);
event.targets.sort(lib.sort.seat);
event.targets2=event.targets.slice(0);
player.line(event.targets,'green');
"step 1"
if(event.targets.length){
event.targets.shift().damage();
event.redo();
}
"step 2"
if(event.targets2.length){
var cur=event.targets2.shift();
if(cur&&cur.countCards('he')){
cur.chooseToDiscard('he',true,4);
}
event.redo();
}
},
ai:{
combo:'baonu',
order:10,
result:{
player:function(player){
return game.countPlayer(function(current){
if(current!=player){
return get.sgn(get.damageEffect(current,player,player));
}
});
}
}
}
},
ol_wuqian:{
audio:2,
enable:'phaseUse',
derivation:'wushuang',
filter:function(event,player){
return player.storage.baonu>=2;
},
filterTarget:function(card,player,target){
return target!=player;
},
content:function(){
player.storage.baonu-=2;
player.syncStorage('baonu');
player.updateMarks('baonu');
player.addTempSkill('wushuang');
player.storage.ol_wuqian_target=target;
player.addTempSkill('ol_wuqian_target');
target.addTempSkill('ol_wuqian_targeted');
var list=game.filterPlayer();
for(var i=0;i<list.length;i++){
list[i].addTempSkill('ol_wuqian_equip');
}
},
subSkill:{
equip:{
ai:{
unequip:true,
skillTagFilter:function(player,tag,arg){
if(arg&&arg.target&&arg.target.hasSkill('ol_wuqian_targeted')) return true;
return false;
}
}
},
targeted:{},
target:{
mark:'character',
onremove:true,
intro:{
content:'获得无双且$防具失效直到回合结束'
}
}
}
},
wumou:{
audio:2,
trigger:{player:'useCard'},
forced:true,
filter:function(event){
return (get.type(event.card,'trick')=='trick'&&event.cards[0]&&event.cards[0]==event.card);
},
content:function(){
'step 0'
if(player.storage.baonu>0){
player.chooseControl('选项一','选项二').set('prompt','无谋<br><br><div class="text">1:弃置一枚[暴]标记</div><br><div class="text">2:受到一点伤害</div></br>').ai=function(){
if(player.storage.baonu>6) return '选项一';
if(player.hp+player.num('h','tao')>3) return '选项二';
return '选项一';
};
}
else{
player.loseHp();
event.finish();
}
'step 1'
if(result.control=='选项一'){
player.storage.baonu--;
player.syncStorage('baonu');
player.updateMarks('baonu');
}
else{
player.loseHp();
}
},
},
qinyin:{
audio:2,
trigger:{player:'phaseDiscardEnd'},
@ -482,14 +602,130 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
},
wuhun:{
trigger:{
player:'damageEnd',
},
alter:true,
filter:function (event,player){
if(event.source==undefined) return false
if(!get.is.altered('wuhun')) return false
return true;
},
forced:true,
init:function (player){
for(var i=0;i<game.players.length;i++){
game.players[i].storage.wuhun_mark=0;
}
},
content:function (){
trigger.source.storage.wuhun_mark+=trigger.num;
trigger.source.syncStorage('wuhun_mark');
trigger.source.markSkill('wuhun_mark');
},
global:['wuhun_mark'],
subSkill:{
mark:{
marktext:'魇',
intro:{
content:'mark',
},
},
},
group:['wuhun2','wuhun4','wuhun5'],
},
wuhun2:{
trigger:{
player:'dieBegin',
},
forced:true,
popup:false,
filter:function (event,player){
for(var i=0;i<game.players.length;i++){
if(game.players[i].storage.wuhun_mark) return true;
}
return false;
},
content:function (){
"step 0"
player.chooseTarget(true,get.prompt('wuhun2'),function(card,player,target){
if(!target.storage.wuhun_mark) return false;
for(var i=0;i<game.players.length;i++){
if(game.players[i].storage.wuhun_mark>target.storage.wuhun_mark){
return false;
}
}
return true;
}).set('ai',function(target){
return -ai.get.attitude(_status.event.player,target);
});
"step 1"
player.line(result.targets[0],'fire');
result.targets[0].addSkill('wuhun3')
},
ai:{
threaten:0.5,
effect:{
target:function (card,player,target,current){
if(get.tag(card,'damage')){
if(player.hasSkill('jueqing')) return [1,-5];
var hasfriend=false;
for(var i=0;i<game.players.length;i++){
if(game.players[i]!=target&&ai.get.attitude(game.players[i],target)>=0){
hasfriend=true;break;
}
}
if(!hasfriend) return;
if(player.hp>2&&ai.get.attitude(player,target)<=0) return [0,2];
return [1,0,0,-player.hp];
}
},
},
},
},
wuhun3:{
audio:3,
trigger:{
global:'dieAfter',
},
forced:true,
content:function (){
"step 0"
player.judge(function(card){
if(card.name=='tao'||card.name=='taoyuan') return 2;
return -2;
})
"step 1"
if(result.judge==2){
player.die();
}
player.removeSkill('wuhun3');
},
},
wuhun4:{
trigger:{
player:'dieAfter',
},
forced:true,
popup:false,
content:function (){
for(var i=0;i<game.players.length;i++){
if(game.players[i].storage.wuhun_mark){
game.players[i].storage.wuhun_mark=0;
game.players[i].unmarkSkill('wuhun_mark');
}
}
},
},
wuhun5:{
trigger:{player:'dieBegin'},
forced:true,
popup:false,
filter:function(event){
return event.source!=undefined;
if(!event.source==undefined&&!get.is.altered('wuhun')) return true
return false;
},
content:function(){
trigger.source.addSkill('wuhun2');
trigger.source.addSkill('wuhun6');
},
ai:{
threaten:function(player,target){
@ -507,7 +743,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
}
},
wuhun2:{
wuhun6:{
audio:3,
trigger:{global:'dieAfter'},
forced:true,
@ -515,9 +751,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(player.hp<Infinity){
player.loseHp(player.hp);
}
player.removeSkill('wuhun2');
player.removeSkill('wuhun6');
}
},
},
guixin:{
audio:2,
alter:true,
@ -1190,7 +1426,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
wushen_info:'锁定技,你的红桃手牌视为杀;锁定技,你使用红桃杀时无距离限制。',
wuhun:'武魂',
wuhun2:'武魂',
wuhun_info:'锁定技,杀死你的角色立即进入濒死状态',
wuhun3:'武魂',
wuhun_info_alter:'锁定技当你受到1点伤害后你令伤害来源获得1枚“梦魇”标记当你死亡时你令拥有最多“梦魇”标记的一名其他角色判定若结果不为【桃】或【桃园结义】则该角色死亡。',
wuhun_info:'锁定技,杀死你的角色立即进入濒死状态',
shelie:'涉猎',
gongxin:'攻心',
gongxin_discard:'弃置',
@ -1237,12 +1475,19 @@ game.import('character',function(lib,game,ui,get,ai,_status){
// kuangfeng2_info:'已获得狂风标记',
kuangfeng3:'狂风',
kuangfeng_info:'结束阶段你可以弃掉1枚“星”指定一名角色直到你的下回合开始该角色每次受到的火焰伤害+1。',
baonu:'暴怒',
baonu:'狂暴',
baonu_bg:'暴',
baonu_info:'锁定技,游戏开始时,你获得两枚暴怒标记,每当你造成或受到一点伤害,你获得一枚暴怒标记',
shenfen:'神愤',
shenfen_info:'限定技出牌阶段你可以弃置6枚暴怒标记对场上所有其他角色造成一点伤害然后令其弃置4张牌',
wuqian:'无前',
wuqian_info:'出牌阶段,你可以弃置两枚暴怒标记并获得技能【无双】直到回合结束',
wumou:'无谋',
wumou_info:'锁定技每当你使用非延时类锦囊牌选择目标后你选择一项1.弃1枚“暴怒”标记2.失去1点体力。',
ol_wuqian:'无前',
ol_wuqian_info:'出牌阶段你可以弃2枚“暴怒”标记并选择一名其他角色你视为拥有技能“无双”并令其防具无效直到回合结束。',
ol_shenfen:'神愤',
ol_shenfen_info:'出牌阶段你可以弃6枚“暴怒”标记并选择所有其他角色对这些角色各造成1点伤害然后这些角色先各弃置其装备区里的牌再各弃置四张手牌最后你将你的武将牌翻面。每阶段限一次。',
},
};
});

View File

@ -1,5 +1,5 @@
window.noname_asset_list=[
'1.9.55',
'1.9.56',
'audio/background/music_danji.mp3',
'audio/background/music_default.mp3',
'audio/background/music_diaochan.mp3',
@ -765,6 +765,10 @@ window.noname_asset_list=[
'audio/skill/naman2.mp3',
'audio/skill/niepan1.mp3',
'audio/skill/niepan2.mp3',
'audio/skill/ol_shenfen1.mp3',
'audio/skill/ol_shenfen2.mp3',
'audio/skill/ol_wuqian1.mp3',
'audio/skill/ol_wuqian2.mp3',
'audio/skill/paiyi1.mp3',
'audio/skill/paiyi2.mp3',
'audio/skill/paoxiao1.mp3',
@ -2902,4 +2906,4 @@ window.noname_skin_list={
zhuran:1,
zhurong:3,
zuoci:4
};
};

View File

@ -1,15 +1,17 @@
window.noname_update={
version:'1.9.56',
update:'1.9.55.2',
version:'1.9.57',
update:'1.9.56',
changeLog:[
'bug修复',
'技能可单独选择新旧版(默认新版)'
'神吕布、神关羽by我只是赵云'
],
files:[
'mode/guozhan.js',
'game/config.js',
'game/game.js',
'card/extra.js',
'card/guozhan.js',
'card/standard.js',
'card/swd.js',
'card/yunchou.js',
'character/extra.js',
'character/yijiang.js',
'game/asset.js',
'mode/boss.js'
]
};

View File

@ -2359,7 +2359,11 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
trigger:{target:'shaBefore'},
forced:true,
filter:function(event,player){
if(event.player.hasSkillTag('unequip',false,event.card)) return false;
if(event.player.hasSkillTag('unequip',false,{
name:event.card?event.card.name:null,
target:player,
card:event.card
})) return false;
return true;
},
content:function(){
@ -2368,7 +2372,11 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
ai:{
effect:{
target:function(card,player,target){
if(player.hasSkillTag('unequip',false,card)) return;
if(player.hasSkillTag('unequip',false,{
name:card?card.name:null,
target:player,
card:card
})) return;
if(card.name=='sha') return 'zerotarget';
}
}