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