This commit is contained in:
parent
44fc8fca1f
commit
7b5207de7e
|
@ -847,6 +847,9 @@ card.standard={
|
|||
enable:true,
|
||||
range:{global:1},
|
||||
selectTarget:1,
|
||||
postAi:function(targets){
|
||||
return targets.length==1&&targets[0].num('j');
|
||||
},
|
||||
filterTarget:function(card,player,target){
|
||||
if(player==target) return false;
|
||||
return (target.num('hej')>0);
|
||||
|
@ -912,6 +915,9 @@ card.standard={
|
|||
type:'trick',
|
||||
enable:true,
|
||||
selectTarget:1,
|
||||
postAi:function(targets){
|
||||
return targets.length==1&&targets[0].num('j');
|
||||
},
|
||||
filterTarget:function(card,player,target){
|
||||
if(player==target) return false;
|
||||
return (target.num('hej')>0);
|
||||
|
@ -1480,6 +1486,12 @@ card.standard={
|
|||
return state*ai.get.attitude(_status.event.player,source);
|
||||
}
|
||||
else{
|
||||
var triggerevent=_status.event.getTrigger();
|
||||
if(triggerevent&&triggerevent.parent&&
|
||||
triggerevent.parent.postAi&&
|
||||
triggerevent.player.isUnknown(_status.event.player)){
|
||||
return 0;
|
||||
}
|
||||
var info=get.info(card);
|
||||
if(info.ai&&info.ai.wuxie){
|
||||
var aiii=info.ai.wuxie(target,card,source,_status.event.player,state);
|
||||
|
|
|
@ -159,10 +159,11 @@ character.ow={
|
|||
current.removeSkill('xie2');
|
||||
}
|
||||
target.addSkill('xie2');
|
||||
target.storage.xie=0;
|
||||
target.storage.xie='now';
|
||||
target.storage.xie2=player;
|
||||
},
|
||||
ai:{
|
||||
expose:0.2,
|
||||
order:9.1,
|
||||
threaten:2,
|
||||
result:{
|
||||
|
@ -180,32 +181,42 @@ character.ow={
|
|||
},
|
||||
xie2:{
|
||||
mark:true,
|
||||
trigger:{player:'phaseEnd'},
|
||||
trigger:{global:'phaseEnd'},
|
||||
forced:true,
|
||||
filter:function(event,player){
|
||||
return player.storage.xie%2==1&&player.hp<player.maxHp;
|
||||
if(player.storage.xie=='now'){
|
||||
return event.player==player;
|
||||
}
|
||||
var num=game.phaseNumber-player.storage.xie;
|
||||
return num&&num%6==0;
|
||||
},
|
||||
content:function(){
|
||||
if(player.storage.xie=='now'){
|
||||
player.storage.xie=game.phaseNumber;
|
||||
}
|
||||
player.recover();
|
||||
},
|
||||
intro:{
|
||||
content:function(storage){
|
||||
return '每隔两轮回复一点体力,直到'+get.translation(storage)+'死亡';
|
||||
content:function(storage,player){
|
||||
var str='每隔六回合回复一点体力,直到'+get.translation(storage)+'死亡';
|
||||
if(typeof player.storage.xie=='number'){
|
||||
var num=game.phaseNumber-player.storage.xie;
|
||||
num=num%6;
|
||||
if(num==0){
|
||||
str+='(下次生效于本回合)'
|
||||
}
|
||||
else{
|
||||
str+='(下次生效于'+(6-num)+'回合后)'
|
||||
}
|
||||
}
|
||||
return str;
|
||||
},
|
||||
onunmark:function(storage,player){
|
||||
delete player.storage.xie;
|
||||
delete player.storage.xie2;
|
||||
}
|
||||
},
|
||||
group:['xie3','xie4']
|
||||
},
|
||||
xie3:{
|
||||
trigger:{player:'phaseBegin'},
|
||||
forced:true,
|
||||
popup:false,
|
||||
content:function(){
|
||||
player.storage.xie++;
|
||||
}
|
||||
group:['xie4']
|
||||
},
|
||||
xie4:{
|
||||
trigger:{global:'dieAfter'},
|
||||
|
@ -239,10 +250,11 @@ character.ow={
|
|||
current.removeSkill('luan2');
|
||||
}
|
||||
target.addSkill('luan2');
|
||||
target.storage.luan=0;
|
||||
target.storage.luan='now';
|
||||
target.storage.luan2=player;
|
||||
},
|
||||
ai:{
|
||||
expose:0.2,
|
||||
order:9.1,
|
||||
threaten:2,
|
||||
result:{
|
||||
|
@ -260,32 +272,42 @@ character.ow={
|
|||
},
|
||||
luan2:{
|
||||
mark:true,
|
||||
trigger:{player:'phaseEnd'},
|
||||
trigger:{global:'phaseEnd'},
|
||||
forced:true,
|
||||
filter:function(event,player){
|
||||
return player.storage.luan%2==1;
|
||||
if(player.storage.luan=='now'){
|
||||
return event.player==player;
|
||||
}
|
||||
var num=game.phaseNumber-player.storage.luan;
|
||||
return num&&num%6==0;
|
||||
},
|
||||
content:function(){
|
||||
if(player.storage.luan=='now'){
|
||||
player.storage.luan=game.phaseNumber;
|
||||
}
|
||||
player.loseHp();
|
||||
},
|
||||
intro:{
|
||||
content:function(storage){
|
||||
return '每隔两轮失去一点体力,直到'+get.translation(storage)+'死亡';
|
||||
content:function(storage,player){
|
||||
var str='每隔六回合失去一点体力,直到'+get.translation(storage)+'死亡';
|
||||
if(typeof player.storage.luan=='number'){
|
||||
var num=game.phaseNumber-player.storage.luan;
|
||||
num=num%6;
|
||||
if(num==0){
|
||||
str+='(下次生效于本回合)'
|
||||
}
|
||||
else{
|
||||
str+='(下次生效于'+(6-num)+'回合后)'
|
||||
}
|
||||
}
|
||||
return str;
|
||||
},
|
||||
onunmark:function(storage,player){
|
||||
delete player.storage.luan;
|
||||
delete player.storage.luan2;
|
||||
}
|
||||
},
|
||||
group:['luan3','luan4']
|
||||
},
|
||||
luan3:{
|
||||
trigger:{player:'phaseBegin'},
|
||||
forced:true,
|
||||
popup:false,
|
||||
content:function(){
|
||||
player.storage.luan++;
|
||||
}
|
||||
group:['luan4']
|
||||
},
|
||||
luan4:{
|
||||
trigger:{global:'dieAfter'},
|
||||
|
@ -979,10 +1001,10 @@ character.ow={
|
|||
zhanlong_info:'限定技,回合开始阶段,若你体力值为1,你可以弃置所有牌(至少一张),然后将三张杀置入你的手牌,若如此做,你本回合使用杀无次数限制',
|
||||
xie:'谐',
|
||||
xie2:'谐',
|
||||
xie_info:'出牌阶段,你可以弃置一张红桃手牌并指定一名角色,该角色每隔两轮于回合结束阶段回复一点体力,直到你死亡。同一时间只能对一人发动',
|
||||
xie_info:'出牌阶段,你可以弃置一张红桃手牌并指定一名角色,该角色自其下一回合开始每隔六回合回复一点体力,直到你死亡。同一时间只能对一人发动',
|
||||
luan:'乱',
|
||||
luan2:'乱',
|
||||
luan_info:'出牌阶段,你可以弃置一张黑桃手牌并指定一名角色,该角色每隔两轮于回合结束阶段失去一点体力,直到你死亡。同一时间只能对一人发动',
|
||||
luan_info:'出牌阶段,你可以弃置一张黑桃手牌并指定一名角色,该角色自其下一回合开始每隔六回合失去一点体力,直到你死亡。同一时间只能对一人发动',
|
||||
sheng:'圣',
|
||||
sheng_info:'限定技,出牌阶段,你可以将你的武将牌翻面,然后令任意名角色回复一点体力,若如此做,你不能成为其他角色的卡牌目标直到下一回合开始',
|
||||
xiandan:'霰弹',
|
||||
|
|
|
@ -104,6 +104,8 @@ window.characterRank={
|
|||
'hs_shanlingjuren',
|
||||
'hs_tgolem',
|
||||
'zhangrang',
|
||||
'ow_chanyata',
|
||||
'ow_tianshi',
|
||||
],
|
||||
am:[
|
||||
'guohuanghou',
|
||||
|
@ -111,9 +113,7 @@ window.characterRank={
|
|||
'hs_blingtron',
|
||||
'ow_shibing',
|
||||
'hs_kcthun',
|
||||
'ow_tianshi',
|
||||
'ow_zhixuzhiguang',
|
||||
'ow_chanyata',
|
||||
'ow_falaozhiying',
|
||||
'hs_bolvar',
|
||||
'lifeng',
|
||||
|
|
|
@ -2756,7 +2756,7 @@ character.yijiang={
|
|||
if(!player.storage.jijianging){
|
||||
for(var i=0;i<game.players.length;i++){
|
||||
var nh=game.players[i].num('h');
|
||||
if(ai.get.attitude(game.players[i],player)>1&&(nh>=4||(nh>=3&&game.players[i].num('h','sha')))){
|
||||
if(game.players[i].group=='shu'&&ai.get.attitude(game.players[i],player)>1&&(nh>=4||(nh>=3&&game.players[i].num('h','sha')))){
|
||||
yep=true;break;
|
||||
}
|
||||
}
|
||||
|
@ -2829,7 +2829,7 @@ character.yijiang={
|
|||
var player=_status.event.player;
|
||||
for(var i=0;i<game.players.length;i++){
|
||||
var nh=game.players[i].num('h');
|
||||
if(ai.get.attitude(game.players[i],player)>1&&(nh>=4||(nh>=3&&game.players[i].num('h','sha')))){
|
||||
if(game.players[i].group=='shu'&&ai.get.attitude(game.players[i],player)>1&&(nh>=4||(nh>=3&&game.players[i].num('h','sha')))){
|
||||
return 5-ai.get.value(card);
|
||||
}
|
||||
}
|
||||
|
|
31
game/game.js
31
game/game.js
|
@ -6161,6 +6161,9 @@
|
|||
next.preResult=event.preResult;
|
||||
}
|
||||
"step 5"
|
||||
if(event.postAi){
|
||||
event.player.logAi(event.targets,event.card);
|
||||
}
|
||||
if(event._result){
|
||||
event.result=event._result;
|
||||
}
|
||||
|
@ -8668,7 +8671,13 @@
|
|||
}
|
||||
}
|
||||
if(typeof this.logAi=='function'){
|
||||
this.logAi(next.targets,next.card);
|
||||
var postAi=get.info(next.card).postAi;
|
||||
if(postAi&&postAi(next.targets)){
|
||||
next.postAi=true;
|
||||
}
|
||||
else{
|
||||
this.logAi(next.targets,next.card);
|
||||
}
|
||||
}
|
||||
next.content=lib.element.playerproto.useCard;
|
||||
return next;
|
||||
|
@ -9065,6 +9074,14 @@
|
|||
unMad:function(){
|
||||
this.removeSkill('mad');
|
||||
},
|
||||
addExpose:function(num){
|
||||
if(typeof this.ai.shown=='number'&&!this.identityShown){
|
||||
this.ai.shown+=num;
|
||||
if(this.ai.shown>1){
|
||||
this.ai.shown=1;
|
||||
}
|
||||
}
|
||||
},
|
||||
equip:function(card){
|
||||
var next=game.createEvent('equip');
|
||||
next.card=card;
|
||||
|
@ -9733,6 +9750,9 @@
|
|||
isDamaged:function(){
|
||||
return this.hp<this.maxHp;
|
||||
},
|
||||
isHealthy:function(){
|
||||
return this.hp==this.maxHp;
|
||||
},
|
||||
isLinked:function(){
|
||||
return this.classList.contains('linked');
|
||||
},
|
||||
|
@ -9836,6 +9856,15 @@
|
|||
}
|
||||
return false;
|
||||
},
|
||||
isUnknown:function(player){
|
||||
var mode=get.mode();
|
||||
if(mode=='identity'||mode=='guozhan'){
|
||||
if(this.ai.shown==0&&this!=player){
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
},
|
||||
hasWuxie:function(){
|
||||
if(this.num('h','wuxie')) return true;
|
||||
var skills=this.get('s',true).concat(lib.skill.global);
|
||||
|
|
|
@ -7,9 +7,11 @@ window.noname_update={
|
|||
global:[
|
||||
'character/rank.js',
|
||||
'character/ow.js',
|
||||
'character/yijiang.js',
|
||||
'mode/chess.js',
|
||||
'game/game.js',
|
||||
'card/swd.js',
|
||||
'card/standard.js',
|
||||
],
|
||||
'1.8.15':[]
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue