Bug+调整
DIY武将调整 木马AI 出桃AI 秘计修改 UI小改进 修复酒池不能自救的Bug 雄异的AI问题 木马可显示信息 绝策Bug
This commit is contained in:
parent
838b0bedc0
commit
c1f026180a
|
@ -6,7 +6,7 @@
|
||||||
"eqnull": true,
|
"eqnull": true,
|
||||||
"newcap": false,
|
"newcap": false,
|
||||||
"browser": true,
|
"browser": true,
|
||||||
"unused": true,
|
/*"unused": true,*/
|
||||||
"loopfunc": true,
|
"loopfunc": true,
|
||||||
"noyield": true,
|
"noyield": true,
|
||||||
"devel": true,
|
"devel": true,
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
'use strict';
|
||||||
card.refresh={
|
card.refresh={
|
||||||
card:{
|
card:{
|
||||||
muniu:{
|
muniu:{
|
||||||
|
@ -65,6 +66,7 @@ card.refresh={
|
||||||
respondSha:true,
|
respondSha:true,
|
||||||
respondShan:true,
|
respondShan:true,
|
||||||
order:1,
|
order:1,
|
||||||
|
expose:0.1,
|
||||||
result:{
|
result:{
|
||||||
player:1
|
player:1
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
'use strict';
|
||||||
card.standard={
|
card.standard={
|
||||||
card:{
|
card:{
|
||||||
damage:{
|
damage:{
|
||||||
|
@ -230,6 +231,11 @@ card.standard={
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if(lib.config.mode=='identity'&&player.identity=='zhu'&&target.identity=='nei'){
|
||||||
|
if(tri&&tri.name=='dying'&&tri.source&&tri.source.identity=='zhong'){
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
if(lib.config.mode=='stone'&&target.isMin()&&
|
if(lib.config.mode=='stone'&&target.isMin()&&
|
||||||
player!=target&&tri&&tri.name=='dying'&&player.side==target.side&&
|
player!=target&&tri&&tri.name=='dying'&&player.side==target.side&&
|
||||||
tri.source!=target.getEnemy()){
|
tri.source!=target.getEnemy()){
|
||||||
|
|
|
@ -22,6 +22,9 @@ character.fire={
|
||||||
return get.color(card)=='red';
|
return get.color(card)=='red';
|
||||||
},
|
},
|
||||||
viewAs:{name:'huogong',nature:'fire'},
|
viewAs:{name:'huogong',nature:'fire'},
|
||||||
|
viewAsFilter:function(player){
|
||||||
|
if(!player.num('h',{color:'red'})) return false;
|
||||||
|
},
|
||||||
prompt:'将一张红色牌当火攻使用',
|
prompt:'将一张红色牌当火攻使用',
|
||||||
check:function(card){
|
check:function(card){
|
||||||
var player=_status.currentPhase;
|
var player=_status.currentPhase;
|
||||||
|
|
|
@ -747,7 +747,7 @@ character.mountain={
|
||||||
event.finish();
|
event.finish();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
player.chooseCardButton(event.cards,'选择令目标收回的牌');
|
player.chooseCardButton(event.cards,'固政:选择令'+get.translation(trigger.player)+'收回的牌');
|
||||||
"step 2"
|
"step 2"
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
player.logSkill('guzheng',trigger.player);
|
player.logSkill('guzheng',trigger.player);
|
||||||
|
|
|
@ -95,7 +95,8 @@ character.refresh={
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
"step 0"
|
"step 0"
|
||||||
player.chooseCard('鬼才:请选择代替判定的牌','he').ai=function(card){
|
player.chooseCard(get.translation(trigger.player)+'的'+(trigger.judgestr||'')+'判定为'+
|
||||||
|
get.translation(trigger.player.judging)+',是否发动【鬼才】?','he').ai=function(card){
|
||||||
var trigger=_status.event.parent._trigger;
|
var trigger=_status.event.parent._trigger;
|
||||||
var player=_status.event.player;
|
var player=_status.event.player;
|
||||||
var result=trigger.judge(card)-trigger.judge(trigger.player.judging);
|
var result=trigger.judge(card)-trigger.judge(trigger.player.judging);
|
||||||
|
@ -146,7 +147,7 @@ character.refresh={
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
event.num--;
|
event.num--;
|
||||||
player.choosePlayerCard(trigger.source,ai.get.buttonValue,'he');
|
player.choosePlayerCard('是否对'+get.translation(trigger.source)+'发动【反馈】?',trigger.source,ai.get.buttonValue,'he');
|
||||||
"step 2"
|
"step 2"
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
player.logSkill('refankui',trigger.source);
|
player.logSkill('refankui',trigger.source);
|
||||||
|
@ -653,9 +654,9 @@ character.refresh={
|
||||||
effect:function(card,player,target){
|
effect:function(card,player,target){
|
||||||
if(get.tag(card,'damage')){
|
if(get.tag(card,'damage')){
|
||||||
if(player.skills.contains('jueqing')) return [1,-2];
|
if(player.skills.contains('jueqing')) return [1,-2];
|
||||||
if(player.hp>=4) return [1,get.tag(card,damage)*2];
|
if(player.hp>=4) return [1,get.tag(card,'damage')*2];
|
||||||
if(target.hp==3) return [1,get.tag(card,damage)*1.5];
|
if(target.hp==3) return [1,get.tag(card,'damage')*1.5];
|
||||||
if(target.hp==2) return [1,get.tag(card,damage)*0.5];
|
if(target.hp==2) return [1,get.tag(card,'damage')*0.5];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
'use strict';
|
||||||
character.sp={
|
character.sp={
|
||||||
character:{
|
character:{
|
||||||
yangxiu:['male','wei',3,['jilei','danlao'],['fullskin']],
|
yangxiu:['male','wei',3,['jilei','danlao'],['fullskin']],
|
||||||
|
@ -1170,7 +1171,7 @@ character.sp={
|
||||||
if(event.card.name!='sha') return false;
|
if(event.card.name!='sha') return false;
|
||||||
if(event.player==player) return false;
|
if(event.player==player) return false;
|
||||||
if(event.targets.contains(player)) return false;
|
if(event.targets.contains(player)) return false;
|
||||||
if(player.tempSkills['yongjue2']) return false;
|
if(player.tempSkills.yongjue2) return false;
|
||||||
if(event.cards){
|
if(event.cards){
|
||||||
for(var i=0;i<event.cards.length;i++){
|
for(var i=0;i<event.cards.length;i++){
|
||||||
if(get.position(event.cards[i])=='d') return true;
|
if(get.position(event.cards[i])=='d') return true;
|
||||||
|
@ -1566,7 +1567,7 @@ character.sp={
|
||||||
if(lib.config.mode=='identity'){
|
if(lib.config.mode=='identity'){
|
||||||
if(game.players[i].ai.shown<=0) return -10;
|
if(game.players[i].ai.shown<=0) return -10;
|
||||||
}
|
}
|
||||||
else if(lib.config.mode='guozhan'){
|
else if(lib.config.mode=='guozhan'){
|
||||||
if(game.players[i].identity=='unknown') return -10;
|
if(game.players[i].identity=='unknown') return -10;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1818,7 +1819,7 @@ character.sp={
|
||||||
save:true,
|
save:true,
|
||||||
result:{
|
result:{
|
||||||
player:function(player){
|
player:function(player){
|
||||||
if(player.tempSkills['aocai4']) return 0;
|
if(player.tempSkills.aocai4) return 0;
|
||||||
if(_status.dying) return ai.get.attitude(player,_status.dying);
|
if(_status.dying) return ai.get.attitude(player,_status.dying);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
@ -1941,7 +1942,8 @@ character.sp={
|
||||||
if(player==_status.currentPhase) return false;
|
if(player==_status.currentPhase) return false;
|
||||||
if(event.cards){
|
if(event.cards){
|
||||||
for(var i=0;i<event.cards.length;i++){
|
for(var i=0;i<event.cards.length;i++){
|
||||||
if(get.color(event.cards[i])=='red') return true;
|
if(get.color(event.cards[i])=='red'&&
|
||||||
|
event.cards[i].original!='j') return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -117,7 +117,7 @@ character.standard={
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
"step 0"
|
"step 0"
|
||||||
player.choosePlayerCard(trigger.source,ai.get.buttonValue,'he');
|
player.choosePlayerCard('是否对'+get.translation(trigger.source)+'发动【反馈】?',trigger.source,ai.get.buttonValue,'he');
|
||||||
"step 1"
|
"step 1"
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
player.logSkill('fankui',trigger.source);
|
player.logSkill('fankui',trigger.source);
|
||||||
|
@ -145,7 +145,8 @@ character.standard={
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
"step 0"
|
"step 0"
|
||||||
player.chooseCard('鬼才:请选择代替判定的牌').ai=function(card){
|
player.chooseCard(get.translation(trigger.player)+'的'+(trigger.judgestr||'')+'判定为'+
|
||||||
|
get.translation(trigger.player.judging)+',是否发动【鬼才】?').ai=function(card){
|
||||||
var trigger=_status.event.parent._trigger;
|
var trigger=_status.event.parent._trigger;
|
||||||
var player=_status.event.player;
|
var player=_status.event.player;
|
||||||
var result=trigger.judge(card)-trigger.judge(trigger.player.judging);
|
var result=trigger.judge(card)-trigger.judge(trigger.player.judging);
|
||||||
|
@ -717,7 +718,7 @@ character.standard={
|
||||||
else{
|
else{
|
||||||
top.unshift(cards.shift());
|
top.unshift(cards.shift());
|
||||||
}
|
}
|
||||||
};
|
}
|
||||||
}
|
}
|
||||||
var bottom;
|
var bottom;
|
||||||
if(!stopped){
|
if(!stopped){
|
||||||
|
@ -1193,7 +1194,7 @@ character.standard={
|
||||||
target.recover();
|
target.recover();
|
||||||
},
|
},
|
||||||
ai:{
|
ai:{
|
||||||
order:7.5,
|
order:5.5,
|
||||||
result:{
|
result:{
|
||||||
player:function(player){
|
player:function(player){
|
||||||
if(player.hp<player.maxHp) return 4;
|
if(player.hp<player.maxHp) return 4;
|
||||||
|
@ -1246,6 +1247,9 @@ character.standard={
|
||||||
prompt:'将一张红色牌当桃使用',
|
prompt:'将一张红色牌当桃使用',
|
||||||
check:function(card){return 15-ai.get.value(card)},
|
check:function(card){return 15-ai.get.value(card)},
|
||||||
ai:{
|
ai:{
|
||||||
|
skillTagFilter:function(player){
|
||||||
|
return player.num('he',{color:'red'})>0;
|
||||||
|
},
|
||||||
threaten:1.5,
|
threaten:1.5,
|
||||||
save:true,
|
save:true,
|
||||||
}
|
}
|
||||||
|
|
|
@ -166,6 +166,7 @@ character.swd={
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
case 'guozhan':{
|
case 'guozhan':{
|
||||||
if(player.identity=='unknown') return 0;
|
if(player.identity=='unknown') return 0;
|
||||||
|
@ -1663,7 +1664,7 @@ character.swd={
|
||||||
order:12,
|
order:12,
|
||||||
result:{
|
result:{
|
||||||
player:function(player){
|
player:function(player){
|
||||||
if(player.tempSkills['jilve3']) return 0;
|
if(player.tempSkills.jilve3) return 0;
|
||||||
if(_status.dying) return ai.get.attitude(player,_status.dying);
|
if(_status.dying) return ai.get.attitude(player,_status.dying);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
@ -2917,7 +2918,8 @@ character.swd={
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
"step 0"
|
"step 0"
|
||||||
player.chooseCard('请选择替换判定的牌','he').ai=function(card){
|
player.chooseCard(get.translation(trigger.player)+'的'+(trigger.judgestr||'')+'判定为'+
|
||||||
|
get.translation(trigger.player.judging)+',是否发动【天道】?','he').ai=function(card){
|
||||||
var trigger=_status.event.parent._trigger;
|
var trigger=_status.event.parent._trigger;
|
||||||
var player=_status.event.player;
|
var player=_status.event.player;
|
||||||
var result=trigger.judge(card)-trigger.judge(trigger.player.judging);
|
var result=trigger.judge(card)-trigger.judge(trigger.player.judging);
|
||||||
|
@ -3317,8 +3319,10 @@ character.swd={
|
||||||
group:['kunlunjing1','kunlunjing2'],
|
group:['kunlunjing1','kunlunjing2'],
|
||||||
intro:{
|
intro:{
|
||||||
content:function(storage,player){
|
content:function(storage,player){
|
||||||
|
if(true){
|
||||||
return player.storage.kunlunjing3;
|
return player.storage.kunlunjing3;
|
||||||
|
}
|
||||||
|
var table,str,st,tr,td;
|
||||||
for(var i=0;i<storage.length;i++){
|
for(var i=0;i<storage.length;i++){
|
||||||
if(game.players.contains(storage[i].player)){
|
if(game.players.contains(storage[i].player)){
|
||||||
st=storage[i];
|
st=storage[i];
|
||||||
|
@ -3359,7 +3363,7 @@ character.swd={
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
kunlunjing1:{
|
kunlunjing1:{
|
||||||
trigger:{player:['damageAfter','phaseBefore']},
|
trigger:{player:['phaseBefore']},
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
if(player.storage.kunlunjing2) return false;
|
if(player.storage.kunlunjing2) return false;
|
||||||
if(player.storage.kunlunjing) return true;
|
if(player.storage.kunlunjing) return true;
|
||||||
|
@ -3369,7 +3373,7 @@ character.swd={
|
||||||
if(event.name=='phase'&&player.hp<3) return false;
|
if(event.name=='phase'&&player.hp<3) return false;
|
||||||
var storage=event.player.storage.kunlunjing;
|
var storage=event.player.storage.kunlunjing;
|
||||||
var num=0;
|
var num=0;
|
||||||
for(i=0;i<storage.length;i++){
|
for(var i=0;i<storage.length;i++){
|
||||||
if(game.players.contains(storage[i].player)){
|
if(game.players.contains(storage[i].player)){
|
||||||
var att=ai.get.attitude(player,storage[i].player);
|
var att=ai.get.attitude(player,storage[i].player);
|
||||||
var num2=storage[i].value-storage[i].player.num('he')+storage[i].player.num('j');
|
var num2=storage[i].value-storage[i].player.num('he')+storage[i].player.num('j');
|
||||||
|
@ -3386,12 +3390,14 @@ character.swd={
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
"step 0"
|
"step 0"
|
||||||
|
game.delay(0.5);
|
||||||
|
"step 1"
|
||||||
event.player.storage.kunlunjing2=true;
|
event.player.storage.kunlunjing2=true;
|
||||||
ui.arena.classList.add('zoomout3');
|
ui.arena.classList.add('zoomout3');
|
||||||
ui.arena.delete();
|
ui.arena.delete();
|
||||||
ui.arena.hide();
|
ui.arena.hide();
|
||||||
game.delay(0,500);
|
game.delay(0,500);
|
||||||
"step 1"
|
"step 2"
|
||||||
var storage=event.player.storage.kunlunjing;
|
var storage=event.player.storage.kunlunjing;
|
||||||
var player,frag;
|
var player,frag;
|
||||||
var i,j;
|
var i,j;
|
||||||
|
@ -3443,7 +3449,7 @@ character.swd={
|
||||||
ui.arena.classList.remove('zoomout3');
|
ui.arena.classList.remove('zoomout3');
|
||||||
ui.arena.classList.add('zoomin3');
|
ui.arena.classList.add('zoomin3');
|
||||||
ui.window.appendChild(ui.arena);
|
ui.window.appendChild(ui.arena);
|
||||||
"step 2"
|
"step 3"
|
||||||
ui.arena.show();
|
ui.arena.show();
|
||||||
ui.arena.classList.remove('zoomin3');
|
ui.arena.classList.remove('zoomin3');
|
||||||
event.player.storage.kunlunjing3='已发动';
|
event.player.storage.kunlunjing3='已发动';
|
||||||
|
@ -3748,7 +3754,7 @@ character.swd={
|
||||||
player.storage.liaoyuan=event.num;
|
player.storage.liaoyuan=event.num;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
group:'liaoyuan2'
|
group:['liaoyuan2','liaoyuan3']
|
||||||
},
|
},
|
||||||
liaoyuan2:{
|
liaoyuan2:{
|
||||||
trigger:{source:'damageBegin'},
|
trigger:{source:'damageBegin'},
|
||||||
|
@ -3759,7 +3765,16 @@ character.swd={
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
trigger.num+=player.storage.liaoyuan;
|
trigger.num+=player.storage.liaoyuan;
|
||||||
player.storage.liaoyuan>0;
|
player.storage.liaoyuan=0;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
liaoyuan3:{
|
||||||
|
trigger:{player:'shaEnd'},
|
||||||
|
forced:true,
|
||||||
|
popup:false,
|
||||||
|
silent:true,
|
||||||
|
content:function(){
|
||||||
|
player.storage.liaoyuan=0;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
dunxing:{
|
dunxing:{
|
||||||
|
@ -4339,7 +4354,7 @@ character.swd={
|
||||||
trigger:{player:'phaseAfter'},
|
trigger:{player:'phaseAfter'},
|
||||||
frequent:true,
|
frequent:true,
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
return get.cardCount(true,player)>=3;;
|
return get.cardCount(true,player)>=3;
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
player.phase();
|
player.phase();
|
||||||
|
@ -5749,8 +5764,14 @@ character.swd={
|
||||||
trigger:{source:'damageEnd'},
|
trigger:{source:'damageEnd'},
|
||||||
priority:1,
|
priority:1,
|
||||||
forced:true,
|
forced:true,
|
||||||
|
filter:function(event,player){
|
||||||
|
return player.hp<player.maxHp;
|
||||||
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
"step 0"
|
"step 0"
|
||||||
|
player.recover();
|
||||||
|
event.finish();
|
||||||
|
"step 1"
|
||||||
if(player.hp<player.maxHp){
|
if(player.hp<player.maxHp){
|
||||||
player.chooseControl('draw_card','recover_hp',function(event,target){
|
player.chooseControl('draw_card','recover_hp',function(event,target){
|
||||||
if(player.num('h')>=player.hp) return 'recover_hp';
|
if(player.num('h')>=player.hp) return 'recover_hp';
|
||||||
|
@ -5761,7 +5782,7 @@ character.swd={
|
||||||
player.draw();
|
player.draw();
|
||||||
event.finish();
|
event.finish();
|
||||||
}
|
}
|
||||||
"step 1"
|
"step 2"
|
||||||
if(result.control=='draw_card'){
|
if(result.control=='draw_card'){
|
||||||
player.draw();
|
player.draw();
|
||||||
}
|
}
|
||||||
|
@ -5985,21 +6006,15 @@ character.swd={
|
||||||
for(var i=0;i<game.players.length;i++){
|
for(var i=0;i<game.players.length;i++){
|
||||||
list=list.concat(game.players[i].get('j'));
|
list=list.concat(game.players[i].get('j'));
|
||||||
}
|
}
|
||||||
var dialog=ui.create.dialog('天轮:替换'+get.translation(trigger.player.judging)+
|
var dialog=ui.create.dialog(get.translation(trigger.player)+'的'+(trigger.judgestr||'')+'判定为'+get.translation(trigger.player.judging)+
|
||||||
'('+get.translation(get.suit(trigger.player.judging))+get.translation(get.number(trigger.player.judging))+')',list);
|
',是否发动【天轮】?',list);
|
||||||
player.chooseButton(dialog,function(button){
|
player.chooseButton(dialog,function(button){
|
||||||
var card=button.link;
|
var card=button.link;
|
||||||
var trigger=_status.event.parent._trigger;
|
var trigger=_status.event.parent._trigger;
|
||||||
var player=_status.event.player;
|
var player=_status.event.player;
|
||||||
var result=trigger.judge(card)-trigger.judge(trigger.player.judging);
|
var result=trigger.judge(card)-trigger.judge(trigger.player.judging);
|
||||||
var attitude=ai.get.attitude(player,trigger.player);
|
var attitude=ai.get.attitude(player,trigger.player);
|
||||||
if(attitude==0||result==0) return 1;
|
return result*attitude;
|
||||||
if(attitude>0){
|
|
||||||
return result+1;
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
return -result+1;
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
"step 1"
|
"step 1"
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
|
@ -6009,10 +6024,8 @@ character.swd={
|
||||||
}
|
}
|
||||||
"step 2"
|
"step 2"
|
||||||
if(event.card){
|
if(event.card){
|
||||||
player.logSkill('tianlun');
|
player.logSkill('tianlun',trigger.player);
|
||||||
if(trigger.player.judging.clone) trigger.player.judging.clone.moveTo(player).delete();
|
ui.discardPile.appendChild(trigger.player.judging);
|
||||||
else player.$draw();
|
|
||||||
player.gain(trigger.player.judging);
|
|
||||||
trigger.player.judging=event.card;
|
trigger.player.judging=event.card;
|
||||||
trigger.position.appendChild(event.card);
|
trigger.position.appendChild(event.card);
|
||||||
game.log(get.translation(trigger.player)+'的判定牌改为'+get.translation(event.card));
|
game.log(get.translation(trigger.player)+'的判定牌改为'+get.translation(event.card));
|
||||||
|
@ -7637,7 +7650,7 @@ character.swd={
|
||||||
daofa:'道法',
|
daofa:'道法',
|
||||||
daofa_info:'每当有一名其他角色造成伤害,你可以令其弃置一张牌',
|
daofa_info:'每当有一名其他角色造成伤害,你可以令其弃置一张牌',
|
||||||
xiaomoyu:'魔愈',
|
xiaomoyu:'魔愈',
|
||||||
xiaomoyu_info:'锁定技,每当你造成一次伤害,你摸一张牌或回复一点体力',
|
xiaomoyu_info:'锁定技,每当你造成一次伤害,你回复一点体力',
|
||||||
yihua:'移花',
|
yihua:'移花',
|
||||||
yihua_info:'每当你成为其他角色的某张卡牌的惟一目标时,你可以弃置两张手牌,将使用者与目标对调',
|
yihua_info:'每当你成为其他角色的某张卡牌的惟一目标时,你可以弃置两张手牌,将使用者与目标对调',
|
||||||
youyin:'游吟',
|
youyin:'游吟',
|
||||||
|
@ -7860,7 +7873,7 @@ character.swd={
|
||||||
shengshou_info:'你可以将一张黑色手牌当作草药使用',
|
shengshou_info:'你可以将一张黑色手牌当作草药使用',
|
||||||
susheng_info:'在任意一名角色即将死亡时,你可以弃置一张手牌防止其死亡,并将其体力回复至1',
|
susheng_info:'在任意一名角色即将死亡时,你可以弃置一张手牌防止其死亡,并将其体力回复至1',
|
||||||
zhanlu_info:'出牌阶段,你可以弃置一张黑桃牌令至多3名角色各回复一点体力',
|
zhanlu_info:'出牌阶段,你可以弃置一张黑桃牌令至多3名角色各回复一点体力',
|
||||||
kunlunjing_info:'回合开始前或当你受到一次伤害后,你可以令场上所有牌还原到你上一回合结束后的位置;若在回合开始前发动,你流失一点体力',
|
kunlunjing_info:'回合开始前,你可以令场上所有牌还原到你上一回合结束时的位置,然后流失一点体力',
|
||||||
swd_xiuluo_info:'回合开始阶段,你可以弃一张手牌来弃置你判断区里的一张延时类锦囊(必须花色相同)',
|
swd_xiuluo_info:'回合开始阶段,你可以弃一张手牌来弃置你判断区里的一张延时类锦囊(必须花色相同)',
|
||||||
xianyin_info:'出牌阶段,你可以令所有判定区内有牌的角色弃置判定区内的牌,然后交给你一张手牌',
|
xianyin_info:'出牌阶段,你可以令所有判定区内有牌的角色弃置判定区内的牌,然后交给你一张手牌',
|
||||||
qiaoxie_info:'每当你装备一张牌,可摸一张牌,每当你失去一张装备牌(不含替换),你可以弃置其他角色的一张牌',
|
qiaoxie_info:'每当你装备一张牌,可摸一张牌,每当你失去一张装备牌(不含替换),你可以弃置其他角色的一张牌',
|
||||||
|
@ -7882,7 +7895,7 @@ character.swd={
|
||||||
miles_xueyi_info:'锁定技,你防止即将受到的伤害,然后流失一点体力',
|
miles_xueyi_info:'锁定技,你防止即将受到的伤害,然后流失一点体力',
|
||||||
duanyi_info:'出牌阶段限一次,你可以弃置两张杀,对一名角色造成一点伤害,然后其翻面并摸X张牌,X为其已损失的体力值',
|
duanyi_info:'出牌阶段限一次,你可以弃置两张杀,对一名角色造成一点伤害,然后其翻面并摸X张牌,X为其已损失的体力值',
|
||||||
guxing_info:'出牌阶段,你可以将最后至多X张手牌当杀使用,此杀无视距离且可以指定至多3个目标,每造成一次伤害,你摸一张牌,X为你已损失的体力值且至少为1。',
|
guxing_info:'出牌阶段,你可以将最后至多X张手牌当杀使用,此杀无视距离且可以指定至多3个目标,每造成一次伤害,你摸一张牌,X为你已损失的体力值且至少为1。',
|
||||||
tianlun_info:'任意一名角色的判定生效前,你可以弃置一张场上角色的判定牌替换之',
|
tianlun_info:'任意一名角色的判定生效前,你可以弃置一张场上角色的判定牌代替之',
|
||||||
longyin_info:'出牌阶段,你可以弃置任意张颜色相同且点数不同的牌,并获得逆时针座位距离与卡牌点数相同的角色区域内的一张牌。每阶段限一次',
|
longyin_info:'出牌阶段,你可以弃置任意张颜色相同且点数不同的牌,并获得逆时针座位距离与卡牌点数相同的角色区域内的一张牌。每阶段限一次',
|
||||||
lanzhi_info:'每当你即将造成伤害,可以防止此伤害,然后摸两张牌。每回合限发动一次。',
|
lanzhi_info:'每当你即将造成伤害,可以防止此伤害,然后摸两张牌。每回合限发动一次。',
|
||||||
tianhuo_info:'出牌阶段,你可以令所有角色弃置其判定区域内的牌,并受到没有来源的等量火焰伤害,每阶段限一次',
|
tianhuo_info:'出牌阶段,你可以令所有角色弃置其判定区域内的牌,并受到没有来源的等量火焰伤害,每阶段限一次',
|
||||||
|
|
|
@ -338,7 +338,8 @@ character.wind={
|
||||||
direct:true,
|
direct:true,
|
||||||
content:function(){
|
content:function(){
|
||||||
"step 0"
|
"step 0"
|
||||||
player.chooseCard('请选择替换判定的牌','he',function(card){
|
player.chooseCard(get.translation(trigger.player)+'的'+(trigger.judgestr||'')+'判定为'+
|
||||||
|
get.translation(trigger.player.judging)+',是否发动【鬼道】?','he',function(card){
|
||||||
return get.color(card)=='black';
|
return get.color(card)=='black';
|
||||||
}).ai=function(card){
|
}).ai=function(card){
|
||||||
var trigger=_status.event.parent._trigger;
|
var trigger=_status.event.parent._trigger;
|
||||||
|
|
|
@ -513,10 +513,20 @@ character.woods={
|
||||||
return get.suit(card)=='spade';
|
return get.suit(card)=='spade';
|
||||||
},
|
},
|
||||||
viewAs:{name:'jiu'},
|
viewAs:{name:'jiu'},
|
||||||
|
viewAsFilter:function(player){
|
||||||
|
if(!player.num('h',{suit:'spade'})) return false;
|
||||||
|
},
|
||||||
prompt:'将一张黑桃手牌当酒使用',
|
prompt:'将一张黑桃手牌当酒使用',
|
||||||
check:function(card){
|
check:function(card){
|
||||||
if(_status.event.type=='dying') return 1;
|
if(_status.event.type=='dying') return 1;
|
||||||
return 4-ai.get.value(card);
|
return 4-ai.get.value(card);
|
||||||
|
},
|
||||||
|
ai:{
|
||||||
|
skillTagFilter:function(player){
|
||||||
|
return player.num('h',{suit:'spade'})>0;
|
||||||
|
},
|
||||||
|
threaten:1.5,
|
||||||
|
save:true,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
roulin:{
|
roulin:{
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
'use strict';
|
||||||
character.xianjian={
|
character.xianjian={
|
||||||
character:{
|
character:{
|
||||||
pal_lixiaoyao:['male','qun',4,['xiaoyao','yujian'],['fullskin']],
|
pal_lixiaoyao:['male','qun',4,['xiaoyao','yujian'],['fullskin']],
|
||||||
|
@ -526,7 +527,7 @@ character.xianjian={
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
},
|
},
|
||||||
direct:true,
|
frequent:true,
|
||||||
content:function(){
|
content:function(){
|
||||||
"step 0"
|
"step 0"
|
||||||
if(trigger.delay==false) game.delay();
|
if(trigger.delay==false) game.delay();
|
||||||
|
@ -538,16 +539,10 @@ character.xianjian={
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(cards.length){
|
if(cards.length){
|
||||||
player.chooseCardButton('聚宝:获得其中的一张非基本牌牌',cards);
|
var card=cards.randomGet();
|
||||||
|
player.gain(card);
|
||||||
}
|
player.$gain2(card);
|
||||||
"step 2"
|
game.log(get.translation(player)+'获得了'+get.translation(card));
|
||||||
if(result.bool){
|
|
||||||
var cards=result.links;
|
|
||||||
player.logSkill('jubao');
|
|
||||||
player.gain(cards);
|
|
||||||
player.$gain2(cards);
|
|
||||||
game.log(get.translation(player)+'获得了'+get.translation(cards));
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
ai:{
|
ai:{
|
||||||
|
@ -864,7 +859,8 @@ character.xianjian={
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
order:10,
|
order:10,
|
||||||
threaten:1.2
|
threaten:1.2,
|
||||||
|
exoise:0.2
|
||||||
},
|
},
|
||||||
mod:{
|
mod:{
|
||||||
targetInRange:function(card,player,target){
|
targetInRange:function(card,player,target){
|
||||||
|
@ -1142,6 +1138,7 @@ character.xianjian={
|
||||||
trigger:{player:['phaseBegin','dieBegin']},
|
trigger:{player:['phaseBegin','dieBegin']},
|
||||||
forced:true,
|
forced:true,
|
||||||
popup:false,
|
popup:false,
|
||||||
|
silent:true,
|
||||||
content:function(){
|
content:function(){
|
||||||
"step 0"
|
"step 0"
|
||||||
event.players=game.players.slice(0);
|
event.players=game.players.slice(0);
|
||||||
|
@ -1369,7 +1366,7 @@ character.xianjian={
|
||||||
sajin:'洒金',
|
sajin:'洒金',
|
||||||
sajin_info:'出牌阶段,你可以弃置一张手牌并指定任意名角色进行判定,若判定花色与你弃置的牌相同,该角色回复一点体力',
|
sajin_info:'出牌阶段,你可以弃置一张手牌并指定任意名角色进行判定,若判定花色与你弃置的牌相同,该角色回复一点体力',
|
||||||
jubao:'聚宝',
|
jubao:'聚宝',
|
||||||
jubao_info:'当其他角色于你的回合外弃置非基本牌时,你可以获得其中的一张',
|
jubao_info:'当其他角色于你的回合外弃置非基本牌时,你可以随机获得其中的一张',
|
||||||
guiyuan:'归元',
|
guiyuan:'归元',
|
||||||
guiyuan_info:'出牌阶段限一次,你可以弃置一张杀并回复一点体力',
|
guiyuan_info:'出牌阶段限一次,你可以弃置一张杀并回复一点体力',
|
||||||
shuangren:'双刃',
|
shuangren:'双刃',
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
'use strict';
|
||||||
character.yijiang={
|
character.yijiang={
|
||||||
character:{
|
character:{
|
||||||
yujin:['male','wei',4,['yizhong'],['fullskin']],
|
yujin:['male','wei',4,['yizhong'],['fullskin']],
|
||||||
|
@ -303,7 +304,7 @@ character.yijiang={
|
||||||
event.current.chooseToDiscard({subtype:'equip1'},'he','弃置一张武器牌或让'+
|
event.current.chooseToDiscard({subtype:'equip1'},'he','弃置一张武器牌或让'+
|
||||||
get.translation(target)+'摸一张牌').ai=function(card){
|
get.translation(target)+'摸一张牌').ai=function(card){
|
||||||
if(ai.get.attitude(event.current,target)<0) return 7-ai.get.value(card);
|
if(ai.get.attitude(event.current,target)<0) return 7-ai.get.value(card);
|
||||||
return -1.
|
return -1;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -692,7 +693,7 @@ character.yijiang={
|
||||||
return player.num('h')>0;
|
return player.num('h')>0;
|
||||||
},
|
},
|
||||||
filterTarget:function(card,player,target){
|
filterTarget:function(card,player,target){
|
||||||
return target.hp<target.maxHp&&!target.tempSkills['dingpin2'];
|
return target.hp<target.maxHp&&!target.tempSkills.dingpin2;
|
||||||
},
|
},
|
||||||
filterCard:true,
|
filterCard:true,
|
||||||
check:function(card){
|
check:function(card){
|
||||||
|
@ -1009,7 +1010,7 @@ character.yijiang={
|
||||||
globalSilent:true,
|
globalSilent:true,
|
||||||
trigger:{global:'phaseEnd'},
|
trigger:{global:'phaseEnd'},
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
return event.player!=player&&!event.player.tempSkills['qieting3'];
|
return event.player!=player&&!event.player.tempSkills.qieting3;
|
||||||
},
|
},
|
||||||
frequent:true,
|
frequent:true,
|
||||||
content:function(){
|
content:function(){
|
||||||
|
@ -1493,22 +1494,24 @@ character.yijiang={
|
||||||
event.num=player.maxHp-player.hp;
|
event.num=player.maxHp-player.hp;
|
||||||
player.draw(event.num);
|
player.draw(event.num);
|
||||||
"step 1"
|
"step 1"
|
||||||
|
var check=player.num('h')-event.num;
|
||||||
player.chooseCardTarget({
|
player.chooseCardTarget({
|
||||||
selectCard:event.num,
|
selectCard:event.num,
|
||||||
filterTarget:function(card,player,target){
|
filterTarget:function(card,player,target){
|
||||||
return player!=target;
|
return player!=target;
|
||||||
},
|
},
|
||||||
ai1:function(card){
|
ai1:function(card){
|
||||||
|
if(check<1) return 0;
|
||||||
|
if(player.hp>1&&check<2) return 0;
|
||||||
return ai.get.unuseful(card)+9;
|
return ai.get.unuseful(card)+9;
|
||||||
},
|
},
|
||||||
ai2:function(target){
|
ai2:function(target){
|
||||||
return ai.get.attitude(player,target);
|
return ai.get.attitude(player,target)-2;
|
||||||
},
|
},
|
||||||
prompt:'将'+event.num+'张手牌交给一名其他角色',
|
prompt:'将'+event.num+'张手牌交给一名其他角色',
|
||||||
forced:true
|
|
||||||
});
|
});
|
||||||
"step 2"
|
"step 2"
|
||||||
if(result){
|
if(result.bool){
|
||||||
result.targets[0].gain(result.cards);
|
result.targets[0].gain(result.cards);
|
||||||
event.player.$give(result.cards.length,result.targets[0]);
|
event.player.$give(result.cards.length,result.targets[0]);
|
||||||
}
|
}
|
||||||
|
@ -1598,7 +1601,6 @@ character.yijiang={
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
xinwuyan:{
|
xinwuyan:{
|
||||||
check:function(){return false},
|
|
||||||
trigger:{target:'useCardToBefore',player:'useCardToBefore'},
|
trigger:{target:'useCardToBefore',player:'useCardToBefore'},
|
||||||
forced:true,
|
forced:true,
|
||||||
priority:15,
|
priority:15,
|
||||||
|
@ -1771,6 +1773,7 @@ character.yijiang={
|
||||||
trigger:{source:'damageBefore'},
|
trigger:{source:'damageBefore'},
|
||||||
forced:true,
|
forced:true,
|
||||||
priority:10,
|
priority:10,
|
||||||
|
check:function(){return false;},
|
||||||
content:function(){
|
content:function(){
|
||||||
trigger.untrigger();
|
trigger.untrigger();
|
||||||
trigger.finish();
|
trigger.finish();
|
||||||
|
@ -3300,7 +3303,7 @@ character.yijiang={
|
||||||
anxu_info:'出牌阶段,你可以选择两名手牌数不相等的其他角色,令其中手牌少的角色获得手牌多的角色的一张手牌并展示之',
|
anxu_info:'出牌阶段,你可以选择两名手牌数不相等的其他角色,令其中手牌少的角色获得手牌多的角色的一张手牌并展示之',
|
||||||
zongxuan_info:'每当你的牌被弃置,你可以将其按任意顺序置于牌堆顶',
|
zongxuan_info:'每当你的牌被弃置,你可以将其按任意顺序置于牌堆顶',
|
||||||
zhiyan_info:'回合结束阶段,你可以令一名角色摸一张并展示之,若是装备牌,其立即装备之并回复一点体力',
|
zhiyan_info:'回合结束阶段,你可以令一名角色摸一张并展示之,若是装备牌,其立即装备之并回复一点体力',
|
||||||
miji_info:'回合结束阶段,若你已受伤,可以摸X张牌,然后将等量的牌交给一名其他角色',
|
miji_info:'回合结束阶段,若你已受伤,可以摸X张牌,然后可以将等量的牌交给一名其他角色,X为你已损失的体力值',
|
||||||
zhenlie_info:'每当你成为其他角色的卡牌的目标时,你可以流失一点体力取消之,然后弃置对方一张牌',
|
zhenlie_info:'每当你成为其他角色的卡牌的目标时,你可以流失一点体力取消之,然后弃置对方一张牌',
|
||||||
chengxiang_info:'每当你受到一次伤害后,你可以亮出牌堆顶的四张牌。然后获得其中任意数量点数之和小于13的牌,将其余的牌置入弃牌堆。',
|
chengxiang_info:'每当你受到一次伤害后,你可以亮出牌堆顶的四张牌。然后获得其中任意数量点数之和小于13的牌,将其余的牌置入弃牌堆。',
|
||||||
renxin_info:'每当体力值为1的一名其他角色受到伤害时,你可以将武将牌翻面并弃置一张装备牌,然后防止此伤害。',
|
renxin_info:'每当体力值为1的一名其他角色受到伤害时,你可以将武将牌翻面并弃置一张装备牌,然后防止此伤害。',
|
||||||
|
|
30
game/game.js
30
game/game.js
|
@ -1595,9 +1595,12 @@
|
||||||
else if(cards[i].parentNode.classList.contains('judges')){
|
else if(cards[i].parentNode.classList.contains('judges')){
|
||||||
cards[i].original='j';
|
cards[i].original='j';
|
||||||
}
|
}
|
||||||
else{
|
else if(cards[i].parentNode.id=='handcards1'||cards[i].parentNode.id=='handcards2'){
|
||||||
cards[i].original='h';
|
cards[i].original='h';
|
||||||
}
|
}
|
||||||
|
else{
|
||||||
|
cards[i].original=null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if(event.position){
|
if(event.position){
|
||||||
cards[i].goto(event.position);
|
cards[i].goto(event.position);
|
||||||
|
@ -1888,8 +1891,9 @@
|
||||||
ui.restart=ui.create.control('restart',game.reload);
|
ui.restart=ui.create.control('restart',game.reload);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(player==game.me&&ui.auto){
|
if(player==game.me){
|
||||||
ui.auto.hide();
|
if(ui.auto) ui.auto.hide();
|
||||||
|
if(ui.wuxie) ui.wuxie.hide();
|
||||||
}
|
}
|
||||||
player.$die(source);
|
player.$die(source);
|
||||||
},
|
},
|
||||||
|
@ -3418,6 +3422,7 @@
|
||||||
game.dead.remove(this);
|
game.dead.remove(this);
|
||||||
if(this==game.me){
|
if(this==game.me){
|
||||||
if(ui.auto) ui.auto.show();
|
if(ui.auto) ui.auto.show();
|
||||||
|
if(ui.wuxie) ui.wuxie.show();
|
||||||
if(ui.revive){
|
if(ui.revive){
|
||||||
ui.revive.close();
|
ui.revive.close();
|
||||||
delete ui.revive;
|
delete ui.revive;
|
||||||
|
@ -5578,6 +5583,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
if(ui.auto) ui.auto.hide();
|
if(ui.auto) ui.auto.hide();
|
||||||
|
if(ui.wuxie) ui.wuxie.hide();
|
||||||
if(ui.revive){
|
if(ui.revive){
|
||||||
ui.revive.close();
|
ui.revive.close();
|
||||||
delete ui.revive;
|
delete ui.revive;
|
||||||
|
@ -6070,6 +6076,7 @@
|
||||||
}
|
}
|
||||||
if(game.me.isAlive()){
|
if(game.me.isAlive()){
|
||||||
if(ui.auto) ui.auto.show();
|
if(ui.auto) ui.auto.show();
|
||||||
|
if(ui.wuxie) ui.wuxie.show();
|
||||||
if(ui.revive){
|
if(ui.revive){
|
||||||
ui.revive.close();
|
ui.revive.close();
|
||||||
delete ui.revive;
|
delete ui.revive;
|
||||||
|
@ -6097,6 +6104,7 @@
|
||||||
|
|
||||||
if(game.me.isAlive()){
|
if(game.me.isAlive()){
|
||||||
if(ui.auto) ui.auto.show();
|
if(ui.auto) ui.auto.show();
|
||||||
|
if(ui.wuxie) ui.wuxie.show();
|
||||||
if(ui.revive){
|
if(ui.revive){
|
||||||
ui.revive.close();
|
ui.revive.close();
|
||||||
delete ui.revive;
|
delete ui.revive;
|
||||||
|
@ -6443,6 +6451,7 @@
|
||||||
if(player==game.me){
|
if(player==game.me){
|
||||||
ui.me.hide();
|
ui.me.hide();
|
||||||
ui.auto.hide();
|
ui.auto.hide();
|
||||||
|
ui.wuxie.hide();
|
||||||
}
|
}
|
||||||
setTimeout(function(){
|
setTimeout(function(){
|
||||||
player.removeAttribute('style');
|
player.removeAttribute('style');
|
||||||
|
@ -9306,6 +9315,7 @@
|
||||||
if(this.classList.contains('dead')) return;
|
if(this.classList.contains('dead')) return;
|
||||||
if(_status.over) return;
|
if(_status.over) return;
|
||||||
if(ui.auto) ui.auto.show();
|
if(ui.auto) ui.auto.show();
|
||||||
|
if(ui.wuxie) ui.wuxie.show();
|
||||||
game.swapPlayer(this);
|
game.swapPlayer(this);
|
||||||
},
|
},
|
||||||
mousewheel:function(evt){
|
mousewheel:function(evt){
|
||||||
|
@ -10774,7 +10784,19 @@
|
||||||
else{
|
else{
|
||||||
uiintro.add(get.translation(node));
|
uiintro.add(get.translation(node));
|
||||||
}
|
}
|
||||||
if(lib.translate[name+'_info']){
|
if(node.name=='muniu'&&get.position(node)=='e'){
|
||||||
|
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>');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if(lib.translate[name+'_info']){
|
||||||
uiintro.add('<div class="text">'+lib.translate[name+'_info']+'</div>');
|
uiintro.add('<div class="text">'+lib.translate[name+'_info']+'</div>');
|
||||||
}
|
}
|
||||||
uiintro.add(ui.create.div('.placeholder.slim'));
|
uiintro.add(ui.create.div('.placeholder.slim'));
|
||||||
|
|
Loading…
Reference in New Issue