This commit is contained in:
libccy 2016-06-11 10:51:33 +08:00
parent 44fc8fca1f
commit 7b5207de7e
6 changed files with 100 additions and 35 deletions

View File

@ -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);

View File

@ -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:'霰弹',

View File

@ -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',

View File

@ -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);
}
}

View File

@ -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);

View File

@ -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':[]
}