This commit is contained in:
libccy 2017-01-29 13:26:58 +08:00
parent c4c222b4b7
commit 9165547e2b
7 changed files with 179 additions and 89 deletions

View File

@ -19,7 +19,15 @@ card.sp={
type:'equip', type:'equip',
subtype:'equip5', subtype:'equip5',
nomod:true, nomod:true,
skills:['muniu_skill','muniu_skill2','muniu_skill7'], onEquip:function(){
player.markSkill('muniu_skill6');
},
onLose:function(){
player.unmarkSkill('muniu_skill6');
},
equipDelay:false,
loseDelay:false,
skills:['muniu_skill','muniu_skill2','muniu_skill6','muniu_skill7'],
ai:{ ai:{
basic:{ basic:{
equipValue:function(card){ equipValue:function(card){
@ -306,11 +314,13 @@ card.sp={
if(result.bool){ if(result.bool){
var card=player.get('e','5'); var card=player.get('e','5');
result.targets[0].equip(card); result.targets[0].equip(card);
player.addTempSkill('muniu_skill6','equipAfter');
player.$give(card,result.targets[0]); player.$give(card,result.targets[0]);
player.line(result.targets,'green'); player.line(result.targets,'green');
game.delay(); game.delay();
} }
else{
player.updateMarks();
}
}, },
ai:{ ai:{
save:true, save:true,
@ -384,6 +394,7 @@ card.sp={
var muniu=player.get('e','5'); var muniu=player.get('e','5');
muniu.cards.remove(result.links[0]); muniu.cards.remove(result.links[0]);
lib.skill.muniu_skill.sync(muniu); lib.skill.muniu_skill.sync(muniu);
player.updateMarks();
} }
}, },
ai:{ ai:{
@ -447,6 +458,7 @@ card.sp={
muniu.cards.remove(result.card); muniu.cards.remove(result.card);
lib.skill.muniu_skill.sync(muniu); lib.skill.muniu_skill.sync(muniu);
} }
player.updateMarks();
} }
} }
}, },
@ -466,7 +478,36 @@ card.sp={
value:-1 value:-1
} }
}, },
muniu_skill6:{}, muniu_skill6:{
mark:true,
intro:{
content:function(storage,player){
var muniu=player.get('e','5');
if(!muniu||!muniu.cards||!muniu.cards.length) return '共有〇张牌';
if(player.isUnderControl(true)){
return get.translation(muniu.cards);
}
else{
return '共有'+get.cnNumber(muniu.cards.length)+'张牌';
}
},
mark:function(dialog,storage,player){
var muniu=player.get('e','5');
if(!muniu||!muniu.cards||!muniu.cards.length) return '共有〇张牌';
if(player.isUnderControl(true)){
dialog.addAuto(muniu.cards);
}
else{
return '共有'+get.cnNumber(muniu.cards.length)+'张牌';
}
},
markcount:function(storage,player){
var muniu=player.get('e','5');
if(muniu&&muniu.cards) return muniu.cards.length;
return 0;
}
}
},
muniu_skill7:{ muniu_skill7:{
filter:function(){return false}, filter:function(){return false},
hiddenCard:function(player,name){ hiddenCard:function(player,name){
@ -484,17 +525,17 @@ card.sp={
forced:true, forced:true,
popup:false, popup:false,
filter:function(event,player){ filter:function(event,player){
if(event.type=='equip') return false;
for(var i=0;i<event.cards.length;i++){ for(var i=0;i<event.cards.length;i++){
if(event.cards[i].name=='muniu'&&event.cards[i].original=='e'&& if(event.cards[i].name.indexOf('muniu')==0&&event.cards[i].original=='e'){
player.hasSkill('muniu_skill6')==false&& return true;
get.position(event.cards[i])==='d') return true; }
} }
return false; return false;
}, },
content:function(){ content:function(){
for(var i=0;i<trigger.cards.length;i++){ for(var i=0;i<trigger.cards.length;i++){
if(trigger.cards[i].name=='muniu'&&trigger.cards[i].original=='e'&& if(trigger.cards[i].name.indexOf('muniu')==0&&trigger.cards[i].original=='e'){
player.hasSkill('muniu_skill6')==false){
var card=trigger.cards[i]; var card=trigger.cards[i];
var card2; var card2;
if(card.cards&&card.cards.length){ if(card.cards&&card.cards.length){
@ -570,7 +611,8 @@ card.sp={
muniu_skill2:'流马', muniu_skill2:'流马',
muniu_skill3:'流马', muniu_skill3:'流马',
muniu_skill4:'流马', muniu_skill4:'流马',
muniu_skill6:'流马', muniu_skill6:'木牛流马',
muniu_skill6_bg:'辎',
muniu_skill4_backup:'流马', muniu_skill4_backup:'流马',
muniu_info:'出牌阶段限一次,你可以将一张手牌扣置于你装备区里的【木牛流马】下,若如此做,你可以将此装备移动到一名其他角色的装备区里;你可以将此装备牌下的牌如手牌般使用或打出。', muniu_info:'出牌阶段限一次,你可以将一张手牌扣置于你装备区里的【木牛流马】下,若如此做,你可以将此装备移动到一名其他角色的装备区里;你可以将此装备牌下的牌如手牌般使用或打出。',
muniu_skill_info:'出牌阶段限一次,你可以将一张手牌扣置于你装备区里的【木牛流马】下,若如此做,你可以将此装备移动到一名其他角色的装备区里;你可以将此装备牌下的牌如手牌般使用或打出。', muniu_skill_info:'出牌阶段限一次,你可以将一张手牌扣置于你装备区里的【木牛流马】下,若如此做,你可以将此装备移动到一名其他角色的装备区里;你可以将此装备牌下的牌如手牌般使用或打出。',

View File

@ -494,10 +494,16 @@ card.swd={
type:'equip', type:'equip',
subtype:'equip5', subtype:'equip5',
nomod:true, nomod:true,
onEquip:function(){
player.markSkill('lianyaohu_skill');
},
onLose:function(){
player.unmarkSkill('lianyaohu_skill');
},
ai:{ ai:{
equipValue:6 equipValue:6
}, },
skills:['lianhua','shouna'] skills:['lianhua','shouna','lianyaohu_skill']
}, },
haotianta:{ haotianta:{
fullskin:true, fullskin:true,
@ -1744,6 +1750,32 @@ card.swd={
}, },
}, },
skill:{ skill:{
lianyaohu_skill:{
mark:true,
intro:{
content:function(storage,player){
var card=player.get('e','5');
if(card&&card.storage.shouna&&card.storage.shouna.length){
return '共有'+get.cnNumber(card.storage.shouna.length)+'张牌';
}
return '共有〇张牌';
},
mark:function(dialog,storage,player){
var card=player.get('e','5');
if(card&&card.storage.shouna&&card.storage.shouna.length){
dialog.addAuto(card.storage.shouna);
}
else{
return '共有〇张牌';
}
},
markcount:function(storage,player){
var card=player.get('e','5');
if(card&&card.storage.shouna) return card.storage.shouna.length;
return 0;
}
}
},
_shencaojie:{ _shencaojie:{
trigger:{source:'damageBegin'}, trigger:{source:'damageBegin'},
direct:true, direct:true,
@ -1864,7 +1896,7 @@ card.swd={
content:function(){ content:function(){
'step 0' 'step 0'
player.addSkill('shuchui2'); player.addSkill('shuchui2');
player.storage.shuchui2=0; player.storage.shuchui2=false;
event.num=0; event.num=0;
'step 1' 'step 1'
var card=player.get('h','sha')[0]; var card=player.get('h','sha')[0];
@ -1873,7 +1905,7 @@ card.swd={
} }
else{ else{
if(player.storage.shuchui2){ if(player.storage.shuchui2){
player.draw(player.storage.shuchui2); player.draw();
} }
player.removeSkill('shuchui2'); player.removeSkill('shuchui2');
event.finish(); event.finish();
@ -1884,7 +1916,7 @@ card.swd={
} }
else{ else{
if(player.storage.shuchui2){ if(player.storage.shuchui2){
player.draw(player.storage.shuchui2); player.draw();
} }
player.removeSkill('shuchui2'); player.removeSkill('shuchui2');
} }
@ -1906,10 +1938,10 @@ card.swd={
delete player.storage.shuchui2; delete player.storage.shuchui2;
}, },
filter:function(event,player){ filter:function(event,player){
return event.card&&event.card.name=='sha'; return event.card&&event.card.name=='sha'&&!player.storage.shuchui2;
}, },
content:function(){ content:function(){
player.storage.shuchui2++; player.storage.shuchui2=true;
} }
}, },
xuejibingbao:{ xuejibingbao:{
@ -2356,6 +2388,7 @@ card.swd={
return false; return false;
}, },
usable:1, usable:1,
delay:false,
content:function(){ content:function(){
"step 0" "step 0"
event.hu=player.get('e','5'); event.hu=player.get('e','5');
@ -2391,6 +2424,41 @@ card.swd={
} }
}, },
shouna:{ shouna:{
enable:'phaseUse',
filter:function(event,player){
return player.num('h')>0;
},
usable:1,
filterCard:true,
check:function(card){
return 6-ai.get.value(card);
},
filterTarget:function(card,player,target){
return target!=player&&target.num('h')>0;
},
content:function(){
var card=target.get('h').randomGet();
var hu=player.get('e','5');
if(card&&hu){
if(!hu.storage.shouna){
hu.storage.shouna=[];
}
target.$give(card,player);
target.lose(card,ui.special);
hu.storage.shouna.push(card);
player.updateMarks();
}
},
ai:{
order:5,
result:{
target:function(player,target){
return -1/Math.sqrt(1+target.num('h'));
}
}
}
},
shouna_old:{
trigger:{global:'discardAfter'}, trigger:{global:'discardAfter'},
filter:function(event,player){ filter:function(event,player){
if(player.hasSkill('shouna2')) return false; if(player.hasSkill('shouna2')) return false;
@ -4286,7 +4354,7 @@ card.swd={
fengyinzhidan:'封印之蛋', fengyinzhidan:'封印之蛋',
fengyinzhidan_info:'随机使用三张非延时锦囊牌(随机指定目标)', fengyinzhidan_info:'随机使用三张非延时锦囊牌(随机指定目标)',
shuchui:'鼠槌', shuchui:'鼠槌',
shuchui_info:'出牌阶段限一次你可以指定一名攻击范围内的角色依次将手牌中的至多3张杀对该角色使用杀每造成一次伤害你摸一张牌', shuchui_info:'出牌阶段限一次你可以指定一名攻击范围内的角色依次将手牌中的至多3张杀对该角色使用若杀造成了伤害,你摸一张牌',
zhiluxiaohu:'指路小狐', zhiluxiaohu:'指路小狐',
zhiluxiaohu_info:'出牌阶段对自己使用,视为对一名随机敌方角色使用一张杀,然后摸一张牌', zhiluxiaohu_info:'出牌阶段对自己使用,视为对一名随机敌方角色使用一张杀,然后摸一张牌',
xuejibingbao:'雪肌冰鲍', xuejibingbao:'雪肌冰鲍',
@ -4539,6 +4607,8 @@ card.swd={
xuanyuanjian2:'轩辕剑', xuanyuanjian2:'轩辕剑',
pangufu:'盘古斧', pangufu:'盘古斧',
lianyaohu:'炼妖壶', lianyaohu:'炼妖壶',
lianyaohu_skill:'炼妖壶',
lianyaohu_skill_bg:'壶',
haotianta:'昊天塔', haotianta:'昊天塔',
fuxiqin:'伏羲琴', fuxiqin:'伏羲琴',
shennongding:'神农鼎', shennongding:'神农鼎',
@ -4557,7 +4627,7 @@ card.swd={
lianhua:'炼化', lianhua:'炼化',
lianhua_info:'出牌阶段限一次,你可以弃置两张炼妖壶中的牌,从牌堆中获得一张与弃置的牌类别均不相同的牌', lianhua_info:'出牌阶段限一次,你可以弃置两张炼妖壶中的牌,从牌堆中获得一张与弃置的牌类别均不相同的牌',
shouna:'收纳', shouna:'收纳',
shouna_info:'当一名其他角色于回合外弃置的卡牌进入弃牌堆后,你可以选择其中的一张放入炼妖壶,每名角色的回合限一次', shouna_info:'出牌阶段限一次,你可以弃置一张手牌,并将一名其他角色的一张手牌置入炼妖壶',
donghuangzhong_info:'回合结束阶段,你可以弃置一张手牌,并选择一名角色将一张随机单体延时锦囊置入其判定区', donghuangzhong_info:'回合结束阶段,你可以弃置一张手牌,并选择一名角色将一张随机单体延时锦囊置入其判定区',
xuanyuanjian_info:'锁定技每当你即将造成一次伤害你令此伤害加一并变为雷属性此伤害结算后你流失一点体力并摸一张牌。任何时候若你体力值不超过2则立即失去轩辕剑', xuanyuanjian_info:'锁定技每当你即将造成一次伤害你令此伤害加一并变为雷属性此伤害结算后你流失一点体力并摸一张牌。任何时候若你体力值不超过2则立即失去轩辕剑',
pangufu_info:'锁定技,每当你造成一次伤害,受伤角色须弃置一张牌', pangufu_info:'锁定技,每当你造成一次伤害,受伤角色须弃置一张牌',
@ -4568,7 +4638,7 @@ card.swd={
nvwashi_info:'当一名角色濒死时若你的体力值大于1你可以失去一点体力并令其回复一点体力', nvwashi_info:'当一名角色濒死时若你的体力值大于1你可以失去一点体力并令其回复一点体力',
kongxin_info:'出牌阶段限一次,你可以与一名其他角色进行拼点,若你赢,你可以指定另一名角色视为对方对该角色使用一张杀,否则对方可弃置你一张牌', kongxin_info:'出牌阶段限一次,你可以与一名其他角色进行拼点,若你赢,你可以指定另一名角色视为对方对该角色使用一张杀,否则对方可弃置你一张牌',
fuxiqin_info:'出牌阶段限一次,你可以与一名其他角色进行拼点,若你赢,你可以指定另一名角色视为对方对该角色使用一张杀,否则对方可弃置你一张牌', fuxiqin_info:'出牌阶段限一次,你可以与一名其他角色进行拼点,若你赢,你可以指定另一名角色视为对方对该角色使用一张杀,否则对方可弃置你一张牌',
lianyaohu_info:'当一名其他角色于回合外弃置的卡牌进入弃牌堆后,你将其放入炼妖壶(每回合只发动一次);出牌阶段限一次,你可以弃置两张炼妖壶中的牌,从牌堆中获得一张与弃置的牌类别均不相同的牌', lianyaohu_info:'出牌阶段各限一次你可以选择一项1.弃置一张手牌并将一名其他角色的一张手牌置入炼妖壶2.弃置两张炼妖壶中的牌,从牌堆中获得一张与弃置的牌类别均不相同的牌',
}, },
list:[ list:[
['spade',1,'baihupifeng'], ['spade',1,'baihupifeng'],

View File

@ -629,7 +629,7 @@ character.extra={
mark:function(dialog,content,player){ mark:function(dialog,content,player){
if(content&&content.length){ if(content&&content.length){
if(player==game.me||player.isUnderControl()){ if(player==game.me||player.isUnderControl()){
dialog.add(content); dialog.addAuto(content);
} }
else{ else{
return '共有'+get.cnNumber(content.length)+'张星'; return '共有'+get.cnNumber(content.length)+'张星';

View File

@ -1233,7 +1233,7 @@ character.sp={
content:'cards', content:'cards',
mark:function(dialog,content,player){ mark:function(dialog,content,player){
if(content&&content.length){ if(content&&content.length){
dialog.add(content); dialog.addAuto(content);
if(player.isUnderControl(true)){ if(player.isUnderControl(true)){
var str=''; var str='';
for(var i=0;i<player.storage.shefu2.length;i++){ for(var i=0;i<player.storage.shefu2.length;i++){

View File

@ -6191,7 +6191,7 @@
"step 0"; "step 0";
var next=player.chooseToUse(); var next=player.chooseToUse();
if(!lib.config.show_phaseuse_prompt){ if(!lib.config.show_phaseuse_prompt){
next.set('prompt',' '); next.set('prompt',false);
} }
"step 1" "step 1"
if(result.bool&&!event.skipped){ if(result.bool&&!event.skipped){
@ -8266,7 +8266,7 @@
if(cards){ if(cards){
var owner=event.source||get.owner(cards[0]); var owner=event.source||get.owner(cards[0]);
if(owner){ if(owner){
owner.lose(cards,ui.special); owner.lose(cards,ui.special).set('type','gain');
} }
} }
else{ else{
@ -8450,8 +8450,11 @@
event.finish(); event.finish();
} }
"step 2" "step 2"
player.popup(cards[num].name);
var info=get.info(cards[num]); var info=get.info(cards[num]);
if(info.loseDelay!=false){
player.popup(cards[num].name);
game.delayx();
}
if(Array.isArray(info.onLose)){ if(Array.isArray(info.onLose)){
for(var i=0;i<info.onLose.length;i++){ for(var i=0;i<info.onLose.length;i++){
var next=game.createEvent('lose_'+cards[num].name); var next=game.createEvent('lose_'+cards[num].name);
@ -8466,7 +8469,6 @@
next.player=player; next.player=player;
next.card=cards[num]; next.card=cards[num];
} }
game.delayx();
event.num++; event.num++;
event.goto(1); event.goto(1);
}, },
@ -8790,7 +8792,7 @@
equip:function(){ equip:function(){
"step 0" "step 0"
var owner=get.owner(card) var owner=get.owner(card)
if(owner) owner.lose(card,ui.special); if(owner) owner.lose(card,ui.special).set('type','equip');
if(card.clone){ if(card.clone){
game.broadcast(function(card,player){ game.broadcast(function(card,player){
if(card.clone){ if(card.clone){
@ -8841,7 +8843,7 @@
next.player=player; next.player=player;
next.card=card; next.card=card;
} }
game.delayx(); if(info.equipDelay!='false') game.delayx();
} }
delete player.equiping; delete player.equiping;
"step 3" "step 3"
@ -9560,10 +9562,14 @@
updateMarks:function(){ updateMarks:function(){
for(var i in this.marks){ for(var i in this.marks){
if(i=='ghujia'||(!this.marks[i].querySelector('.image')&&lib.skill[i]&& if(i=='ghujia'||(!this.marks[i].querySelector('.image')&&lib.skill[i]&&
lib.skill[i].intro&&!lib.skill[i].intro.nocount&&this.storage[i])){ lib.skill[i].intro&&!lib.skill[i].intro.nocount&&
(this.storage[i]||lib.skill[i].intro.markcount))){
this.marks[i].classList.add('overflowmark') this.marks[i].classList.add('overflowmark')
var num=0; var num=0;
if(typeof this.storage[i+'_markcount']=='number'){ if(typeof lib.skill[i].intro.markcount=='function'){
num=lib.skill[i].intro.markcount(this.storage[i],this);
}
else if(typeof this.storage[i+'_markcount']=='number'){
num=this.storage[i+'_markcount']; num=this.storage[i+'_markcount'];
} }
else if(i=='ghujia'){ else if(i=='ghujia'){
@ -14234,6 +14240,14 @@
addSmall:function(item,noclick){ addSmall:function(item,noclick){
return this.add(item,noclick,true); return this.add(item,noclick,true);
}, },
addAuto:function(content){
if(content&&content.length>4&&!this._hovercustomed){
this.addSmall(content);
}
else{
this.add(content);
}
},
open:function(){ open:function(){
if(this.noopen) return; if(this.noopen) return;
for(var i=0;i<ui.dialogs.length;i++){ for(var i=0;i<ui.dialogs.length;i++){
@ -33172,12 +33186,7 @@
content=[content]; content=[content];
} }
if(dialog&&get.itemtype(content)=='cards'){ if(dialog&&get.itemtype(content)=='cards'){
if(content.length>6&&!dialog._hovercustomed){ dialog.addAuto(content);
dialog.addSmall(content);
}
else{
dialog.add(content);
}
} }
else{ else{
if(content&&content.length){ if(content&&content.length){
@ -33191,12 +33200,7 @@
content=[content]; content=[content];
} }
if(dialog&&get.itemtype(content)=='players'){ if(dialog&&get.itemtype(content)=='players'){
if(content.length>6&&!dialog._hovercustomed){ dialog.addAuto(content);
dialog.addSmall(content);
}
else{
dialog.add(content);
}
return false; return false;
} }
else{ else{
@ -33501,34 +33505,7 @@
else{ else{
uiintro.add(get.translation(node)); uiintro.add(get.translation(node));
} }
if(node.name.indexOf('muniu')==0&&get.position(node)=='e'){ if(lib.translate[name+'_info']){
var num=0;
if(node.cards){
num=node.cards.length;
}
if(get.owner(node)==game.me&&num){
uiintro.add(node.cards,true,num>4);
}
else{
uiintro.add('<div class="text center">'+'共有'+get.cnNumber(num)+'张牌'+'</div>');
}
if(node.name!='muniu'){
uiintro.add('<div class="text">'+lib.translate[node.name+'_info'].slice(81)+'</div>');
}
}
else if(node.name=='lianyaohu'&&get.position(node)=='e'){
var num=0;
if(node.storage.shouna){
num=node.storage.shouna.length;
}
if(num){
uiintro.add(node.storage.shouna,true,num>4);
}
else{
uiintro.add('<div class="text center">炼妖壶内没有牌</div>');
}
}
else if(lib.translate[name+'_info']){
if(get.subtype(node)=='equip1'){ if(get.subtype(node)=='equip1'){
var added=false; var added=false;
if(lib.card[node.name]&&lib.card[node.name].distance){ if(lib.card[node.name]&&lib.card[node.name].distance){

View File

@ -1,36 +1,37 @@
window.noname_update={ window.noname_update={
version:'1.9.6.4', version:'1.9.6.4',
update:'1.9.6.2', update:'1.9.6.4',
changeLog:[ changeLog:[
'bug修复', 'bug修复',
], ],
files:[ files:[
'game/game.js', // 'game/game.js',
'game/package.js', // 'game/package.js',
'game/asset.js', // 'game/asset.js',
'card/hearth.js', // 'card/hearth.js',
'card/swd.js', // 'card/swd.js',
'card/guozhan.js', // 'card/sp.js',
'character/rank.js', // 'card/guozhan.js',
'character/ow.js', // 'character/rank.js',
'character/hearth.js', // 'character/ow.js',
'character/sp.js', // 'character/hearth.js',
'character/xianjian.js', // 'character/sp.js',
'character/refresh.js', // 'character/xianjian.js',
'character/shenhua.js', // 'character/refresh.js',
'character/swd.js', // 'character/shenhua.js',
'character/yxs.js', // 'character/swd.js',
'character/yijiang.js', // 'character/yxs.js',
'character/extra.js', // 'character/yijiang.js',
'mode/boss.js', // 'character/extra.js',
'mode/versus.js', // 'mode/boss.js',
// 'mode/versus.js',
// 'mode/guozhan.js', // 'mode/guozhan.js',
// 'mode/identity.js', // 'mode/identity.js',
// 'mode/stone.js', // 'mode/stone.js',
// 'theme/simple/style.css', // 'theme/simple/style.css',
// 'layout/default/layout.css', // 'layout/default/layout.css',
// 'layout/long/layout.css', // 'layout/long/layout.css',
'layout/long2/layout.css', // 'layout/long2/layout.css',
// 'layout/mobile/layout.css', // 'layout/mobile/layout.css',
// 'layout/newlayout/global.css', // 'layout/newlayout/global.css',
// 'layout/mode/stone.css', // 'layout/mode/stone.css',

Binary file not shown.

Before

Width:  |  Height:  |  Size: 55 KiB

After

Width:  |  Height:  |  Size: 118 KiB