v1.9.97.3
This commit is contained in:
parent
cb1fdd9f6b
commit
7cccb7e7fc
|
@ -69,6 +69,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
|
game.addVideo('jiuNode',player,true);
|
||||||
if(cards&&cards.length){
|
if(cards&&cards.length){
|
||||||
card=cards[0];
|
card=cards[0];
|
||||||
}
|
}
|
||||||
|
@ -739,6 +740,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
||||||
if(!trigger.baseDamage) trigger.baseDamage=1;
|
if(!trigger.baseDamage) trigger.baseDamage=1;
|
||||||
trigger.baseDamage+=player.storage.jiu;
|
trigger.baseDamage+=player.storage.jiu;
|
||||||
trigger.jiu=true;
|
trigger.jiu=true;
|
||||||
|
game.addVideo('jiuNode',player,false);
|
||||||
game.broadcastAll(function(player){
|
game.broadcastAll(function(player){
|
||||||
player.removeSkill('jiu');
|
player.removeSkill('jiu');
|
||||||
},player);
|
},player);
|
||||||
|
@ -775,6 +777,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
||||||
game.broadcastAll(function(player){
|
game.broadcastAll(function(player){
|
||||||
player.removeSkill('jiu');
|
player.removeSkill('jiu');
|
||||||
},player);
|
},player);
|
||||||
|
game.addVideo('jiuNode',player,false);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
guding_skill:{
|
guding_skill:{
|
||||||
|
|
|
@ -50,12 +50,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
return event.source!=undefined;
|
return event.source!=undefined;
|
||||||
},
|
},
|
||||||
content:function (){
|
content:function (){
|
||||||
var source=trigger.source
|
trigger.source.addMark('new_wuhun_mark',trigger.num);
|
||||||
if(!source.storage.new_wuhun_mark){
|
|
||||||
source.storage.new_wuhun_mark=0;
|
|
||||||
}
|
|
||||||
source.storage.new_wuhun_mark+=trigger.num;
|
|
||||||
source.markSkill('new_wuhun_mark');
|
|
||||||
},
|
},
|
||||||
subSkill:{
|
subSkill:{
|
||||||
die:{
|
die:{
|
||||||
|
@ -70,7 +65,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
direct:true,
|
direct:true,
|
||||||
filter:function (event,player){
|
filter:function (event,player){
|
||||||
return game.hasPlayer(function(current){
|
return game.hasPlayer(function(current){
|
||||||
return current!=player&¤t.storage.new_wuhun_mark!=undefined;
|
return current!=player&¤t.hasMark('new_wuhun_mark');
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
content:function (){
|
content:function (){
|
||||||
|
@ -78,15 +73,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
var num=0;
|
var num=0;
|
||||||
for(var i=0;i<game.players.length;i++){
|
for(var i=0;i<game.players.length;i++){
|
||||||
var current=game.players[i];
|
var current=game.players[i];
|
||||||
if(current!=player&¤t.storage.new_wuhun_mark&¤t.storage.new_wuhun_mark>num){
|
if(current!=player&¤t.countMark('new_wuhun_mark')>num){
|
||||||
num=current.storage.new_wuhun_mark;
|
num=current.countMark('new_wuhun_mark');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
player.chooseTarget(true,'请选择【武魂】的目标',function(card,player,target){
|
player.chooseTarget(true,'请选择【武魂】的目标',function(card,player,target){
|
||||||
return target!=player&&target.storage.new_wuhun_mark==num;
|
return target!=player&&target.countMark('new_wuhun_mark')==_status.event.num;
|
||||||
}).set('ai',function(target){
|
}).set('ai',function(target){
|
||||||
return -get.attitude(_status.event.player,target);
|
return -get.attitude(_status.event.player,target);
|
||||||
}).set('forceDie',true);
|
}).set('forceDie',true).set('num',num);
|
||||||
"step 1"
|
"step 1"
|
||||||
if(result.bool&&result.targets&&result.targets.length){
|
if(result.bool&&result.targets&&result.targets.length){
|
||||||
var target=result.targets[0];
|
var target=result.targets[0];
|
||||||
|
@ -225,16 +220,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
audio:2,
|
audio:2,
|
||||||
enable:'phaseUse',
|
enable:'phaseUse',
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
return player.storage.baonu>=6;
|
return player.countMark('baonu')>=6;
|
||||||
},
|
},
|
||||||
usable:1,
|
usable:1,
|
||||||
skillAnimation:true,
|
skillAnimation:true,
|
||||||
animationColor:'metal',
|
animationColor:'metal',
|
||||||
content:function(){
|
content:function(){
|
||||||
"step 0"
|
"step 0"
|
||||||
player.storage.baonu-=6;
|
player.removeMark('baonu',6);
|
||||||
player.syncStorage('baonu');
|
|
||||||
player.updateMarks('baonu');
|
|
||||||
event.targets=game.filterPlayer();
|
event.targets=game.filterPlayer();
|
||||||
event.targets.remove(player);
|
event.targets.remove(player);
|
||||||
event.targets.sort(lib.sort.seat);
|
event.targets.sort(lib.sort.seat);
|
||||||
|
@ -277,15 +270,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
enable:'phaseUse',
|
enable:'phaseUse',
|
||||||
derivation:'wushuang',
|
derivation:'wushuang',
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
return player.storage.baonu>=2;
|
return player.countMark('baonu')>=2;
|
||||||
},
|
},
|
||||||
filterTarget:function(card,player,target){
|
filterTarget:function(card,player,target){
|
||||||
return target!=player&&!target.hasSkill('ol_wuqian_targeted');
|
return target!=player&&!target.hasSkill('ol_wuqian_targeted');
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
player.storage.baonu-=2;
|
player.removeMark('baonu',2);
|
||||||
player.syncStorage('baonu');
|
|
||||||
player.updateMarks('baonu');
|
|
||||||
player.addTempSkill('wushuang');
|
player.addTempSkill('wushuang');
|
||||||
player.storage.ol_wuqian_target=target;
|
player.storage.ol_wuqian_target=target;
|
||||||
player.addTempSkill('ol_wuqian_target');
|
player.addTempSkill('ol_wuqian_target');
|
||||||
|
@ -320,7 +311,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
'step 0'
|
'step 0'
|
||||||
if(player.storage.baonu>0){
|
if(player.hasMark('baonu')){
|
||||||
player.chooseControlList([
|
player.chooseControlList([
|
||||||
'移去一枚【暴怒】标记',
|
'移去一枚【暴怒】标记',
|
||||||
'失去一点体力'
|
'失去一点体力'
|
||||||
|
@ -336,9 +327,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
}
|
}
|
||||||
'step 1'
|
'step 1'
|
||||||
if(result.index==0){
|
if(result.index==0){
|
||||||
player.storage.baonu--;
|
player.removeMark('baonu',1);
|
||||||
player.syncStorage('baonu');
|
|
||||||
player.updateMarks('baonu');
|
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
player.loseHp();
|
player.loseHp();
|
||||||
|
@ -450,12 +439,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
baonu:{
|
baonu:{
|
||||||
audio:2,
|
audio:2,
|
||||||
mark:true,
|
|
||||||
marktext:'暴',
|
marktext:'暴',
|
||||||
unique:true,
|
unique:true,
|
||||||
init:function(player,skill){
|
|
||||||
if(!player.storage[skill]) player.storage[skill]=0;
|
|
||||||
},
|
|
||||||
trigger:{
|
trigger:{
|
||||||
source:'damageSource',
|
source:'damageSource',
|
||||||
player:['damageEnd','enterGame'],
|
player:['damageEnd','enterGame'],
|
||||||
|
@ -466,15 +451,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
return event.name!='damage'||event.num>0;
|
return event.name!='damage'||event.num>0;
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
player.storage.baonu+=trigger.name=='damage'?trigger.num:2;
|
player.addMark('baonu',trigger.name=='damage'?trigger.num:2);
|
||||||
player.markSkill('baonu');
|
|
||||||
player.syncStorage('baonu');
|
|
||||||
},
|
},
|
||||||
intro:{
|
intro:{
|
||||||
|
name:'暴怒',
|
||||||
content:'mark'
|
content:'mark'
|
||||||
},
|
},
|
||||||
ai:{
|
ai:{
|
||||||
combo:'shenfen',
|
combo:'ol_shenfen',
|
||||||
maixie:true,
|
maixie:true,
|
||||||
maixie_hp:true
|
maixie_hp:true
|
||||||
}
|
}
|
||||||
|
@ -564,19 +548,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
unique:true,
|
unique:true,
|
||||||
group:'renjie2',
|
group:'renjie2',
|
||||||
notemp:true,
|
notemp:true,
|
||||||
mark:true,
|
//mark:true,
|
||||||
filter:function(event){
|
filter:function(event){
|
||||||
return event.num>0;
|
return event.num>0;
|
||||||
},
|
},
|
||||||
init:function(player){
|
|
||||||
player.storage.renjie=0;
|
|
||||||
game.addVideo('storage',player,['renjie',player.storage.renjie]);
|
|
||||||
},
|
|
||||||
content:function(){
|
content:function(){
|
||||||
player.storage.renjie+=trigger.num;
|
player.addMark('renjie',trigger.num);
|
||||||
game.addVideo('storage',player,['renjie',player.storage.renjie]);
|
|
||||||
},
|
},
|
||||||
intro:{
|
intro:{
|
||||||
|
name2:'忍',
|
||||||
content:'mark'
|
content:'mark'
|
||||||
},
|
},
|
||||||
ai:{
|
ai:{
|
||||||
|
@ -618,8 +598,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
return evt&&evt.name=='phaseDiscard'
|
return evt&&evt.name=='phaseDiscard'
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
player.storage.renjie+=trigger.cards.length;
|
player.addMark('renjie',trigger.cards.length);
|
||||||
game.addVideo('storage',player,['renjie',player.storage.renjie]);
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
sbaiyin:{
|
sbaiyin:{
|
||||||
|
@ -631,7 +610,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
unique:true,
|
unique:true,
|
||||||
audio:true,
|
audio:true,
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
return player.storage.renjie>=4;
|
return player.countMark('renjie')>=4;
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
player.loseMaxHp();
|
player.loseMaxHp();
|
||||||
|
@ -648,7 +627,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
trigger:{global:'judge'},
|
trigger:{global:'judge'},
|
||||||
direct:true,
|
direct:true,
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
return player.countCards('h')>0&&player.storage.renjie>0;
|
return player.countCards('he')>0&&player.hasMark('renjie');
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
"step 0"
|
"step 0"
|
||||||
|
@ -674,9 +653,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
}
|
}
|
||||||
"step 2"
|
"step 2"
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
//player.logSkill('jilue_guicai');
|
player.removeMark('renjie',1);
|
||||||
player.storage.renjie--;
|
|
||||||
player.updateMarks();
|
|
||||||
if(trigger.player.judging[0].clone){
|
if(trigger.player.judging[0].clone){
|
||||||
trigger.player.judging[0].clone.delete();
|
trigger.player.judging[0].clone.delete();
|
||||||
game.addVideo('deletenode',player,get.cardsInfo([trigger.player.judging[0].clone]));
|
game.addVideo('deletenode',player,get.cardsInfo([trigger.player.judging[0].clone]));
|
||||||
|
@ -701,7 +678,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
direct:true,
|
direct:true,
|
||||||
//priority:-1,
|
//priority:-1,
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
return player.storage.renjie>0;
|
return player.hasMark('renjie');
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
"step 0"
|
"step 0"
|
||||||
|
@ -721,8 +698,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
}
|
}
|
||||||
"step 1"
|
"step 1"
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
player.storage.renjie--;
|
player.removeMark('renjie',1);
|
||||||
player.updateMarks();
|
|
||||||
player.logSkill('jilue_fangzhu',result.targets);
|
player.logSkill('jilue_fangzhu',result.targets);
|
||||||
result.targets[0].draw(player.maxHp-player.hp);
|
result.targets[0].draw(player.maxHp-player.hp);
|
||||||
result.targets[0].turnOver();
|
result.targets[0].turnOver();
|
||||||
|
@ -734,11 +710,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
enable:'phaseUse',
|
enable:'phaseUse',
|
||||||
usable:1,
|
usable:1,
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
return player.storage.renjie>0;
|
return player.hasMark('renjie');
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
player.storage.renjie--;
|
player.removeMark('renjie',1);
|
||||||
player.updateMarks();
|
|
||||||
player.addTempSkill('wansha');
|
player.addTempSkill('wansha');
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -747,7 +722,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
enable:'phaseUse',
|
enable:'phaseUse',
|
||||||
usable:1,
|
usable:1,
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
return player.storage.renjie>0;
|
return player.hasMark('renjie');
|
||||||
},
|
},
|
||||||
position:'he',
|
position:'he',
|
||||||
filterCard:true,
|
filterCard:true,
|
||||||
|
@ -764,8 +739,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
'step 0'
|
'step 0'
|
||||||
player.storage.renjie--;
|
player.removeMark('renjie',1);
|
||||||
player.updateMarks();
|
|
||||||
event.num=player.hasSkill('rezhiheng_delay')?1:0;
|
event.num=player.hasSkill('rezhiheng_delay')?1:0;
|
||||||
'step 1'
|
'step 1'
|
||||||
player.draw(event.num+cards.length);
|
player.draw(event.num+cards.length);
|
||||||
|
@ -793,15 +767,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
audio:true,
|
audio:true,
|
||||||
trigger:{player:'useCard'},
|
trigger:{player:'useCard'},
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
return (get.type(event.card)=='trick'&&event.cards[0]&&event.cards[0]==event.card)&&player.storage.renjie>0;
|
return (get.type(event.card)=='trick'&&event.cards[0]&&event.cards[0]==event.card)&&player.hasMark('renjie');
|
||||||
},
|
},
|
||||||
init:function(player){
|
init:function(player){
|
||||||
player.storage.jilue_jizhi=0;
|
player.storage.jilue_jizhi=0;
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
'step 0'
|
'step 0'
|
||||||
player.storage.renjie--;
|
player.removeMark('renjie',1);
|
||||||
player.updateMarks();
|
|
||||||
player.draw();
|
player.draw();
|
||||||
'step 1'
|
'step 1'
|
||||||
event.card=result[0];
|
event.card=result[0];
|
||||||
|
@ -2056,23 +2029,18 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
"nzry_junlve":{
|
"nzry_junlve":{
|
||||||
audio:2,
|
audio:2,
|
||||||
init:function(player){
|
//marktext:"军",
|
||||||
if(!player.storage.nzry_junlve) player.storage.nzry_junlve=0;
|
|
||||||
},
|
|
||||||
marktext:"军",
|
|
||||||
intro:{
|
intro:{
|
||||||
content:'当前有#个“军略”标记',
|
content:'当前有#个标记',
|
||||||
},
|
},
|
||||||
mark:true,
|
//mark:true,
|
||||||
trigger:{
|
trigger:{
|
||||||
player:"damageAfter",
|
player:"damageAfter",
|
||||||
source:"damageSource",
|
source:"damageSource",
|
||||||
},
|
},
|
||||||
forced:true,
|
forced:true,
|
||||||
content:function(){
|
content:function(){
|
||||||
player.storage.nzry_junlve+=trigger.num;
|
player.addMark('nzry_junlve',trigger.num);
|
||||||
game.log(player,'获得了',trigger.num,'个“军略”标记');
|
|
||||||
player.syncStorage('nzry_junlve');
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"nzry_cuike":{
|
"nzry_cuike":{
|
||||||
|
@ -2083,30 +2051,29 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
direct:true,
|
direct:true,
|
||||||
content:function(){
|
content:function(){
|
||||||
'step 0'
|
'step 0'
|
||||||
if(player.storage.nzry_junlve%2==1){
|
if(player.countMark('nzry_junlve')%2==1){
|
||||||
player.chooseTarget('是否发动【摧克】来对一名角色造成一点伤害?').ai=function(target){
|
player.chooseTarget('是否发动【摧克】,对一名角色造成一点伤害?').ai=function(target){
|
||||||
return -get.attitude(player,target);
|
return -get.attitude(player,target);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
player.chooseTarget('是否发动【摧克】来横置一名角色并弃置其区域内的一张牌?').ai=function(target){
|
player.chooseTarget('是否发动【摧克】,横置一名角色并弃置其区域内的一张牌?').ai=function(target){
|
||||||
return -get.attitude(player,target);
|
return -get.attitude(player,target);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
'step 1'
|
'step 1'
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
player.line(result.targets);
|
player.logSkill('nzry_cuike',result.targets);
|
||||||
player.logSkill('nzry_cuike');
|
if(player.countMark('nzry_junlve')%2==1){
|
||||||
if(player.storage.nzry_junlve%2==1){
|
|
||||||
result.targets[0].damage();
|
result.targets[0].damage();
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
result.targets[0].link(true);
|
result.targets[0].link(true);
|
||||||
player.discardPlayerCard(result.targets[0],1,'hej');
|
player.discardPlayerCard(result.targets[0],1,'hej',true);
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
'step 2'
|
'step 2'
|
||||||
if(player.storage.nzry_junlve&&player.storage.nzry_junlve>7){
|
if(player.countMark('nzry_junlve')>7){
|
||||||
player.chooseBool().set('ai',function(){
|
player.chooseBool().set('ai',function(){
|
||||||
return true;
|
return true;
|
||||||
}).set('prompt','是否弃置所有“军略”标记并对所有其他角色造成一点伤害?');
|
}).set('prompt','是否弃置所有“军略”标记并对所有其他角色造成一点伤害?');
|
||||||
|
@ -2115,13 +2082,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
};
|
};
|
||||||
'step 3'
|
'step 3'
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
player.line(game.players);
|
var players=game.players.slice(0).sortBySeat();
|
||||||
player.logSkill('nzry_cuike');
|
player.line(players);
|
||||||
player.storage.nzry_junlve=0;
|
player.removeMark('nzry_junlve',player.countMark('nzry_junlve'));
|
||||||
player.syncStorage('nzry_junlve');
|
for(var i=0;i<players.length;i++){
|
||||||
game.log(player,'移去了所有“军略”标记');
|
if(players[i]!=player) players[i].damage();
|
||||||
for(var i=0;i<game.players.length;i++){
|
|
||||||
if(game.players[i]!=player) game.players[i].damage();
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
@ -2141,7 +2106,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
animationColor:'metal',
|
animationColor:'metal',
|
||||||
enable:'phaseUse',
|
enable:'phaseUse',
|
||||||
filter:function (event,player){
|
filter:function (event,player){
|
||||||
return !player.storage.nzry_dinghuo&&player.storage.nzry_junlve>0;
|
return !player.storage.nzry_dinghuo&&player.countMark('nzry_junlve')>0;
|
||||||
},
|
},
|
||||||
check:function (event,player){
|
check:function (event,player){
|
||||||
var num=game.countPlayer(function(current){return get.attitude(player,current)<0&¤t.isLinked()});
|
var num=game.countPlayer(function(current){return get.attitude(player,current)<0&¤t.isLinked()});
|
||||||
|
@ -2151,7 +2116,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
return target.isLinked();
|
return target.isLinked();
|
||||||
},
|
},
|
||||||
selectTarget:function(){
|
selectTarget:function(){
|
||||||
return [1,_status.event.player.storage.nzry_junlve];
|
return [1,_status.event.player.countMark('nzry_junlve')];
|
||||||
},
|
},
|
||||||
multiline:true,
|
multiline:true,
|
||||||
multitarget:true,
|
multitarget:true,
|
||||||
|
@ -2160,9 +2125,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
player.awakenSkill('nzry_dinghuo');
|
player.awakenSkill('nzry_dinghuo');
|
||||||
player.storage.nzry_dinghuo=true;
|
player.storage.nzry_dinghuo=true;
|
||||||
'step 1'
|
'step 1'
|
||||||
player.storage.nzry_junlve=0;
|
player.removeMark('nzry_junlve',player.countMark('nzry_junlve'));
|
||||||
player.syncStorage('nzry_junlve');
|
|
||||||
game.log(player,'移去了所有“军略”标记');
|
|
||||||
for(var i=0;i<targets.length;i++){
|
for(var i=0;i<targets.length;i++){
|
||||||
targets[i].discard(targets[i].getCards('e'));
|
targets[i].discard(targets[i].getCards('e'));
|
||||||
}
|
}
|
||||||
|
@ -2442,27 +2405,19 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
drlt_jieying_mark:{
|
drlt_jieying_mark:{
|
||||||
init:function(player){
|
|
||||||
game.log(player,'获得了“营”标记');
|
|
||||||
},
|
|
||||||
onremove:function(player){
|
|
||||||
game.log(player,'失去了“营”标记');
|
|
||||||
},
|
|
||||||
mark:true,
|
|
||||||
marktext:"营",
|
marktext:"营",
|
||||||
intro:{
|
intro:{
|
||||||
content:function(storage){
|
name:'营',
|
||||||
return '已获得“营”标记';
|
content:'mark',
|
||||||
},
|
|
||||||
},
|
},
|
||||||
mod:{
|
mod:{
|
||||||
cardUsable:function (card,player,num){
|
cardUsable:function (card,player,num){
|
||||||
if(game.hasPlayer(function(current){
|
if(player.hasMark('drlt_jieying_mark')&&game.hasPlayer(function(current){
|
||||||
return current.hasSkill('drlt_jieying');
|
return current.hasSkill('drlt_jieying');
|
||||||
})&&card.name=='sha') return num+1;
|
})&&card.name=='sha') return num+1;
|
||||||
},
|
},
|
||||||
maxHandcard:function (player,num){
|
maxHandcard:function (player,num){
|
||||||
if(game.hasPlayer(function(current){
|
if(player.hasMark('drlt_jieying_mark')&&game.hasPlayer(function(current){
|
||||||
return current.hasSkill('drlt_jieying');
|
return current.hasSkill('drlt_jieying');
|
||||||
})) return num+1;
|
})) return num+1;
|
||||||
},
|
},
|
||||||
|
@ -2473,18 +2428,24 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
forced:true,
|
forced:true,
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
return game.hasPlayer(function(current){
|
return player.hasMark('drlt_jieying_mark')&&game.hasPlayer(function(current){
|
||||||
return current.hasSkill('drlt_jieying');
|
return current.hasSkill('drlt_jieying');
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
trigger.num++;
|
trigger.num++;
|
||||||
},
|
},
|
||||||
ai:{nokeep:true},
|
ai:{
|
||||||
|
nokeep:true,
|
||||||
|
skillTagFilter:function(player){
|
||||||
|
return player.hasMark('drlt_jieying_mark');
|
||||||
|
},
|
||||||
|
},
|
||||||
},
|
},
|
||||||
'drlt_jieying':{
|
'drlt_jieying':{
|
||||||
audio:2,
|
audio:2,
|
||||||
locked:false,
|
locked:false,
|
||||||
|
global:'drlt_jieying_mark',
|
||||||
group:["drlt_jieying_1","drlt_jieying_2","drlt_jieying_3"],
|
group:["drlt_jieying_1","drlt_jieying_2","drlt_jieying_3"],
|
||||||
subSkill:{
|
subSkill:{
|
||||||
'1':{
|
'1':{
|
||||||
|
@ -2495,11 +2456,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
forced:true,
|
forced:true,
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
return !game.hasPlayer(function(current){
|
return !game.hasPlayer(function(current){
|
||||||
return current.hasSkill('drlt_jieying_mark');
|
return current.hasMark('drlt_jieying_mark');
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
player.addSkill('drlt_jieying_mark');
|
player.addMark('drlt_jieying_mark',1);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
'2':{
|
'2':{
|
||||||
|
@ -2509,7 +2470,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
direct:true,
|
direct:true,
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
return player.hasSkill('drlt_jieying_mark');
|
return player.hasMark('drlt_jieying_mark');
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
'step 0'
|
'step 0'
|
||||||
|
@ -2531,26 +2492,26 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
var target=result.targets[0];
|
var target=result.targets[0];
|
||||||
player.line(target);
|
player.line(target);
|
||||||
player.logSkill('drlt_jieying',target);
|
player.logSkill('drlt_jieying',target);
|
||||||
player.removeSkill('drlt_jieying_mark');
|
player.removeMark('drlt_jieying_mark',1);
|
||||||
target.addSkill('drlt_jieying_mark');
|
target.addMark('drlt_jieying_mark',1);
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
'3':{
|
'3':{
|
||||||
audio:'drlt_jieying',
|
audio:'drlt_jieying',
|
||||||
trigger:{
|
trigger:{
|
||||||
global:'phaseAfter',
|
global:'phaseEnd',
|
||||||
},
|
},
|
||||||
forced:true,
|
forced:true,
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
return player!=event.player&&event.player.hasSkill('drlt_jieying_mark')&&event.player.isAlive();
|
return player!=event.player&&event.player.hasMark('drlt_jieying_mark')&&event.player.isAlive();
|
||||||
},
|
},
|
||||||
logTarget:'player',
|
logTarget:'player',
|
||||||
content:function(){
|
content:function(){
|
||||||
if(trigger.player.countCards('h')>0){
|
if(trigger.player.countCards('h')>0){
|
||||||
trigger.player.give(trigger.player.getCards('h'),player);
|
trigger.player.give(trigger.player.getCards('h'),player);
|
||||||
}
|
}
|
||||||
trigger.player.removeSkill('drlt_jieying_mark');
|
trigger.player.removeMark('drlt_jieying_mark',1);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
|
@ -42,37 +42,37 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
pss_paper:{
|
pss_paper:{
|
||||||
type:'pss',
|
type:'pss',
|
||||||
fullskin:true,
|
fullskin:true,
|
||||||
derivation:'shenpei',
|
//derivation:'shenpei',
|
||||||
},
|
},
|
||||||
pss_scissor:{
|
pss_scissor:{
|
||||||
type:'pss',
|
type:'pss',
|
||||||
fullskin:true,
|
fullskin:true,
|
||||||
derivation:'shenpei',
|
//derivation:'shenpei',
|
||||||
},
|
},
|
||||||
pss_stone:{
|
pss_stone:{
|
||||||
type:'pss',
|
type:'pss',
|
||||||
fullskin:true,
|
fullskin:true,
|
||||||
derivation:'shenpei',
|
//derivation:'shenpei',
|
||||||
},
|
},
|
||||||
db_atk1:{
|
db_atk1:{
|
||||||
type:'db_atk',
|
type:'db_atk',
|
||||||
fullimage:true,
|
fullimage:true,
|
||||||
derivation:'shenpei',
|
//derivation:'shenpei',
|
||||||
},
|
},
|
||||||
db_atk2:{
|
db_atk2:{
|
||||||
type:'db_atk',
|
type:'db_atk',
|
||||||
fullimage:true,
|
fullimage:true,
|
||||||
derivation:'shenpei',
|
//derivation:'shenpei',
|
||||||
},
|
},
|
||||||
db_def1:{
|
db_def1:{
|
||||||
type:'db_def',
|
type:'db_def',
|
||||||
fullimage:true,
|
fullimage:true,
|
||||||
derivation:'shenpei',
|
//derivation:'shenpei',
|
||||||
},
|
},
|
||||||
db_def2:{
|
db_def2:{
|
||||||
type:'db_def',
|
type:'db_def',
|
||||||
fullimage:true,
|
fullimage:true,
|
||||||
derivation:'shenpei',
|
//derivation:'shenpei',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
characterFilter:{},
|
characterFilter:{},
|
||||||
|
@ -199,6 +199,20 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
return player.hp<=2&&!player.storage.rehunzi;
|
return player.hp<=2&&!player.storage.rehunzi;
|
||||||
},
|
},
|
||||||
|
ai:{
|
||||||
|
threaten:function(player,target){
|
||||||
|
if(target.hp<=2) return 2;
|
||||||
|
return 0.5;
|
||||||
|
},
|
||||||
|
maixie:true,
|
||||||
|
effect:{
|
||||||
|
target:function(card,player,target){
|
||||||
|
if(!target.hasFriend()) return;
|
||||||
|
if(get.tag(card,'damage')==1&&target.hp==3&&!target.isTurnedOver()&&
|
||||||
|
_status.currentPhase!=target&&get.distance(_status.currentPhase,target,'absolute')<=3) return [0.5,1];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
rezhijian:{
|
rezhijian:{
|
||||||
inherit:'zhijian',
|
inherit:'zhijian',
|
||||||
|
|
|
@ -447,18 +447,22 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
}
|
}
|
||||||
'step 2'
|
'step 2'
|
||||||
if(!result.control) result.control='不质疑';
|
if(!result.control) result.control='不质疑';
|
||||||
event.guessers[0].chat(result.control);
|
//event.guessers[0].chat(result.control);
|
||||||
game.delay();
|
//game.delay();
|
||||||
if(result.control=='不质疑'){
|
if(result.control=='不质疑'){
|
||||||
game.log(event.guessers[0],'#g不质疑');
|
//game.log(event.guessers[0],'#g不质疑');
|
||||||
event.ally.push(event.guessers[0]);
|
event.ally.push(event.guessers[0]);
|
||||||
}else{
|
}else{
|
||||||
game.log(event.guessers[0],'#y质疑');
|
//game.log(event.guessers[0],'#y质疑');
|
||||||
event.betray.push(event.guessers[0]);
|
event.betray.push(event.guessers[0]);
|
||||||
}
|
}
|
||||||
event.guessers.remove(event.guessers[0]);
|
event.guessers.remove(event.guessers[0]);
|
||||||
if(event.guessers.length) event.goto(1);
|
if(event.guessers.length) event.goto(1);
|
||||||
'step 3'
|
'step 3'
|
||||||
|
for(var i=0;i<event.ally.length;i++) event.ally[i].chat('不质疑');
|
||||||
|
for(var i=0;i<event.betray.length;i++) event.betray[i].chat('质疑');
|
||||||
|
game.delay(1.5);
|
||||||
|
'step 4'
|
||||||
player.showCards(trigger.cards);
|
player.showCards(trigger.cards);
|
||||||
if(event.betray.length){
|
if(event.betray.length){
|
||||||
if(trigger.card.name==trigger.cards[0].name){
|
if(trigger.card.name==trigger.cards[0].name){
|
||||||
|
@ -474,20 +478,20 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else event.finish();
|
else event.finish();
|
||||||
'step 4'
|
'step 5'
|
||||||
if(event.fake){
|
if(event.fake){
|
||||||
game.delay();
|
game.delay();
|
||||||
event.finish();
|
event.finish();
|
||||||
}
|
}
|
||||||
'step 5'
|
'step 6'
|
||||||
var target=event.betray.shift();
|
var target=event.betray.shift();
|
||||||
event.target=target;
|
event.target=target;
|
||||||
target.chooseToDiscard('弃置一张牌或失去一点体力','he').ai=lib.skill.qiangxi.check;
|
target.chooseToDiscard('弃置一张牌或失去一点体力','he').ai=lib.skill.qiangxi.check;
|
||||||
'step 6'
|
|
||||||
if(!result.bool) target.loseHp();
|
|
||||||
'step 7'
|
'step 7'
|
||||||
|
if(!result.bool) target.loseHp();
|
||||||
|
'step 8'
|
||||||
target.addSkill('rechanyuan');
|
target.addSkill('rechanyuan');
|
||||||
if(event.betray.length) event.goto(5);
|
if(event.betray.length) event.goto(6);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"reguhuo_respond":{
|
"reguhuo_respond":{
|
||||||
|
@ -532,18 +536,22 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
}
|
}
|
||||||
'step 3'
|
'step 3'
|
||||||
if(!result.control) result.control='不质疑';
|
if(!result.control) result.control='不质疑';
|
||||||
event.guessers[0].chat(result.control);
|
//event.guessers[0].chat(result.control);
|
||||||
game.delay();
|
//game.delay();
|
||||||
if(result.control=='不质疑'){
|
if(result.control=='不质疑'){
|
||||||
game.log(event.guessers[0],'#g不质疑');
|
//game.log(event.guessers[0],'#g不质疑');
|
||||||
event.ally.push(event.guessers[0]);
|
event.ally.push(event.guessers[0]);
|
||||||
}else{
|
}else{
|
||||||
game.log(event.guessers[0],'#y质疑');
|
//game.log(event.guessers[0],'#y质疑');
|
||||||
event.betray.push(event.guessers[0]);
|
event.betray.push(event.guessers[0]);
|
||||||
}
|
}
|
||||||
event.guessers.remove(event.guessers[0]);
|
event.guessers.remove(event.guessers[0]);
|
||||||
if(event.guessers.length) event.goto(2);
|
if(event.guessers.length) event.goto(2);
|
||||||
'step 4'
|
'step 4'
|
||||||
|
for(var i=0;i<event.ally.length;i++) event.ally[i].chat('不质疑');
|
||||||
|
for(var i=0;i<event.betray.length;i++) event.betray[i].chat('质疑');
|
||||||
|
game.delay(1.5);
|
||||||
|
'step 5'
|
||||||
var bool=true;
|
var bool=true;
|
||||||
player.showCards(event.card);
|
player.showCards(event.card);
|
||||||
if(event.betray.length){
|
if(event.betray.length){
|
||||||
|
@ -564,20 +572,20 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
trigger.responded=true;
|
trigger.responded=true;
|
||||||
trigger.result={bool:true,card:{name:event.name},cards:[event.card]};
|
trigger.result={bool:true,card:{name:event.name},cards:[event.card]};
|
||||||
}
|
}
|
||||||
'step 5'
|
'step 6'
|
||||||
if(event.fake){
|
if(event.fake){
|
||||||
game.delay();
|
game.delay();
|
||||||
event.finish();
|
event.finish();
|
||||||
}
|
}
|
||||||
'step 6'
|
'step 7'
|
||||||
var target=event.betray.shift();
|
var target=event.betray.shift();
|
||||||
event.target=target;
|
event.target=target;
|
||||||
target.chooseToDiscard('弃置一张牌或失去一点体力','he').ai=lib.skill.qiangxi.check;
|
target.chooseToDiscard('弃置一张牌或失去一点体力','he').ai=lib.skill.qiangxi.check;
|
||||||
'step 7'
|
|
||||||
if(!result.bool) target.loseHp();
|
|
||||||
'step 8'
|
'step 8'
|
||||||
|
if(!result.bool) target.loseHp();
|
||||||
|
'step 9'
|
||||||
if(target.isAlive()) target.addSkill('rechanyuan');
|
if(target.isAlive()) target.addSkill('rechanyuan');
|
||||||
if(event.betray.length) event.goto(6);
|
if(event.betray.length) event.goto(7);
|
||||||
},
|
},
|
||||||
ai:{
|
ai:{
|
||||||
order:4,
|
order:4,
|
||||||
|
@ -2058,13 +2066,17 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
frequent:true,
|
frequent:true,
|
||||||
content:function(){
|
content:function(){
|
||||||
"step 0"
|
"step 0"
|
||||||
|
if(!player.storage.reluoshen) player.storage.reluoshen=[];
|
||||||
if(event.cards==undefined) event.cards=[];
|
if(event.cards==undefined) event.cards=[];
|
||||||
var next=player.judge(function(card){
|
var next=player.judge(function(card){
|
||||||
if(get.color(card)=='black') return 1.5;
|
if(get.color(card)=='black') return 1.5;
|
||||||
return -1.5;
|
return -1.5;
|
||||||
});
|
});
|
||||||
if(get.mode()!='guozhan'&&!player.hasSkillTag('rejudge')) next.set('callback',function(){
|
if(get.mode()!='guozhan'&&!player.hasSkillTag('rejudge')) next.set('callback',function(){
|
||||||
if(event.judgeResult.color=='black'&&get.position(card,true)=='o') player.gain(card,'gain2');
|
if(event.judgeResult.color=='black'&&get.position(card,true)=='o'){
|
||||||
|
player.storage.reluoshen.push(card);
|
||||||
|
player.gain(card,'gain2');
|
||||||
|
}
|
||||||
});
|
});
|
||||||
else next.set('callback',function(){
|
else next.set('callback',function(){
|
||||||
if(event.judgeResult.color=='black') event.getParent().orderingCards.remove(card);
|
if(event.judgeResult.color=='black') event.getParent().orderingCards.remove(card);
|
||||||
|
@ -2072,7 +2084,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
"step 1"
|
"step 1"
|
||||||
if(result.judge>0){
|
if(result.judge>0){
|
||||||
event.cards.push(result.card);
|
event.cards.push(result.card);
|
||||||
if(lib.config.autoskilllist.contains('luoshen')){
|
if(lib.config.autoskilllist.contains('reluoshen')){
|
||||||
player.chooseBool('是否再次发动【洛神】?');
|
player.chooseBool('是否再次发动【洛神】?');
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
|
@ -2086,7 +2098,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
player.gain(event.cards,'gain2');
|
player.gain(event.cards,'gain2');
|
||||||
player.storage.reluoshen=event.cards.slice(0);
|
player.storage.reluoshen.addArray(event.cards);
|
||||||
event.finish();
|
event.finish();
|
||||||
}
|
}
|
||||||
"step 2"
|
"step 2"
|
||||||
|
@ -2094,6 +2106,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
event.goto(0);
|
event.goto(0);
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
|
for(var i=0;i<event.cards.length;i++){
|
||||||
|
if(get.position(event.cards[i],true)!='o'){
|
||||||
|
event.cards.splice(i,1);i--;
|
||||||
|
}
|
||||||
|
}
|
||||||
if(event.cards.length){
|
if(event.cards.length){
|
||||||
player.gain(event.cards,'gain2');
|
player.gain(event.cards,'gain2');
|
||||||
player.storage.reluoshen=event.cards.slice(0);
|
player.storage.reluoshen=event.cards.slice(0);
|
||||||
|
|
|
@ -440,6 +440,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
"drlt_qianjie":{
|
"drlt_qianjie":{
|
||||||
group:["drlt_qianjie_1","drlt_qianjie_2","drlt_qianjie_3"],
|
group:["drlt_qianjie_1","drlt_qianjie_2","drlt_qianjie_3"],
|
||||||
locked:true,
|
locked:true,
|
||||||
|
ai:{
|
||||||
|
effect:{
|
||||||
|
target:function(card){
|
||||||
|
if(card.name=='tiesuo') return 'zeroplayertarget';
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
subSkill:{
|
subSkill:{
|
||||||
'1':{
|
'1':{
|
||||||
audio:2,
|
audio:2,
|
||||||
|
@ -1151,22 +1158,19 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
"nzry_binglve":{audio:2},
|
"nzry_binglve":{audio:2},
|
||||||
"nzry_huaiju":{
|
"nzry_huaiju":{
|
||||||
marktext:"橘",
|
marktext:"橘",
|
||||||
init:function(player,skill){
|
|
||||||
if(!player.storage[skill]) player.storage[skill]=0;
|
|
||||||
},
|
|
||||||
intro:{
|
intro:{
|
||||||
|
name:'怀橘',
|
||||||
|
name2:'橘',
|
||||||
content:'当前有#个“橘”',
|
content:'当前有#个“橘”',
|
||||||
},
|
},
|
||||||
mark:true,
|
//mark:true,
|
||||||
audio:2,
|
audio:2,
|
||||||
trigger:{
|
trigger:{
|
||||||
global:'gameDrawAfter'
|
global:'gameDrawAfter'
|
||||||
},
|
},
|
||||||
forced:true,
|
forced:true,
|
||||||
content:function(){
|
content:function(){
|
||||||
player.storage.nzry_huaiju+=3;
|
player.addMark('nzry_huaiju',3);
|
||||||
player.syncStorage('nzry_huaiju');
|
|
||||||
game.log(player,'获得了3个“橘”');
|
|
||||||
},
|
},
|
||||||
group:['tachibana_effect'],
|
group:['tachibana_effect'],
|
||||||
},
|
},
|
||||||
|
@ -1178,20 +1182,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
forced:true,
|
forced:true,
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
return !event.tachibanaed&&event.player.storage.nzry_huaiju&&event.player.storage.nzry_huaiju>0;
|
return event.player.hasMark('nzry_huaiju');
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
trigger.tachibanaed=true;
|
|
||||||
player.line(trigger.player,'green');
|
player.line(trigger.player,'green');
|
||||||
if(trigger.name=='damage'){
|
if(trigger.name=='damage'){
|
||||||
trigger.cancel();
|
trigger.cancel();
|
||||||
trigger.player.storage.nzry_huaiju--;
|
trigger.player.removeMark('nzry_huaiju',1);
|
||||||
if(!trigger.player.storage.nzry_huaiju) trigger.player.unmarkSkill('nzry_huaiju');
|
|
||||||
else{
|
|
||||||
trigger.player.syncStorage('nzry_huaiju');
|
|
||||||
trigger.player.updateMarks('nzry_huaiju');
|
|
||||||
}
|
|
||||||
game.log(trigger.player,'移去了1个“橘”');
|
|
||||||
}
|
}
|
||||||
else trigger.num++;
|
else trigger.num++;
|
||||||
},
|
},
|
||||||
|
@ -1214,7 +1211,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
'step 1'
|
'step 1'
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
event.target=result.targets[0];
|
event.target=result.targets[0];
|
||||||
if(player.storage.nzry_huaiju>0){
|
if(player.hasMark('nzry_huaiju')){
|
||||||
player.chooseControl().set('choiceList',['流失一点体力','移去一个“橘”']).set('ai',function(){
|
player.chooseControl().set('choiceList',['流失一点体力','移去一个“橘”']).set('ai',function(){
|
||||||
if(player.hp>2) return 0;
|
if(player.hp>2) return 0;
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -1228,18 +1225,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
//player.line(event.target,'green');
|
//player.line(event.target,'green');
|
||||||
player.logSkill('nzry_yili',target);
|
player.logSkill('nzry_yili',target);
|
||||||
if(result.index==1){
|
if(result.index==1){
|
||||||
player.storage.nzry_huaiju--;
|
player.removeMark('nzry_huaiju',1);
|
||||||
player.syncStorage('nzry_huaiju');
|
|
||||||
if(player.storage.nzry_huaiju<=0) player.unmarkSkill('nzry_huaiju');
|
|
||||||
game.log(player,'移去了1个“橘”');
|
|
||||||
}else{
|
}else{
|
||||||
player.loseHp();
|
player.loseHp();
|
||||||
};
|
};
|
||||||
if(event.target.storage.nzry_huaiju==undefined) event.target.storage.nzry_huaiju=0;
|
target.addMark('nzry_huaiju',1);
|
||||||
event.target.markSkill('nzry_huaiju');
|
|
||||||
event.target.storage.nzry_huaiju++;
|
|
||||||
event.target.syncStorage('nzry_huaiju');
|
|
||||||
game.log(event.target,'获得了1个“橘”');
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"nzry_zhenglun":{
|
"nzry_zhenglun":{
|
||||||
|
@ -1248,18 +1238,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
player:'phaseDrawBefore'
|
player:'phaseDrawBefore'
|
||||||
},
|
},
|
||||||
filter:function (event,player){
|
filter:function (event,player){
|
||||||
return player.storage.nzry_huaiju==undefined||player.storage.nzry_huaiju==0;
|
return !player.hasMark('nzry_huaiju');
|
||||||
},
|
},
|
||||||
check:function (event,player){
|
check:function (event,player){
|
||||||
return player.countCards('h')>=2||player.skipList.contains('phaseUse');
|
return player.countCards('h')>=2||player.skipList.contains('phaseUse');
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
trigger.cancel();
|
trigger.cancel();
|
||||||
if(player.storage.nzry_huaiju==undefined) player.storage.nzry_huaiju=0;
|
player.addMark('nzry_huaiju',1);
|
||||||
player.storage.nzry_huaiju++;
|
|
||||||
player.syncStorage('nzry_huaiju');
|
|
||||||
player.markSkill('nzry_huaiju');
|
|
||||||
game.log(player,'获得了1个“橘”');
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"nzry_kuizhu":{
|
"nzry_kuizhu":{
|
||||||
|
|
165
character/sp.js
165
character/sp.js
|
@ -21,7 +21,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
character:{
|
character:{
|
||||||
huaman:['male','shu',3,['hmmanyi','mansi','souying'],['unseen']],
|
huaman:['male','shu',3,['hmmanyi','mansi','souying','zhanyuan']],
|
||||||
xujing:['male','shu',3,['yuxu','xjshijian']],
|
xujing:['male','shu',3,['yuxu','xjshijian']],
|
||||||
xushao:['male','qun',3,['pingjian'],['unseen']],
|
xushao:['male','qun',3,['pingjian'],['unseen']],
|
||||||
puyuan:['male','shu',4,['pytianjiang','pyzhuren']],
|
puyuan:['male','shu',4,['pytianjiang','pyzhuren']],
|
||||||
|
@ -503,22 +503,22 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
"wolong_card":{
|
"wolong_card":{
|
||||||
type:"takaramono",
|
type:"takaramono",
|
||||||
fullskin:true,
|
fullskin:true,
|
||||||
derivation:"pangdegong",
|
//derivation:"pangdegong",
|
||||||
},
|
},
|
||||||
"fengchu_card":{
|
"fengchu_card":{
|
||||||
type:"takaramono",
|
type:"takaramono",
|
||||||
fullskin:true,
|
fullskin:true,
|
||||||
derivation:"pangdegong",
|
//derivation:"pangdegong",
|
||||||
},
|
},
|
||||||
"xuanjian_card":{
|
"xuanjian_card":{
|
||||||
fullskin:true,
|
fullskin:true,
|
||||||
type:"takaramono",
|
type:"takaramono",
|
||||||
derivation:"pangdegong",
|
//derivation:"pangdegong",
|
||||||
},
|
},
|
||||||
"shuijing_card":{
|
"shuijing_card":{
|
||||||
fullskin:true,
|
fullskin:true,
|
||||||
type:"takaramono",
|
type:"takaramono",
|
||||||
derivation:"pangdegong",
|
//derivation:"pangdegong",
|
||||||
},
|
},
|
||||||
"rewrite_bagua":{
|
"rewrite_bagua":{
|
||||||
derivation:"majun",
|
derivation:"majun",
|
||||||
|
@ -677,12 +677,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
frequent:true,
|
frequent:true,
|
||||||
content:function(){
|
content:function(){
|
||||||
player.draw(game.countPlayer(function(current){
|
var num=game.countPlayer(function(current){
|
||||||
return current.getHistory('damage',function(evt){
|
return current.getHistory('damage',function(evt){
|
||||||
return evt.getParent(2)==trigger;
|
return evt.getParent(2)==trigger;
|
||||||
}).length>0;
|
}).length>0;
|
||||||
}));
|
});
|
||||||
|
player.draw(num);
|
||||||
|
player.addMark('mansi',num,false);
|
||||||
},
|
},
|
||||||
|
intro:{content:'已因此技能获得了#张牌'},
|
||||||
},
|
},
|
||||||
souying:{
|
souying:{
|
||||||
audio:2,
|
audio:2,
|
||||||
|
@ -733,6 +736,66 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
souying2:{},
|
souying2:{},
|
||||||
|
zhanyuan:{
|
||||||
|
unique:true,
|
||||||
|
audio:2,
|
||||||
|
derivation:'hmxili',
|
||||||
|
skillAnimation:true,
|
||||||
|
animationColor:'soil',
|
||||||
|
juexingji:true,
|
||||||
|
forced:true,
|
||||||
|
filter:function(event,player){
|
||||||
|
return player.countMark('mansi')>7;
|
||||||
|
},
|
||||||
|
trigger:{player:'phaseZhunbeiBegin'},
|
||||||
|
content:function(){
|
||||||
|
'step 0'
|
||||||
|
player.awakenSkill('zhanyuan');
|
||||||
|
player.gainMaxHp();
|
||||||
|
'step 1'
|
||||||
|
player.chooseTarget('是否失去〖蛮嗣〗,令一名其他男性角色和自己一同获得技能〖系力〗?',function(card,player,target){
|
||||||
|
return target!=player&&target.sex=='male';
|
||||||
|
}).ai=function(target){
|
||||||
|
return 5-get.attitude(_status.event.player,target);
|
||||||
|
};
|
||||||
|
'step 2'
|
||||||
|
if(result.bool){
|
||||||
|
var target=result.targets[0];
|
||||||
|
player.line(target,'fire');
|
||||||
|
player.addSkill('hmxili');
|
||||||
|
target.addSkill('hmxili');
|
||||||
|
player.removeSkill('mansi');
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
hmxili:{
|
||||||
|
trigger:{global:'useCardToPlayered'},
|
||||||
|
direct:true,
|
||||||
|
audio:2,
|
||||||
|
filter:function(event,player){
|
||||||
|
return event.player!=player&&event.card.name=='sha'&&event.player.isPhaseUsing()&&event.player.hasSkill('hmxili')&&player.countCards('h')>0;
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
'step 0'
|
||||||
|
player.chooseToDiscard('是否弃置一张手牌,令'+get.translation(trigger.card)+'对'+get.translation(trigger.target)+'的伤害+1?','h').set('logSkill',['hmxili',trigger.target]).set('goon',function(){
|
||||||
|
var target=trigger.target;
|
||||||
|
if(get.attitude(player,target)>=0) return false;
|
||||||
|
if(target.getEquip('baiyin')||target.mayHaveShan()) return false;
|
||||||
|
return true;
|
||||||
|
}()).ai=function(card){
|
||||||
|
if(_status.event.goon) return 5-get.value(card);
|
||||||
|
return -1;
|
||||||
|
};
|
||||||
|
'step 1'
|
||||||
|
if(result.bool){
|
||||||
|
var id=trigger.target.playerid;
|
||||||
|
var map=trigger.customArgs;
|
||||||
|
if(!map[id]) map[id]={};
|
||||||
|
if(!map[id].extraDamage) map[id].extraDamage=0;
|
||||||
|
map[id].extraDamage++;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
//许邵许靖
|
//许邵许靖
|
||||||
yuxu:{
|
yuxu:{
|
||||||
audio:2,
|
audio:2,
|
||||||
|
@ -1236,17 +1299,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
audio:2,
|
audio:2,
|
||||||
forced:true,
|
forced:true,
|
||||||
trigger:{player:'damageBegin4'},
|
trigger:{player:'damageBegin4'},
|
||||||
init:function(player,skill){
|
|
||||||
if(!player.storage[skill]) player.storage[skill]=0;
|
|
||||||
},
|
|
||||||
marktext:'珠',
|
marktext:'珠',
|
||||||
intro:{
|
intro:{
|
||||||
|
name2:'珠',
|
||||||
content:'共有#个“珠”',
|
content:'共有#个“珠”',
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
trigger.cancel();
|
trigger.cancel();
|
||||||
player.storage.lslixun+=trigger.num;
|
player.addMark('lslixun',trigger.num);
|
||||||
player.markSkill('lslixun');
|
|
||||||
},
|
},
|
||||||
group:'lslixun_fate',
|
group:'lslixun_fate',
|
||||||
},
|
},
|
||||||
|
@ -1255,12 +1315,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
trigger:{player:'phaseUseBegin'},
|
trigger:{player:'phaseUseBegin'},
|
||||||
forced:true,
|
forced:true,
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
return player.storage.lslixun&&player.storage.lslixun>0;
|
return player.countMark('lslixun')>0;
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
'step 0'
|
'step 0'
|
||||||
event.forceDie=true;
|
event.forceDie=true;
|
||||||
_status.lslixun=player.storage.lslixun;
|
_status.lslixun=player.countMark('lslixun');
|
||||||
player.judge(function(card){
|
player.judge(function(card){
|
||||||
if(get.number(card)<_status.lslixun) return -_status.lslixun;
|
if(get.number(card)<_status.lslixun) return -_status.lslixun;
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -1268,11 +1328,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
'step 1'
|
'step 1'
|
||||||
delete _status.lslixun;
|
delete _status.lslixun;
|
||||||
if(!result.bool){
|
if(!result.bool){
|
||||||
player.chooseToDiscard([1,player.storage.lslixun],'h').ai=lib.skill.qiangxi.check;
|
player.chooseToDiscard([1,player.countMark('lslixun')],'h').ai=lib.skill.qiangxi.check;
|
||||||
}
|
}
|
||||||
else event.finish();
|
else event.finish();
|
||||||
'step 2'
|
'step 2'
|
||||||
var num=player.storage.lslixun;
|
var num=player.countMark('lslixun');
|
||||||
if(result.cards&&result.cards.length) num-=result.cards.length;
|
if(result.cards&&result.cards.length) num-=result.cards.length;
|
||||||
if(num) player.loseHp(num);
|
if(num) player.loseHp(num);
|
||||||
},
|
},
|
||||||
|
@ -1329,8 +1389,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
result.targets[0].damage(target);
|
result.targets[0].damage(target);
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
player.storage.lslixun--;
|
player.removeMark('lslixun',1);
|
||||||
player[player.storage.lslixun?'markSkill':'unmarkSkill']('lslixun');
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -3770,8 +3829,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
player.recover();
|
player.recover();
|
||||||
var list=game.filterPlayer();
|
var list=game.filterPlayer();
|
||||||
for(var i=0;i<list.length;i++){
|
for(var i=0;i<list.length;i++){
|
||||||
if(list[i]!=player&&!list[i].hasSkill('zongkui_mark')){
|
if(list[i]!=player&&!list[i].hasMark('zongkui_mark')){
|
||||||
list[i].addSkill('zongkui_mark');
|
list[i].addMark('zongkui_mark',1);
|
||||||
player.line(list[i],'green');
|
player.line(list[i],'green');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3794,7 +3853,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
if(info.type=='equip') return false;
|
if(info.type=='equip') return false;
|
||||||
if(info.type=='delay') return false;
|
if(info.type=='delay') return false;
|
||||||
return game.hasPlayer(function(current){
|
return game.hasPlayer(function(current){
|
||||||
if(!current.hasSkill('zongkui_mark')) return false;
|
if(!current.hasMark('zongkui_mark')) return false;
|
||||||
return !event.targets.contains(current)&&lib.filter.targetEnabled2(event.card,player,current);
|
return !event.targets.contains(current)&&lib.filter.targetEnabled2(event.card,player,current);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
@ -3802,7 +3861,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
content:function(){
|
content:function(){
|
||||||
'step 0'
|
'step 0'
|
||||||
player.chooseTarget(get.prompt2('bmcanshi'),[1,Infinity],function(card,player,target){
|
player.chooseTarget(get.prompt2('bmcanshi'),[1,Infinity],function(card,player,target){
|
||||||
if(!target.hasSkill('zongkui_mark')) return false;
|
if(!target.hasMark('zongkui_mark')) return false;
|
||||||
var trigger=_status.event.getTrigger();
|
var trigger=_status.event.getTrigger();
|
||||||
return !trigger.targets.contains(target)&&lib.filter.targetEnabled2(trigger.card,player,target);
|
return !trigger.targets.contains(target)&&lib.filter.targetEnabled2(trigger.card,player,target);
|
||||||
}).set('ai',function(target){
|
}).set('ai',function(target){
|
||||||
|
@ -3814,7 +3873,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
if(!event.isMine()&&!_status.connectMode) game.delayx();
|
if(!event.isMine()&&!_status.connectMode) game.delayx();
|
||||||
event.targets=result.targets.slice(0);
|
event.targets=result.targets.slice(0);
|
||||||
for(var i=0;i<event.targets.length;i++){
|
for(var i=0;i<event.targets.length;i++){
|
||||||
event.targets[i].removeSkill('zongkui_mark');
|
event.targets[i].removeMark('zongkui_mark',1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
|
@ -3836,12 +3895,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
logTarget:'player',
|
logTarget:'player',
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
if(!event.targets||event.targets.length!=1) return false;
|
if(!event.targets||event.targets.length!=1) return false;
|
||||||
return event.player.hasSkill('zongkui_mark');
|
return event.player.hasMark('zongkui_mark');
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
trigger.getParent().excluded.add(player);
|
trigger.getParent().excluded.add(player);
|
||||||
game.delay();
|
game.delay();
|
||||||
trigger.player.removeSkill('zongkui_mark');
|
trigger.player.removeMark('zongkui_mark');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3857,7 +3916,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
trigger:{global:'damageEnd'},
|
trigger:{global:'damageEnd'},
|
||||||
forced:true,
|
forced:true,
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
return event.player!=player&&event.player.isAlive()&&event.player.hasSkill('zongkui_mark');
|
return event.player!=player&&event.player.isAlive()&&event.player.hasMark('zongkui_mark');
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
'step 0'
|
'step 0'
|
||||||
|
@ -3884,20 +3943,20 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
zongkui:{
|
zongkui:{
|
||||||
trigger:{player:'phaseZhunbeiBegin',global:'roundStart'},
|
trigger:{player:'phaseBefore',global:'roundStart'},
|
||||||
direct:true,
|
direct:true,
|
||||||
audio:2,
|
audio:2,
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
return game.hasPlayer(function(current){
|
return game.hasPlayer(function(current){
|
||||||
if(event.name=='roundStart'&&!current.isMinHp()) return false;
|
if(event.name=='roundStart'&&!current.isMinHp()) return false;
|
||||||
return current!=player&&!current.hasSkill('zongkui_mark');
|
return current!=player&&!current.hasMark('zongkui_mark');
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
'step 0'
|
'step 0'
|
||||||
player.chooseTarget(get.prompt2('zongkui'),function(card,player,target){
|
player.chooseTarget(get.prompt2('zongkui'),function(card,player,target){
|
||||||
if(_status.event.round&&!target.isMinHp()) return false;
|
if(_status.event.round&&!target.isMinHp()) return false;
|
||||||
return target!=player&&!target.hasSkill('zongkui_mark');
|
return target!=player&&!target.hasMark('zongkui_mark');
|
||||||
}).set('ai',function(target){
|
}).set('ai',function(target){
|
||||||
var num=target.isMinHp()?0.5:(1+Math.random());
|
var num=target.isMinHp()?0.5:(1+Math.random());
|
||||||
if(get.attitude(_status.event.player,target)<0){
|
if(get.attitude(_status.event.player,target)<0){
|
||||||
|
@ -3909,16 +3968,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
var target=result.targets[0];
|
var target=result.targets[0];
|
||||||
player.logSkill('zongkui',target);
|
player.logSkill('zongkui',target);
|
||||||
target.addSkill('zongkui_mark');
|
target.addMark('zongkui_mark',1);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
subSkill:{
|
subSkill:{
|
||||||
mark:{
|
mark:{
|
||||||
charlotte:true,
|
marktext:'傀',
|
||||||
locked:true,
|
|
||||||
mark:true,
|
|
||||||
intro:{
|
intro:{
|
||||||
content:'已获得“傀”标记'
|
name2:'傀',
|
||||||
|
content:'mark'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -7393,9 +7451,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
content:function(){
|
content:function(){
|
||||||
player.chooseToCompare(targets).callback=lib.skill.gushe.callback;
|
player.chooseToCompare(targets).callback=lib.skill.gushe.callback;
|
||||||
},
|
},
|
||||||
init:function(player){
|
|
||||||
player.storage.gushe=0;
|
|
||||||
},
|
|
||||||
intro:{
|
intro:{
|
||||||
name:'饶舌',
|
name:'饶舌',
|
||||||
content:'mark'
|
content:'mark'
|
||||||
|
@ -7404,11 +7459,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
callback:function(){
|
callback:function(){
|
||||||
'step 0'
|
'step 0'
|
||||||
if(event.num1<=event.num2){
|
if(event.num1<=event.num2){
|
||||||
target.chat(lib.skill.gushe.chat[player.storage.gushe]);
|
target.chat(lib.skill.gushe.chat[player.countMark('gushe')]);
|
||||||
game.delay();
|
game.delay();
|
||||||
player.storage.gushe++;
|
player.addMark('gushe',1);
|
||||||
player.markSkill('gushe');
|
if(player.countMark('gushe')>=7){
|
||||||
if(player.storage.gushe>=7){
|
|
||||||
player.die();
|
player.die();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -7460,11 +7514,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
audio:2,
|
audio:2,
|
||||||
trigger:{player:'compare'},
|
trigger:{player:'compare'},
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
return event.getParent().name=='gushe'&&!event.iwhile&&event.num1<=player.storage.gushe;
|
return event.getParent().name=='gushe'&&!event.iwhile&&event.num1<=player.countMark('gushe');
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
if(trigger.num1<player.storage.gushe){
|
if(trigger.num1<player.countMark('gushe')){
|
||||||
trigger.num1+=player.storage.gushe;
|
trigger.num1+=player.countMark('gushe');
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
player.getStat().skill.gushe--;
|
player.getStat().skill.gushe--;
|
||||||
|
@ -10092,24 +10146,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
return event.nature=='fire';
|
return event.nature=='fire';
|
||||||
},
|
},
|
||||||
init:function(player){
|
|
||||||
player.storage.ranshang=0;
|
|
||||||
},
|
|
||||||
forced:true,
|
forced:true,
|
||||||
check:function(){
|
check:function(){
|
||||||
return false;
|
return false;
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
if(player.storage.ranshang){
|
player.addMark('ranshang',trigger.num);
|
||||||
player.storage.ranshang+=trigger.num;
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
player.storage.ranshang=trigger.num;
|
|
||||||
}
|
|
||||||
player.markSkill('ranshang');
|
|
||||||
game.addVideo('storage',player,['ranshang',player.storage.ranshang]);
|
|
||||||
},
|
},
|
||||||
intro:{
|
intro:{
|
||||||
|
name2:'燃',
|
||||||
content:'mark'
|
content:'mark'
|
||||||
},
|
},
|
||||||
ai:{
|
ai:{
|
||||||
|
@ -10129,10 +10174,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
trigger:{player:'phaseJieshuBegin'},
|
trigger:{player:'phaseJieshuBegin'},
|
||||||
forced:true,
|
forced:true,
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
return player.storage.ranshang>0;
|
return player.countMark('ranshang')>0;
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
player.loseHp(player.storage.ranshang);
|
player.loseHp(player.countMark('ranshang'));
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
hanyong:{
|
hanyong:{
|
||||||
|
@ -13860,7 +13905,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
mansi:'蛮嗣',
|
mansi:'蛮嗣',
|
||||||
mansi_info:'一名角色使用的【南蛮入侵】结算完成后,你可以摸X张牌(X为受到过此牌伤害的角色数)。',
|
mansi_info:'一名角色使用的【南蛮入侵】结算完成后,你可以摸X张牌(X为受到过此牌伤害的角色数)。',
|
||||||
souying:'薮影',
|
souying:'薮影',
|
||||||
souying_info:'每回合限一次',
|
souying_info:'每回合限一次,当你对一名男性角色造成伤害(或一名男性角色对你造成伤害时)若此伤害是你对其(或其对你)本回合内造成的第二次伤害,你可以弃置一张手牌令此伤害+1或(-1)。',
|
||||||
|
zhanyuan:'战缘',
|
||||||
|
zhanyuan_info:'觉醒技,准备阶段,若你已因蛮嗣累计获得超过7张牌,你加一点体力上限,并可以选择一名男性角色,你与其获得技能〖系力〗,然后你失去技能〖蛮嗣〗',
|
||||||
|
hmxili:'系力',
|
||||||
|
hmxili_info:'你的回合外,当其他拥有〖系力〗技能的角色在其回合内使用【杀】指定目标后,你可以弃置一张手牌,令此【杀】伤害+1。',
|
||||||
yuxu:'誉虚',
|
yuxu:'誉虚',
|
||||||
yuxu_info:'当你于出牌阶段内使用牌时,你可以摸一张牌。若如此做,当你于出牌阶段内使用下一张牌时,你弃置一张牌。',
|
yuxu_info:'当你于出牌阶段内使用牌时,你可以摸一张牌。若如此做,当你于出牌阶段内使用下一张牌时,你弃置一张牌。',
|
||||||
yuxu2:'誉虚(弃牌)',
|
yuxu2:'誉虚(弃牌)',
|
||||||
|
|
|
@ -1129,24 +1129,19 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
group:["xinfu_xionghuo_damage","xinfu_xionghuo_begin","xinfu_xionghuo_init"],
|
group:["xinfu_xionghuo_damage","xinfu_xionghuo_begin","xinfu_xionghuo_init"],
|
||||||
subSkill:{
|
subSkill:{
|
||||||
begin:{
|
begin:{
|
||||||
silent:true,
|
audio:'xinfu_xionghuo',
|
||||||
popup:false,
|
logTarget:'player',
|
||||||
sub:true,
|
line:false,
|
||||||
forced:true,
|
forced:true,
|
||||||
trigger:{
|
trigger:{
|
||||||
global:"phaseUseBegin",
|
global:"phaseUseBegin",
|
||||||
},
|
},
|
||||||
filter:function (event,player){
|
filter:function (event,player){
|
||||||
return event.player.hasSkill('xionghuo')&&event.player!=player;
|
return event.player.countMark('xionghuo')>0&&event.player!=player;
|
||||||
},
|
},
|
||||||
content:function (){
|
content:function (){
|
||||||
'step 0'
|
'step 0'
|
||||||
player.logSkill("xinfu_xionghuo");
|
trigger.player.removeMark('xionghuo',1);
|
||||||
if(trigger.player.storage.xionghuo>1) trigger.player.storage.xionghuo--;
|
|
||||||
else{
|
|
||||||
delete trigger.player.storage.xionghuo;
|
|
||||||
trigger.player.removeSkill('xionghuo');
|
|
||||||
}
|
|
||||||
var list=[1,2,3];
|
var list=[1,2,3];
|
||||||
var num=list.randomGet();
|
var num=list.randomGet();
|
||||||
event.goto(num);
|
event.goto(num);
|
||||||
|
@ -1182,7 +1177,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
source:"damageBegin1",
|
source:"damageBegin1",
|
||||||
},
|
},
|
||||||
filter:function (event,player){
|
filter:function (event,player){
|
||||||
return event.player.hasSkill('xionghuo');
|
return event.player.countMark('xionghuo')>0;
|
||||||
},
|
},
|
||||||
content:function (){
|
content:function (){
|
||||||
trigger.num++;
|
trigger.num++;
|
||||||
|
@ -1196,45 +1191,30 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
forced:true,
|
forced:true,
|
||||||
locked:false,
|
locked:false,
|
||||||
content:function(){
|
content:function(){
|
||||||
player.storage.xinfu_xionghuo+=3;
|
player.addMark("xionghuo",3);
|
||||||
player.markSkill("xinfu_xionghuo");
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
audio:2,
|
audio:2,
|
||||||
enable:"phaseUse",
|
enable:"phaseUse",
|
||||||
usable:null,
|
|
||||||
init:function (player){
|
|
||||||
if(player.storage.xinfu_xionghuo==undefined) player.storage.xinfu_xionghuo=0;
|
|
||||||
},
|
|
||||||
//mark:true,
|
|
||||||
marktext:"戾",
|
|
||||||
intro:{
|
|
||||||
content:"mark",
|
|
||||||
},
|
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
return player.storage.xinfu_xionghuo>0;
|
return player.countMark('xionghuo')>0;
|
||||||
},
|
},
|
||||||
filterTarget:function (card,player,target){
|
filterTarget:function (card,player,target){
|
||||||
if(target.storage.xionghuo!=undefined&&target.storage.xionghuo>0) return false;
|
if(target.hasMark('xionghuo')) return false;
|
||||||
return player!=target&&player.storage.xinfu_xionghuo>0;
|
return player!=target>0;
|
||||||
},
|
},
|
||||||
content:function (){
|
content:function (){
|
||||||
if(target.storage.xionghuo==undefined||target.storage.xionghuo==0){
|
player.removeMark('xionghuo',1);
|
||||||
target.addSkill('xionghuo');
|
target.addMark('xionghuo',1);
|
||||||
target.storage.xionghuo=0;
|
|
||||||
}
|
|
||||||
target.storage.xionghuo++;
|
|
||||||
player.storage.xinfu_xionghuo--;
|
|
||||||
target.syncStorage('xionghuo');
|
|
||||||
player.syncStorage('xinfu_xionghuo');
|
|
||||||
if(player.storage.xinfu_xionghuo==0) player.unmarkSkill('xinfu_xionghuo');
|
|
||||||
},
|
},
|
||||||
ai:{
|
ai:{
|
||||||
order:11,
|
order:11,
|
||||||
result:{
|
result:{
|
||||||
target:function (player,target){
|
target:function (player,target){
|
||||||
return Math.min(-(1+player.storage.xinfu_xionghuo-target.hp),0);
|
var mark=player.countMark('xionghuo');
|
||||||
|
if(mark>2) return -1;
|
||||||
|
return Math.min(-(1+mark-target.hp),0);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
threaten:1.1,
|
threaten:1.1,
|
||||||
|
@ -1244,6 +1224,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
marktext:"戾",
|
marktext:"戾",
|
||||||
mark:true,
|
mark:true,
|
||||||
intro:{
|
intro:{
|
||||||
|
name:'暴戾',
|
||||||
content:"mark",
|
content:"mark",
|
||||||
},
|
},
|
||||||
locked:true,
|
locked:true,
|
||||||
|
@ -1286,10 +1267,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
if(trigger.parent.name=='damage'&&get.itemtype(trigger.parent.cards)=='cards'&&get.position(trigger.parent.cards[0],true)=='o'){
|
if(trigger.parent.name=='damage'&&get.itemtype(trigger.parent.cards)=='cards'&&get.position(trigger.parent.cards[0],true)=='o'){
|
||||||
player.gain(trigger.parent.cards,"gain2");
|
player.gain(trigger.parent.cards,"gain2");
|
||||||
}
|
}
|
||||||
if(!player.storage.xinfu_xionghuo) player.storage.xinfu_xionghuo=0;
|
player.addMark('xionghuo',1);
|
||||||
player.storage.xinfu_xionghuo++;
|
|
||||||
player.markSkill('xinfu_xionghuo');
|
|
||||||
player.syncStorage('xinfu_xionghuo');
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"xinfu_jianjie":{
|
"xinfu_jianjie":{
|
||||||
|
@ -1914,27 +1892,34 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
|
|
||||||
"xinfu_falu":{
|
"xinfu_falu":{
|
||||||
init:function (player,skill){
|
subSkill:{
|
||||||
if(player.storage[skill]==undefined) player.storage[skill]=0;
|
spade:{
|
||||||
if(player.storage[skill+'_map']==undefined) player.storage[skill+'_map']={
|
marktext:'♠︎️',
|
||||||
spade:false,heart:false,diamond:false,club:false,
|
intro:{
|
||||||
};
|
name:'紫薇',
|
||||||
},
|
content:'mark',
|
||||||
//mark:true,
|
},
|
||||||
intro:{
|
},
|
||||||
content:function (content,player){
|
heart:{
|
||||||
var storage=player.storage.xinfu_falu_map;
|
marktext:'♥︎️',
|
||||||
var str='紫薇:';
|
intro:{
|
||||||
str+=storage.spade?1:0;
|
name:'玉清',
|
||||||
str+='、玉清:';
|
content:'mark',
|
||||||
str+=storage.heart?1:0;
|
},
|
||||||
str+='、后土:';
|
},
|
||||||
str+=storage.club?1:0;
|
club:{
|
||||||
str+='、勾陈:';
|
marktext:'♣︎️',
|
||||||
str+=storage.diamond?1:0;
|
intro:{
|
||||||
str+='、合计:';
|
name:'后土',
|
||||||
str+=content;
|
content:'mark',
|
||||||
return str;
|
},
|
||||||
|
},
|
||||||
|
diamond:{
|
||||||
|
marktext:'♦︎',
|
||||||
|
intro:{
|
||||||
|
name:'勾陈',
|
||||||
|
content:'mark',
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
forced:true,
|
forced:true,
|
||||||
|
@ -1946,28 +1931,21 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
filter:function (event,player){
|
filter:function (event,player){
|
||||||
if(event.name!='discard') return true;
|
if(event.name!='discard') return true;
|
||||||
for(var i=0;i<event.cards.length;i++){
|
for(var i=0;i<event.cards.length;i++){
|
||||||
if(!player.storage.xinfu_falu_map[get.suit(event.cards[i])]) return true;
|
if(!player.hasMark('xinfu_falu_'+get.suit(event.cards[i]))) return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
},
|
},
|
||||||
content:function (){
|
content:function (){
|
||||||
if(trigger.name!='discard'){
|
if(trigger.name!='discard'){
|
||||||
player.storage[event.name]=4;
|
for(var i=0;i<lib.suit.length;i++){
|
||||||
player.storage[event.name+'_map']={
|
if(!player.hasMark('xinfu_falu_'+lib.suit[i])) player.addMark('xinfu_falu_'+lib.suit[i]);
|
||||||
spade:true,heart:true,diamond:true,club:true,
|
}
|
||||||
};
|
|
||||||
player.markSkill('xinfu_falu');
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
for(var i=0;i<trigger.cards.length;i++){
|
for(var i=0;i<trigger.cards.length;i++){
|
||||||
player.storage.xinfu_falu_map[get.suit(trigger.cards[i])]=true;
|
var suit=get.suit(trigger.cards[i]);
|
||||||
|
if(!player.hasMark('xinfu_falu_'+suit)) player.addMark('xinfu_falu_'+suit);
|
||||||
}
|
}
|
||||||
var num=0;
|
|
||||||
for(var i in player.storage.xinfu_falu_map){
|
|
||||||
if(player.storage.xinfu_falu_map[i]==true) num++;
|
|
||||||
}
|
|
||||||
player.storage.xinfu_falu=num;
|
|
||||||
player.markSkill('xinfu_falu');
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"xinfu_dianhua":{
|
"xinfu_dianhua":{
|
||||||
|
@ -1977,11 +1955,17 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
frequent:true,
|
frequent:true,
|
||||||
audio:2,
|
audio:2,
|
||||||
filter:function (event,player){
|
filter:function (event,player){
|
||||||
return player.storage.xinfu_falu&&player.storage.xinfu_falu>0;
|
for(var i=0;i<lib.suit.length;i++){
|
||||||
|
if(player.hasMark('xinfu_falu_'+lib.suit[i])) return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
},
|
},
|
||||||
content:function (){
|
content:function (){
|
||||||
'step 0'
|
'step 0'
|
||||||
var num=player.storage.xinfu_falu;
|
var num=0;
|
||||||
|
for(var i=0;i<lib.suit.length;i++){
|
||||||
|
if(player.hasMark('xinfu_falu_'+lib.suit[i])) num++;
|
||||||
|
}
|
||||||
player.chooseCardButton(num,true,get.cards(num),'【点化】:按顺将卡牌置于牌堆顶(先选择的在上)').set('ai',function(button){
|
player.chooseCardButton(num,true,get.cards(num),'【点化】:按顺将卡牌置于牌堆顶(先选择的在上)').set('ai',function(button){
|
||||||
return get.value(button.link);
|
return get.value(button.link);
|
||||||
});
|
});
|
||||||
|
@ -2002,18 +1986,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
audio:2,
|
audio:2,
|
||||||
filter:function (event,player){
|
filter:function (event,player){
|
||||||
if(!event.nature) return false;
|
if(!event.nature) return false;
|
||||||
return player.storage.xinfu_falu_map.diamond;
|
return player.hasMark('xinfu_falu_diamond');
|
||||||
},
|
},
|
||||||
prompt2:'弃置“勾陈”标记,从牌堆中获得每种类型的牌各一张。',
|
prompt2:'弃置“勾陈”标记,从牌堆中获得每种类型的牌各一张。',
|
||||||
content:function (){
|
content:function (){
|
||||||
'step 0'
|
'step 0'
|
||||||
player.storage.xinfu_falu_map.diamond=false;
|
player.removeMark('xinfu_falu_diamond');
|
||||||
var num=0;
|
|
||||||
for(var i in player.storage.xinfu_falu_map){
|
|
||||||
if(player.storage.xinfu_falu_map[i]==true) num++;
|
|
||||||
}
|
|
||||||
player.storage.xinfu_falu=num;
|
|
||||||
player[num?'markSkill':'unmarkSkill']('xinfu_falu');
|
|
||||||
event.num=0;
|
event.num=0;
|
||||||
event.togain=[];
|
event.togain=[];
|
||||||
'step 1'
|
'step 1'
|
||||||
|
@ -2035,30 +2013,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"zhenyi_spade":{
|
"zhenyi_spade":{
|
||||||
subSkill:{
|
|
||||||
red:{
|
|
||||||
mod:{
|
|
||||||
suit:function (card,suit){
|
|
||||||
return 'heart';
|
|
||||||
},
|
|
||||||
},
|
|
||||||
sub:true,
|
|
||||||
},
|
|
||||||
black:{
|
|
||||||
mod:{
|
|
||||||
suit:function (card,suit){
|
|
||||||
return 'spade';
|
|
||||||
},
|
|
||||||
},
|
|
||||||
sub:true,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
trigger:{
|
trigger:{
|
||||||
global:"judge",
|
global:"judge",
|
||||||
},
|
},
|
||||||
direct:true,
|
direct:true,
|
||||||
filter:function (event,player){
|
filter:function (event,player){
|
||||||
return player.storage.xinfu_falu_map.spade==true;
|
return player.hasMark('xinfu_falu_spade');
|
||||||
},
|
},
|
||||||
content:function (){
|
content:function (){
|
||||||
"step 0"
|
"step 0"
|
||||||
|
@ -2092,15 +2052,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
}).set('judging',trigger.player.judging[0]);
|
}).set('judging',trigger.player.judging[0]);
|
||||||
"step 1"
|
"step 1"
|
||||||
if(['黑桃5','红桃5'].contains(result.control)){
|
if(['黑桃5','红桃5'].contains(result.control)){
|
||||||
player.storage.xinfu_falu_map.spade=false;
|
player.removeMark('xinfu_falu_spade');
|
||||||
var num=0;
|
|
||||||
for(var i in player.storage.xinfu_falu_map){
|
|
||||||
if(player.storage.xinfu_falu_map[i]==true) num++;
|
|
||||||
}
|
|
||||||
player.storage.xinfu_falu=num;
|
|
||||||
player[num?'markSkill':'unmarkSkill']('xinfu_falu');
|
|
||||||
player.logSkill('xinfu_zhenyi',trigger.player);
|
player.logSkill('xinfu_zhenyi',trigger.player);
|
||||||
player.line(trigger.player);
|
//player.line(trigger.player);
|
||||||
player.popup(result.control);
|
player.popup(result.control);
|
||||||
game.log(player,'将判定结果改为了','#y'+result.control);
|
game.log(player,'将判定结果改为了','#y'+result.control);
|
||||||
trigger.fixedResult={
|
trigger.fixedResult={
|
||||||
|
@ -2125,7 +2079,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
enable:"chooseToUse",
|
enable:"chooseToUse",
|
||||||
filter:function (event,player){
|
filter:function (event,player){
|
||||||
if(!player.isDying()) return false;
|
if(!player.isDying()) return false;
|
||||||
return player.storage.xinfu_falu_map.club;
|
return player.hasMark('xinfu_falu_club');
|
||||||
},
|
},
|
||||||
filterCard:true,
|
filterCard:true,
|
||||||
position:"h",
|
position:"h",
|
||||||
|
@ -2135,14 +2089,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
prompt:"弃置“后土”标记将一张手牌当桃使用",
|
prompt:"弃置“后土”标记将一张手牌当桃使用",
|
||||||
check:function (card){return 15-get.value(card)},
|
check:function (card){return 15-get.value(card)},
|
||||||
precontent:function (){
|
precontent:function (){
|
||||||
player.logSkill('xinfu_zhenyi');
|
player.hasMark('xinfu_falu_club');
|
||||||
player.storage.xinfu_falu_map.club=false;
|
|
||||||
var num=0;
|
|
||||||
for(var i in player.storage.xinfu_falu_map){
|
|
||||||
if(player.storage.xinfu_falu_map[i]==true) num++;
|
|
||||||
}
|
|
||||||
player.storage.xinfu_falu=num;
|
|
||||||
player[num?'markSkill':'unmarkSkill']('xinfu_falu');
|
|
||||||
},
|
},
|
||||||
ai:{
|
ai:{
|
||||||
skillTagFilter:function (player){
|
skillTagFilter:function (player){
|
||||||
|
@ -2158,7 +2105,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
source:"damageBegin1",
|
source:"damageBegin1",
|
||||||
},
|
},
|
||||||
filter:function (event,player){
|
filter:function (event,player){
|
||||||
return event.source&&player.storage.xinfu_falu_map.heart;
|
return player.hasMark('xinfu_falu_heart');
|
||||||
},
|
},
|
||||||
check:function (event,player){
|
check:function (event,player){
|
||||||
return false;
|
return false;
|
||||||
|
@ -2169,13 +2116,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
logTarget:"player",
|
logTarget:"player",
|
||||||
content:function (){
|
content:function (){
|
||||||
"step 0"
|
"step 0"
|
||||||
player.storage.xinfu_falu_map.heart=false;
|
player.removeMark('xinfu_falu_heart')
|
||||||
var num=0;
|
|
||||||
for(var i in player.storage.xinfu_falu_map){
|
|
||||||
if(player.storage.xinfu_falu_map[i]==true) num++;
|
|
||||||
}
|
|
||||||
player.storage.xinfu_falu=num;
|
|
||||||
player[num?'markSkill':'unmarkSkill']('xinfu_falu');
|
|
||||||
player.judge(function(card){
|
player.judge(function(card){
|
||||||
if(get.color(card)=='black') return 4;
|
if(get.color(card)=='black') return 4;
|
||||||
return -1;
|
return -1;
|
||||||
|
|
|
@ -6456,9 +6456,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
trigger:{global:'useCardToPlayered'},
|
trigger:{global:'useCardToPlayered'},
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
if(event.getParent().triggeredTargets3.length>1) return false;
|
if(event.getParent().triggeredTargets3.length>1) return false;
|
||||||
return !player.hasSkill('zuoding2')&&get.suit(event.card)=='spade'&&
|
return get.suit(event.card)=='spade'&&
|
||||||
_status.currentPhase==event.player&&event.targets&&event.targets.length&&
|
_status.currentPhase==event.player&&event.targets&&event.targets.length&&
|
||||||
event.player!=player;
|
event.player!=player&&!game.hasPlayer(function(current){
|
||||||
|
return current.getHistory('damage').length>0;
|
||||||
|
});
|
||||||
},
|
},
|
||||||
direct:true,
|
direct:true,
|
||||||
content:function(){
|
content:function(){
|
||||||
|
@ -6477,7 +6479,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
ai:{
|
ai:{
|
||||||
expose:0.2
|
expose:0.2
|
||||||
},
|
},
|
||||||
group:'zuoding3'
|
//group:'zuoding3'
|
||||||
},
|
},
|
||||||
zuoding2:{},
|
zuoding2:{},
|
||||||
zuoding3:{
|
zuoding3:{
|
||||||
|
@ -7773,10 +7775,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
xiantu:{
|
xiantu:{
|
||||||
unique:true,
|
//unique:true,
|
||||||
audio:2,
|
audio:'xiantu1',
|
||||||
gainable:true,
|
group:'xiantu2',
|
||||||
forceunique:true,
|
//gainable:true,
|
||||||
|
//forceunique:true,
|
||||||
trigger:{global:'phaseUseBegin'},
|
trigger:{global:'phaseUseBegin'},
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
return event.player!=player;
|
return event.player!=player;
|
||||||
|
@ -7802,24 +7805,33 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
});
|
});
|
||||||
"step 2"
|
"step 2"
|
||||||
trigger.player.gain(result.cards,player,'giveAuto');
|
trigger.player.gain(result.cards,player,'giveAuto');
|
||||||
trigger.player.addSkill('xiantu2');
|
trigger.player.addSkill('xiantu4');
|
||||||
trigger.player.storage.xiantu=player;
|
trigger.player.storage.xiantu4.push(player);
|
||||||
},
|
},
|
||||||
ai:{
|
ai:{
|
||||||
threaten:1.1,
|
threaten:1.1,
|
||||||
expose:0.3
|
expose:0.3
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
xiantu2:{
|
xiantu1:{audio:true},
|
||||||
|
xiantu2:{audio:true},
|
||||||
|
xiantu4:{
|
||||||
trigger:{player:'phaseUseEnd'},
|
trigger:{player:'phaseUseEnd'},
|
||||||
forced:true,
|
forced:true,
|
||||||
audio:false,
|
audio:false,
|
||||||
|
onremove:true,
|
||||||
|
init:function(player,skill){
|
||||||
|
if(!player.storage[skill]) player.storage[skill]=[];
|
||||||
|
},
|
||||||
|
charlotte:true,
|
||||||
content:function(){
|
content:function(){
|
||||||
if(player.storage.xiantu){
|
while(player.storage.xiantu4.length){
|
||||||
player.storage.xiantu.loseHp();
|
var current=player.storage.xiantu4.shift();
|
||||||
delete player.storage.xiantu;
|
if(current.isDead()) continue;
|
||||||
|
current.logSkill('xiantu2');
|
||||||
|
current.loseHp();
|
||||||
}
|
}
|
||||||
player.removeSkill('xiantu2');
|
player.removeSkill('xiantu4');
|
||||||
},
|
},
|
||||||
group:'xiantu3'
|
group:'xiantu3'
|
||||||
},
|
},
|
||||||
|
@ -7828,8 +7840,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
forced:true,
|
forced:true,
|
||||||
audio:false,
|
audio:false,
|
||||||
content:function(){
|
content:function(){
|
||||||
delete player.storage.xiantu;
|
player.removeSkill('xiantu4');
|
||||||
player.removeSkill('xiantu2');
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
qiangzhi:{
|
qiangzhi:{
|
||||||
|
|
|
@ -1956,7 +1956,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
if(event.player==player) return false;
|
if(event.player==player) return false;
|
||||||
if(event.player.sex!='male') return false;
|
if(event.player.sex!='male') return false;
|
||||||
if(event.result.card.parentNode.id!='discardPile') return false;
|
if(get.position(event.result.card)!='o') return false;
|
||||||
return (get.color(event.result.card)=='red');
|
return (get.color(event.result.card)=='red');
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
window.noname_asset_list=[
|
window.noname_asset_list=[
|
||||||
'1.9.97.3',
|
'1.9.97.2',
|
||||||
'audio/background/aozhan_chaoming.mp3',
|
'audio/background/aozhan_chaoming.mp3',
|
||||||
'audio/background/aozhan_online.mp3',
|
'audio/background/aozhan_online.mp3',
|
||||||
'audio/background/aozhan_rewrite.mp3',
|
'audio/background/aozhan_rewrite.mp3',
|
||||||
|
@ -2488,6 +2488,7 @@ window.noname_asset_list=[
|
||||||
'image/character/xujing.jpg',
|
'image/character/xujing.jpg',
|
||||||
'image/character/old_fuhuanghou.jpg',
|
'image/character/old_fuhuanghou.jpg',
|
||||||
'image/character/old_caochong.jpg',
|
'image/character/old_caochong.jpg',
|
||||||
|
'image/character/huaman.jpg',
|
||||||
|
|
||||||
'image/character/baiwuchang.jpg',
|
'image/character/baiwuchang.jpg',
|
||||||
'image/character/baosanniang.jpg',
|
'image/character/baosanniang.jpg',
|
||||||
|
@ -4128,4 +4129,4 @@ window.noname_skin_list={
|
||||||
|
|
||||||
shibing1:6,
|
shibing1:6,
|
||||||
shibing2:6,
|
shibing2:6,
|
||||||
};
|
};
|
69
game/game.js
69
game/game.js
|
@ -13474,6 +13474,9 @@
|
||||||
next.card=card;
|
next.card=card;
|
||||||
next.cards=cards;
|
next.cards=cards;
|
||||||
next.player=player;
|
next.player=player;
|
||||||
|
next.excluded=event.excluded;
|
||||||
|
next.directHit=event.directHit;
|
||||||
|
next.customArgs=event.customArgs;
|
||||||
if(event.forceDie) next.forceDie=true;
|
if(event.forceDie) next.forceDie=true;
|
||||||
event.redo();
|
event.redo();
|
||||||
}
|
}
|
||||||
|
@ -13489,6 +13492,9 @@
|
||||||
next.card=card;
|
next.card=card;
|
||||||
next.cards=cards;
|
next.cards=cards;
|
||||||
next.player=player;
|
next.player=player;
|
||||||
|
next.excluded=event.excluded;
|
||||||
|
next.directHit=event.directHit;
|
||||||
|
next.customArgs=event.customArgs;
|
||||||
if(event.forceDie) next.forceDie=true;
|
if(event.forceDie) next.forceDie=true;
|
||||||
event.redo();
|
event.redo();
|
||||||
}
|
}
|
||||||
|
@ -13504,6 +13510,9 @@
|
||||||
next.card=card;
|
next.card=card;
|
||||||
next.cards=cards;
|
next.cards=cards;
|
||||||
next.player=player;
|
next.player=player;
|
||||||
|
next.excluded=event.excluded;
|
||||||
|
next.directHit=event.directHit;
|
||||||
|
next.customArgs=event.customArgs;
|
||||||
if(event.forceDie) next.forceDie=true;
|
if(event.forceDie) next.forceDie=true;
|
||||||
event.redo();
|
event.redo();
|
||||||
}
|
}
|
||||||
|
@ -13519,6 +13528,9 @@
|
||||||
next.card=card;
|
next.card=card;
|
||||||
next.cards=cards;
|
next.cards=cards;
|
||||||
next.player=player;
|
next.player=player;
|
||||||
|
next.excluded=event.excluded;
|
||||||
|
next.directHit=event.directHit;
|
||||||
|
next.customArgs=event.customArgs;
|
||||||
if(event.forceDie) next.forceDie=true;
|
if(event.forceDie) next.forceDie=true;
|
||||||
event.redo();
|
event.redo();
|
||||||
}
|
}
|
||||||
|
@ -16114,6 +16126,44 @@
|
||||||
this.updateMarks();
|
this.updateMarks();
|
||||||
return this;
|
return this;
|
||||||
},
|
},
|
||||||
|
removeMark:function(i,num,log){
|
||||||
|
if(typeof num!='number'||!num) num=1;
|
||||||
|
if(typeof this.storage[i]!='number'||!this.storage[i]) return;
|
||||||
|
if(num>this.storage[i]) num=this.storage[i];
|
||||||
|
this.storage[i]-=num;
|
||||||
|
if(log!==false){
|
||||||
|
var str=false;
|
||||||
|
var info=get.info(i);
|
||||||
|
if(info&&info.intro&&(info.intro.name||info.intro.name2)) str=info.intro.name2||info.intro.name;
|
||||||
|
else str=lib.translate[i];
|
||||||
|
if(str) game.log(this,'移去了',get.cnNumber(num),'个','#g【'+str+'】');
|
||||||
|
}
|
||||||
|
this.syncStorage(i);
|
||||||
|
this[this.storage[i]?'updateMark':'unmarkSkill'](i);
|
||||||
|
},
|
||||||
|
addMark:function(i,num,log){
|
||||||
|
if(typeof num!='number'||!num) num=1;
|
||||||
|
if(typeof this.storage[i]!='number') this.storage[i]=0;
|
||||||
|
this.storage[i]+=num;
|
||||||
|
if(log!==false){
|
||||||
|
var str=false;
|
||||||
|
var info=get.info(i);
|
||||||
|
if(info&&info.intro&&(info.intro.name||info.intro.name2)) str=info.intro.name2||info.intro.name;
|
||||||
|
else str=lib.translate[i];
|
||||||
|
if(str) game.log(this,'获得了',get.cnNumber(num),'个','#g【'+str+'】');
|
||||||
|
}
|
||||||
|
this.syncStorage(i);
|
||||||
|
this.updateMark(i);
|
||||||
|
},
|
||||||
|
countMark:function(i){
|
||||||
|
if(this.storage[i]==undefined) return 0;
|
||||||
|
if(typeof this.storage[i]=='number') return this.storage[i];
|
||||||
|
if(Array.isArray(this.storage[i])) return this.storage[i].length;
|
||||||
|
return 0;
|
||||||
|
},
|
||||||
|
hasMark:function(i){
|
||||||
|
return this.countMark(i)>0;
|
||||||
|
},
|
||||||
updateMark:function(i,storage){
|
updateMark:function(i,storage){
|
||||||
if(!this.marks[i]){
|
if(!this.marks[i]){
|
||||||
if(lib.skill[i]&&lib.skill[i].intro&&(this.storage[i]||lib.skill[i].intro.markcount)){
|
if(lib.skill[i]&&lib.skill[i].intro&&(this.storage[i]||lib.skill[i].intro.markcount)){
|
||||||
|
@ -26047,7 +26097,7 @@
|
||||||
else if(typeof arguments[i]=='function'){
|
else if(typeof arguments[i]=='function'){
|
||||||
onerror=arguments[i]
|
onerror=arguments[i]
|
||||||
}
|
}
|
||||||
if(_status.video) break;
|
if(_status.video&&arguments[1]!='video') break;
|
||||||
}
|
}
|
||||||
if(_status.skillaudio.contains(str)) return;
|
if(_status.skillaudio.contains(str)) return;
|
||||||
_status.skillaudio.add(str);
|
_status.skillaudio.add(str);
|
||||||
|
@ -26704,6 +26754,23 @@
|
||||||
game.loop();
|
game.loop();
|
||||||
},
|
},
|
||||||
videoContent:{
|
videoContent:{
|
||||||
|
jiuNode:function(player,bool){
|
||||||
|
//Powered by 升麻
|
||||||
|
if(bool){
|
||||||
|
if(!player.node.jiu&&lib.config.jiu_effect){
|
||||||
|
player.node.jiu=ui.create.div('.playerjiu',player.node.avatar);
|
||||||
|
player.node.jiu2=ui.create.div('.playerjiu',player.node.avatar2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
if(player.node.jiu){
|
||||||
|
player.node.jiu.delete();
|
||||||
|
player.node.jiu2.delete();
|
||||||
|
delete player.node.jiu;
|
||||||
|
delete player.node.jiu2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
init:function(players){
|
init:function(players){
|
||||||
if(game.chess) return;
|
if(game.chess) return;
|
||||||
if(lib.config.mode=='versus'){
|
if(lib.config.mode=='versus'){
|
||||||
|
|
|
@ -1,40 +1,41 @@
|
||||||
window.noname_update={
|
window.noname_update={
|
||||||
version:'1.9.97.2.1',
|
version:'1.9.97.3',
|
||||||
update:'1.9.97.2',
|
update:'1.9.97.2.1',
|
||||||
changeLog:[
|
changeLog:[
|
||||||
|
'花鬘解禁',
|
||||||
'BUG修复',
|
'BUG修复',
|
||||||
],
|
],
|
||||||
files:[
|
files:[
|
||||||
//'card/extra.js',
|
'card/extra.js',
|
||||||
//'card/huanlekapai.js',
|
//'card/huanlekapai.js',
|
||||||
'card/sp.js',
|
//'card/sp.js',
|
||||||
//'card/standard.js',
|
//'card/standard.js',
|
||||||
//'card/swd.js',
|
//'card/swd.js',
|
||||||
'card/guozhan.js',
|
//'card/guozhan.js',
|
||||||
//'card/gwent.js',
|
//'card/gwent.js',
|
||||||
'character/diy.js',
|
//'character/diy.js',
|
||||||
'character/extra.js',
|
'character/extra.js',
|
||||||
//'character/hearth.js',
|
//'character/hearth.js',
|
||||||
//'character/gujian.js',
|
//'character/gujian.js',
|
||||||
//'character/gwent.js',
|
//'character/gwent.js',
|
||||||
//'character/mobile.js',
|
'character/mobile.js',
|
||||||
//'character/mtg.js',
|
//'character/mtg.js',
|
||||||
'character/old.js',
|
//'character/old.js',
|
||||||
'character/refresh.js',
|
'character/refresh.js',
|
||||||
'character/shenhua.js',
|
'character/shenhua.js',
|
||||||
'character/sp.js',
|
'character/sp.js',
|
||||||
//'character/tw.js',
|
//'character/tw.js',
|
||||||
'character/standard.js',
|
//'character/standard.js',
|
||||||
//'character/swd.js',
|
//'character/swd.js',
|
||||||
//'character/xianjian.js',
|
//'character/xianjian.js',
|
||||||
'character/xinghuoliaoyuan.js',
|
'character/xinghuoliaoyuan.js',
|
||||||
'character/yijiang.js',
|
'character/yijiang.js',
|
||||||
//'character/yxs.js',
|
'character/yxs.js',
|
||||||
//'extension/boss/extension.js',
|
//'extension/boss/extension.js',
|
||||||
//'layout/default/layout.css',
|
//'layout/default/layout.css',
|
||||||
//'mode/identity.js',
|
//'mode/identity.js',
|
||||||
//'mode/doudizhu.js',
|
//'mode/doudizhu.js',
|
||||||
'mode/guozhan.js',
|
//'mode/guozhan.js',
|
||||||
//'mode/single.js',
|
//'mode/single.js',
|
||||||
//'mode/stone.js',
|
//'mode/stone.js',
|
||||||
'mode/brawl.js',
|
'mode/brawl.js',
|
||||||
|
@ -43,8 +44,8 @@ window.noname_update={
|
||||||
'game/game.js',
|
'game/game.js',
|
||||||
//'game/NoSleep.js',
|
//'game/NoSleep.js',
|
||||||
//'game/config.js',
|
//'game/config.js',
|
||||||
'game/package.js',
|
//'game/package.js',
|
||||||
'game/asset.js',
|
//'game/asset.js',
|
||||||
//'game/source.js',
|
//'game/source.js',
|
||||||
]
|
]
|
||||||
};
|
};
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 76 KiB |
|
@ -611,12 +611,12 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
||||||
player.changeLingli(-1);
|
player.changeLingli(-1);
|
||||||
player.draw();
|
player.draw();
|
||||||
},
|
},
|
||||||
},
|
ai:{
|
||||||
ai:{
|
order:10,
|
||||||
order:10,
|
result:{
|
||||||
result:{
|
player:function(player){
|
||||||
player:function(player){
|
return (player.storage._lingli-2*(3-player.skillH.length))>0?1:0;
|
||||||
return (player.storage._lingli-2*(3-player.skillH.length))>0?1:0;
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -720,7 +720,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
||||||
trigger._lastDead.uninit();
|
trigger._lastDead.uninit();
|
||||||
trigger._lastDead.init(['hhzz_shiona','hhzz_kanade','hhzz_takaramono1','hhzz_takaramono2'].randomGet());
|
trigger._lastDead.init(['hhzz_shiona','hhzz_kanade','hhzz_takaramono1','hhzz_takaramono2'].randomGet());
|
||||||
trigger._lastDead.skillH=lib.character[trigger._lastDead.name][3].slice(0);
|
trigger._lastDead.skillH=lib.character[trigger._lastDead.name][3].slice(0);
|
||||||
trigger._lastDead.addSkill('hhzz_nocard');
|
trigger._lastDead.addSkill('hhzz_noCard');
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue