v1.9.53.1

This commit is contained in:
libccy 2018-08-07 01:01:36 +08:00
parent 2ad1ecc65e
commit 2522b635c7
8 changed files with 320 additions and 50 deletions

View File

@ -368,8 +368,8 @@ game.import('card',function(lib,game,ui,get,ai,_status){
}
}
var num=player.countCards('h','sha');
if(num>1) return 4+num;
return 2+num;
if(num>1) return 6+num;
return 3+num;
},
basic:{
equipValue:5

View File

@ -448,6 +448,113 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
}
},
gwminxiang_old:{
group:['gwminxiang_count','gwminxiang_clear','gwminxiang_use'],
subSkill:{
count:{
trigger:{player:'phaseBegin'},
silent:true,
content:function(){
player.storage.gwminxiang=[];
}
},
clear:{
trigger:{player:'phaseAfter'},
silent:true,
content:function(){
delete player.storage.gwminxiang;
}
},
use:{
trigger:{player:'useCardAfter'},
silent:true,
filter:function(event,player){
if(_status.currentPhase!=player) return false;
var type=get.type(event.card);
if(type!='trick'&&type!='basic') return false;
if(get.info(event.card).multitarget) return false;
if(!player.storage.gwminxiang) return false;
return true;
},
content:function(){
player.storage.gwminxiang.add(trigger.card);
}
}
},
trigger:{player:'phaseEnd'},
direct:true,
filter:function(event,player){
if(player.storage.gwminxiang){
for(var i=0;i<player.storage.gwminxiang.length;i++){
var card=player.storage.gwminxiang[i];
if(game.countPlayer(function(current){
return current!=player&&lib.filter.targetEnabled3(card,player,current);
})>1){
return true;
}
}
}
return false;
},
content:function(){
'step 0'
var list=[];
for(var i=0;i<player.storage.gwminxiang.length;i++){
var card=player.storage.gwminxiang[i];
if(game.countPlayer(function(current){
return current!=player&&lib.filter.targetEnabled3(card,player,current);
})>1){
list.push(card);
}
}
var skip=['shunshou','huogong','shandianjian','jiu'];
player.chooseCardButton(get.prompt('gwminxiang'),list).set('ai',function(button){
if(skip.contains(button.link.name)) return 0;
var val=get.value(button.link);
if(get.tag(button.link,'damage')){
val+=3;
}
return val;
});
'step 1'
if(result.bool){
var card=result.links[0];
event.card=card;
player.chooseTarget('选择两个目标互相使用'+get.translation(event.card),2,function(cardx,player,target){
return target!=player&&lib.filter.targetEnabled3(card,player,target);
}).set('ai',function(target){
if(ui.selected.targets.length){
return get.effect(target,card,ui.selected.targets[0],player);
}
return get.effect(target,card,target,player);
}).set('targetprompt',['先出牌','后出牌']);
}
else{
event.finish();
}
'step 2'
if(result.bool){
player.$throw(event.card);
player.logSkill('gwminxiang',result.targets);
event.target1=result.targets[0];
event.target2=result.targets[1];
game.delay();
}
else{
event.finish();
}
'step 3'
event.target1.useCard(event.card,event.target2,'noai');
'step 4'
if(event.target1.isIn()&&event.target2.isIn()){
event.target2.useCard(event.card,event.target1,'noai');
}
},
ai:{
expose:0.4,
threaten:1.6
}
},
gwminxiang:{
enable:'phaseUse',
usable:1,
@ -469,8 +576,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return false;
},
check:function(card){
if(['shunshou','huogong','shandianjian','jiu','tianxianjiu'].contains(card.name)) return 0;
if(get.tag(card,'damage')){
return get.value(card)+3;
return get.value(card)+2;
}
return get.value(card);
},
@ -487,34 +595,32 @@ game.import('character',function(lib,game,ui,get,ai,_status){
targetprompt:['先出牌','后出牌'],
selectTarget:2,
multitarget:true,
delay:0,
content:function(){
'step 0'
event.draw=0;
targets[0].useCard({name:cards[0].name},targets[1],'noai');
player.draw();
'step 1'
targets[0].useCard({name:cards[0].name},targets[1],'noai');
'step 2'
if(targets[0].isIn()&&targets[1].isIn()){
targets[1].useCard({name:cards[0].name},targets[0],'noai');
}
'step 2'
if(event.draw){
player.draw(event.draw);
}
},
group:'gwminxiang_draw',
// group:'gwminxiang_draw',
multiline:true,
subSkill:{
draw:{
trigger:{global:'damageAfter'},
silent:true,
filter:function(event,player){
var evt=event.getParent(3);
return evt.name=='gwminxiang'&&evt.player==player;
},
content:function(){
trigger.getParent(3).draw+=trigger.num;
}
}
},
// subSkill:{
// draw:{
// trigger:{global:'damageAfter'},
// silent:true,
// filter:function(event,player){
// var evt=event.getParent(3);
// return evt.name=='gwminxiang'&&evt.player==player;
// },
// content:function(){
// trigger.getParent(3).draw+=trigger.num;
// }
// }
// },
ai:{
order:8,
result:{
@ -4305,7 +4411,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
gwhuanbi:'幻笔',
gwhuanbi_info:'出牌阶段限一次,你可以弃置一张牌,并创造一张冒险牌,然后随机选择一名有手牌的角色,被选中的角色可以交给你一张手牌并获得一张该牌的复制',
gwminxiang:'冥想',
gwminxiang_info:'出牌阶段限一次,你可以弃置一张基本牌或普通锦囊牌并选择两名角色,令目标分别视为对对方使用一张与弃置的牌同名的牌;每当有角色因此受到一点伤害,你在结算后摸一张牌',
gwminxiang_old_info:'结束阶段,你可以选择一张本回合使用过的基本牌或普通锦囊牌并选择两名其他角色,令目标分别视为对对方使用一张此牌的复制',
gwminxiang_info:'出牌阶段限一次,你可以弃置一张基本牌或普通锦囊牌并摸一张牌,然后选择其他两名角色,令目标分别视为对对方使用一张你弃置的牌的同名牌',
gwlangshi:'狼噬',
gwlangshi_info:'每当你造成一次伤害,你可以对一名体力值不小于受伤害角色的其他角色造一点伤害',
gwjingshi:'血契',

View File

@ -317,6 +317,7 @@ window.noname_character_rank={
'hs_mojinbaozi',
'xuhuang',
'liuye',
'sunshangxiang',
],
bp:[
'zhenji',
@ -544,7 +545,6 @@ window.noname_character_rank={
'swd_zhanggao',
'simalang',
'sp_caoren',
'sunshangxiang',
'daqiao',
'swd_luchengxuan',
'dongzhuo',

View File

@ -25,7 +25,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
zhouyu:['male','wu',3,['yingzi','fanjian']],
daqiao:['female','wu',3,['guose','liuli']],
luxun:['male','wu',3,['qianxun','lianying']],
sunshangxiang:['female','wu',3,['xiaoji','jieyin']],
sunshangxiang:['female','wu',3,['xiaoji','xinjieyin']],
huatuo:['male','qun',3,['qingnang','jijiu']],
lvbu:['male','qun',4,['wushuang']],
diaochan:['female','qun',3,['lijian','xinbiyue']],
@ -697,6 +697,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
audio:2,
audioname:['liushan'],
trigger:{player:'chooseToRespondBegin'},
check:function(event){
if(event.jijiang) return false;
return true;
},
filter:function(event,player){
if(event.responded) return false;
if(player.storage.jijianging) return false;
@ -720,6 +724,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return (get.attitude(event.player,event.source)-2);
});
next.set('source',player);
next.set('jijiang',true);
next.autochoose=lib.filter.autoRespondSha;
}
else{
@ -785,6 +790,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
});
next.set('source',player);
next.set('target',target);
next.set('jijiang',true);
next.autochoose=lib.filter.autoRespondSha;
}
else{
@ -1548,12 +1554,33 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
return 6-get.value(card)
},
delay:0,
content:function(){
var num=cards.length;
if(get.is.altered('xinzhiheng')&&player.countCards('h')==0){
num++;
}
player.draw(num);
'step 0'
if(!player.hasSkill('xinzhiheng_delay')) game.delayx();
'step 1'
player.draw(cards.length);
},
group:'xinzhiheng_draw',
subSkill:{
draw:{
trigger:{player:'loseEnd'},
silent:true,
filter:function(event,player){
if(event.getParent(2).skill!='xinzhiheng') return false;
if(!get.is.altered('xinzhiheng')) return false;
if(player.countCards('h')) return false;
for(var i=0;i<event.cards.length;i++){
if(event.cards[i].original=='h') return true;
}
return false;
},
content:function(){
player.draw();
player.addTempSkill('xinzhiheng_delay','xinzhihengAfter');
}
},
delay:{}
},
ai:{
order:1,
@ -1951,7 +1978,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(player.hp<player.maxHp)
return 6-get.value(card)
return 4-get.value(card)
},
filterTarget:function(card,player,target){
if(target.sex!='male') return false;
@ -1976,6 +2002,143 @@ game.import('character',function(lib,game,ui,get,ai,_status){
threaten:2,
}
},
xinjieyin:{
group:['xinjieyin_old','xinjieyin_new'],
alter:true,
subSkill:{
new:{
audio:'jieyin',
enable:'phaseUse',
filterCard:true,
usable:1,
position:'he',
check:function(card){
var player=_status.event.player;
if(get.position(card)=='e'){
var subtype=get.subtype(card);
if(!game.hasPlayer(function(current){
return current!=player&&current.hp!=player.hp&&get.attitude(player,current)>0&&!current.countCards('e',{subtype:subtype});
})){
return 0;
}
if(player.countCards('h',{subtype:subtype})) return 20-get.value(card);
return 10-get.value(card);
}
else{
if(player.countCards('e')) return 0;
if(player.countCards('h',{type:'equip'})) return 0;
return 8-get.value(card);
}
},
filterTarget:function(card,player,target){
if(target.sex!='male') return false;
if(target.countCards('e',{subtype:get.subtype(ui.selected.cards[0])})) return false;
return true;
},
discard:false,
delay:0,
lose:false,
content:function(){
'step 0'
if(get.position(cards[0])=='e'){
player.$give(cards,target);
target.equip(cards[0]);
}
else{
player.discard(cards);
}
'step 1'
if(player.hp>target.hp){
player.draw();
if(target.isDamaged()) target.recover();
}
else if(player.hp<target.hp){
target.draw();
if(player.isDamaged()) player.recover();
}
},
ai:{
order:function(){
var player=_status.event.player;
var es=player.getCards('e');
for(var i=0;i<es.length;i++){
if(player.countCards('h',{subtype:get.subtype(es[i])})) return 10;
}
return 2;
},
result:{
target:function(player,target){
var goon=function(){
var es=player.getCards('e');
for(var i=0;i<es.length;i++){
if(player.countCards('h',{subtype:get.subtype(es[i])})) return true;
}
return false;
}
if(player.hp<target.hp){
if(player.isHealthy()){
if(!player.needsToDiscard(1)||goon()) return 0.1;
return 0;
}
return 1.5;
}
if(player.hp>target.hp){
if(target.isHealthy()){
if(!player.needsToDiscard(1)||goon()) return 0.1;
return 0;
}
return 1;
}
return 0;
}
}
}
},
old:{
audio:'jieyin',
enable:'phaseUse',
filterCard:true,
usable:1,
selectCard:2,
filter:function(event,player){
if(get.is.altered('xinjieyin')) return false;
return player.countCards('h')>=2;
},
check:function(card){
var player=get.owner(card);
if(player.countCards('h')>player.hp)
return 8-get.value(card)
if(player.hp<player.maxHp)
return 6-get.value(card)
return 4-get.value(card)
},
filterTarget:function(card,player,target){
if(target.sex!='male') return false;
if(target.hp>=target.maxHp) return false;
if(target==player) return false;
return true;
},
content:function(){
player.recover();
target.recover();
},
ai:{
order:5.5,
result:{
player:function(player){
if(player.hp<player.maxHp) return 4;
if(player.countCards('h')>player.hp) return 0
return -1;
},
target:4
}
}
}
},
ai:{
threaten:2.3
}
},
qingnang:{
audio:2,
enable:'phaseUse',
@ -2217,6 +2380,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
lianying:'连营',
xiaoji:'枭姬',
jieyin:'结姻',
xinjieyin:'结姻',
qingnang:'青囊',
jijiu:'急救',
wushuang:'无双',
@ -2282,6 +2446,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
lianying_info:'每当你失去最后一张手牌,可摸一张牌',
xiaoji_info:'每当你失去一张装备牌,可以摸两张牌',
jieyin_info:'出牌阶段你可以弃置两张牌并选择1名已经受伤的男性角色你与其各回复一点体力每阶段限一次',
xinjieyin_info:'出牌阶段你可以弃置两张牌并选择1名已经受伤的男性角色你与其各回复一点体力每阶段限一次',
xinjieyin_old_info:'出牌阶段你可以弃置两张牌并选择1名已经受伤的男性角色你与其各回复一点体力每阶段限一次',
xinjieyin_new_info:'出牌阶段限1次你可以选择一名男性角色弃置一张手牌或将一张装备牌置于其装备区你与其体力较高的角色摸一张牌体力值较低的角色回复1点体力',
xinjieyin_info_alter:'出牌阶段限1次你可以选择一名男性角色弃置一张手牌或将一张装备牌置于其装备区你与其体力较高的角色摸一张牌体力值较低的角色回复1点体力',
qingnang_info:'出牌阶段,你可以弃置一张手牌令一名角色回复一点体力,每阶段限一次',
jijiu_info:'回合外,你可以将一张红色牌当[桃]使用',
wushuang_info:'锁定技,你使用的【杀】或【决斗】需要两张【闪】或【杀】响应',

View File

@ -4858,7 +4858,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
content:function(){
"step 0"
var yep=false;
if(!player.storage.jijianging){
if(!player.storage.jijianging&&!trigger.jijiang){
var players=game.filterPlayer();
for(var i=0;i<players.length;i++){
var nh=players[i].countCards('h');
@ -4891,6 +4891,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return (get.attitude(event.player,event.source)-2);
});
next.set('source',player);
next.set('jijiang',true);
next.autochoose=lib.filter.autoRespondSha;
}
else{
@ -4968,6 +4969,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
});
next.set('source',player);
next.set('target',target);
next.set('jijiang',true);
next.autochoose=lib.filter.autoRespondSha;
}
else{

View File

@ -1,28 +1,19 @@
window.noname_update={
version:'1.9.53',
update:'1.9.52.1',
version:'1.9.53.1',
update:'1.9.53',
changeLog:[
'国战标身份改进、bug修复',
'新版标准武将(需在武将菜单中手动开启)'
'bug修复'
],
players:[
'caocao',
'huangyueying',
'zhenji',
'sunquan',
'zhugeliang',
'diaochan'
'sunshangxiang'
],
files:[
'card/guozhan.js',
'card/standard.js',
'character/hearth.js',
'character/gwent.js',
'character/rank.js',
'character/sp.js',
'character/standard.js',
'character/yijiang.js',
'game/config.js',
'game/game.js',
'layout/default/layout.css'
'layout/mobile/equip.css',
'layout/newlayout/equip.css'
]
};
};

View File

@ -135,6 +135,7 @@
#arena.chess .player .equips>.card>.name2{
display:block;
margin-left:5px;
white-space: nowrap;
}
#arena.oblongcard:not(.chess).textequip .player[data-position='0'] .equips>.card>.name2{
line-height: 29px;

View File

@ -88,6 +88,7 @@
.equips>.card>.name2{
display:block;
margin-left:5px;
white-space: nowrap;
}
.equips>.card>div{
animation:none !important;