v1.9.92.4.1(Part 4)

This commit is contained in:
Spmario233 2019-09-15 22:45:05 +08:00 committed by GitHub
parent e2738c2b57
commit 3b0a976900
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 289 additions and 170 deletions

View File

@ -46,7 +46,23 @@ game.import('character',function(lib,game,ui,get,ai,_status){
source.storage.new_wuhun_mark+=trigger.num;
source.markSkill('new_wuhun_mark');
},
contentx:function (){
subSkill:{
die:{
audio:"wuhun2",
skillAnimation:true,
animationColor:'soil',
trigger:{
player:"die",
},
forced:true,
forceDie:true,
popup:false,
filter:function (event,player){
return game.hasPlayer(function(current){
return current!=player&&current.storage.new_wuhun_mark!=undefined;
});
},
content:function (){
"step 0"
var num=0;
for(var i=0;i<game.players.length;i++){
@ -78,27 +94,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
lib.element.player.die.apply(target,[]);
}
},
subSkill:{
die:{
audio:"wuhun2",
skillAnimation:true,
trigger:{
player:"dieBegin",
},
forced:true,
popup:false,
filter:function (event,player){
return game.hasPlayer(function(current){
return current!=player&&current.storage.new_wuhun_mark!=undefined;
});
},
content:function (){
"step 0"
var next=game.createEvent('new_wuhun',null,trigger.parent);
next.forceDie=true;
next.player=player;
next.setContent(lib.skill.new_wuhun.contentx);
},
sub:true,
},
mark:{
@ -619,6 +614,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
sbaiyin:{
skillAnimation:'epic',
animationColor:'thunder',
trigger:{player:'phaseBegin'},
forced:true,
unique:true,
@ -1361,7 +1357,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
unique:true,
enable:'phaseUse',
audio:3,
animationColor:'fire',
animationColor:'metal',
skillAnimation:'legend',
filterTarget:function(card,player,target){
var length=ui.selected.cards.length;
@ -2108,6 +2104,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
unique:true,
mark:true,
skillAnimation:true,
animationColor:'metal',
enable:'phaseUse',
filter:function (event,player){
return !player.storage.nzry_dinghuo&&player.storage.nzry_junlve>0;

View File

@ -346,6 +346,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
audio:"xinfu_fangtong",
forced:true,
skillAnimation:true,
animationColor:'metal',
filter:function (event,player){
return (player.storage.old_jijun&&player.storage.old_jijun.length>35);
},

View File

@ -875,7 +875,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
"new_qingjian":{
audio:"qingjian",
unique:true,
//unique:true,
trigger:{
player:"gainAfter",
},
@ -1043,111 +1043,196 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return true;
},
content:function(){
'step 0'
event.num=game.countPlayer()<4?3:5;
event.cards=get.cards(event.num);
event.chosen=[];
event.num1=0;
event.num2=0;
event.bottom=-1;
'step 1'
var js=player.getCards('j');
var pos;
var choice=-1;
var getval=function(card,pos){
if(js[pos]){
return (get.judge(js[pos]))(card);
}
else if(event.triggername=='phaseEnd'&&get.attitude(player,player.getNext())<=0){
return 11.5-get.value(card,player);
}
else{
return get.value(card,player);
}
};
event.discard=false;
var minval=6;
for(pos=0;pos<event.cards.length;pos++){
var max=getval(event.cards[pos],pos);
for(var j=pos+1;j<event.cards.length;j++){
var current=getval(event.cards[j],pos);
if(current>max){
choice=j;
max=current;
}
}
if(event.bottom<0){
if(!js[pos]){
if(max<minval){
event.bottom=pos;
"step 0"
if(player.isUnderControl()){
game.modeSwapPlayer(player);
}
var num=game.countPlayer()<4?3:5;
var cards=get.cards(num);
event.cards=cards;
var switchToAuto=function(){
_status.imchoosing=false;
if(event.dialog) event.dialog.close();
if(event.control) event.control.close();
var top=[];
var judges=player.node.judges.childNodes;
var stopped=false;
if(!player.hasWuxie()){
for(var i=0;i<judges.length;i++){
var judge=get.judge(judges[i]);
cards.sort(function(a,b){
return judge(b)-judge(a);
});
if(judge(cards[0])<0){
stopped=true;break;
}
else{
top.unshift(cards.shift());
}
}
else if(max<0){
event.bottom=pos;
}
var bottom;
if(!stopped){
cards.sort(function(a,b){
return get.value(b,player)-get.value(a,player);
});
while(cards.length){
if(get.value(cards[0],player)<=5) break;
top.unshift(cards.shift());
}
}
if(event.bottom>=0&&event.bottom<=pos){
choice=pos;
event.discard=true;break;
bottom=cards;
for(var i=0;i<top.length;i++){
ui.cardPile.insertBefore(top[i],ui.cardPile.firstChild);
}
if(choice!=-1){
break;
for(i=0;i<bottom.length;i++){
ui.cardPile.appendChild(bottom[i]);
}
if(event.triggername=='phaseBegin'&&top.length==0){
player.addTempSkill('reguanxing_on');
}
player.popup(get.cnNumber(top.length)+'上'+get.cnNumber(bottom.length)+'下');
game.log(player,'将'+get.cnNumber(top.length)+'张牌置于牌堆顶');
game.delay(2);
};
var chooseButton=function(online,player,cards){
var event=_status.event;
player=player||event.player;
cards=cards||event.cards;
event.top=[];
event.bottom=[];
event.status=true;
event.dialog=ui.create.dialog('按顺序选择置于牌堆顶的牌(先选择的在上)',cards);
for(var i=0;i<event.dialog.buttons.length;i++){
event.dialog.buttons[i].classList.add('pointerdiv');
}
event.switchToAuto=function(){
event._result='ai';
event.dialog.close();
event.control.close();
_status.imchoosing=false;
},
event.control=ui.create.control('ok','pileTop','pileBottom',function(link){
var event=_status.event;
if(link=='ok'){
if(online){
event._result={
top:[],
bottom:[]
}
for(var i=0;i<event.top.length;i++){
event._result.top.push(event.top[i].link);
}
for(var i=0;i<event.bottom.length;i++){
event._result.bottom.push(event.bottom[i].link);
}
}
else{
var i;
for(i=0;i<event.top.length;i++){
ui.cardPile.insertBefore(event.top[i].link,ui.cardPile.firstChild);
}
for(i=0;i<event.bottom.length;i++){
ui.cardPile.appendChild(event.bottom[i].link);
}
for(i=0;i<event.dialog.buttons.length;i++){
if(event.dialog.buttons[i].classList.contains('glow')==false&&
event.dialog.buttons[i].classList.contains('target')==false)
ui.cardPile.appendChild(event.dialog.buttons[i].link);
}
if(event.triggername=='phaseBegin'&&event.top.length==0){
player.addTempSkill('reguanxing_on');
}
player.popup(get.cnNumber(event.top.length)+'上'+get.cnNumber(event.cards.length-event.top.length)+'下');
game.log(player,'将'+get.cnNumber(event.top.length)+'张牌置于牌堆顶');
}
event.dialog.close();
event.control.close();
game.resume();
_status.imchoosing=false;
}
else if(link=='pileTop'){
event.status=true;
event.dialog.content.childNodes[0].innerHTML='按顺序选择置于牌堆顶的牌';
}
else{
event.status=false;
event.dialog.content.childNodes[0].innerHTML='按顺序选择置于牌堆底的牌';
}
})
for(var i=0;i<event.dialog.buttons.length;i++){
event.dialog.buttons[i].classList.add('selectable');
}
event.custom.replace.button=function(link){
var event=_status.event;
if(link.classList.contains('target')){
link.classList.remove('target');
event.top.remove(link);
}
else if(link.classList.contains('glow')){
link.classList.remove('glow');
event.bottom.remove(link);
}
else if(event.status){
link.classList.add('target');
event.top.unshift(link);
}
else{
link.classList.add('glow');
event.bottom.push(link);
}
}
event.custom.replace.window=function(){
for(var i=0;i<_status.event.dialog.buttons.length;i++){
_status.event.dialog.buttons[i].classList.remove('target');
_status.event.dialog.buttons[i].classList.remove('glow');
_status.event.top.length=0;
_status.event.bottom.length=0;
}
}
game.pause();
game.countChoose();
};
event.switchToAuto=switchToAuto;
if(event.isMine()){
chooseButton();
event.finish();
}
player.chooseCardButton('观星:选择要移动的牌',event.cards).set('filterButton',function(button){
return !_status.event.chosen.contains(button.link);
}).set('chosen',event.chosen).set('ai',function(button){
return button.link==_status.event.choice?1:0;
}).set('choice',event.cards[choice]);
event.pos=pos;
'step 2'
if(result.bool){
var card=result.links[0];
var index=event.cards.indexOf(card);
event.card=card;
event.chosen.push(card);
event.cards.remove(event.card);
var controlai=event.pos||0;
if(event.discard){
controlai=event.cards.length+1;
}
var buttons=event.cards.slice(0);
player.chooseControl(function(){
return _status.event.controlai;
}).set('controlai',controlai).set('sortcard',buttons).set('tosort',card);
else if(event.isOnline()){
event.player.send(chooseButton,true,event.player,event.cards);
event.player.wait();
game.pause();
}
else{
event.goto(4);
event.switchToAuto();
event.finish();
}
'step 3'
if(typeof result.index=='number'){
if(result.index>event.cards.length){
ui.cardPile.appendChild(event.card);
event.num2++;
}
else{
event.cards.splice(result.index,0,event.card);
}
event.num--;
if(event.num>0){
event.goto(1);
}
"step 1"
if(event.result=='ai'||!event.result){
event.switchToAuto();
}
'step 4'
while(event.cards.length){
ui.cardPile.insertBefore(event.cards.pop(),ui.cardPile.firstChild);
event.num1++;
}
var js=player.getCards('j');
if(js.length==1){
if((get.judge(js[0]))(ui.cardPile.firstChild)<0){
player.addTempSkill('guanxing_fail');
else{
var top=event.result.top||[];
var bottom=event.result.bottom||[];
for(var i=0;i<top.length;i++){
ui.cardPile.insertBefore(top[i],ui.cardPile.firstChild);
}
}
player.popup(get.cnNumber(event.num1)+'上'+get.cnNumber(event.num2)+'下');
game.log(player,'将','#y'+get.cnNumber(event.num1)+'张牌','置于牌堆顶,','#y'+get.cnNumber(event.num2)+'张牌','置于牌堆底');
if(event.triggername=='phaseBegin'&&event.num1==0){
player.addTempSkill('reguanxing_on');
for(i=0;i<bottom.length;i++){
ui.cardPile.appendChild(bottom[i]);
}
for(i=0;i<event.cards.length;i++){
if(!top.contains(event.cards[i])&&!bottom.contains(event.cards[i])){
ui.cardPile.appendChild(event.cards[i]);
}
}
if(event.triggername=='phaseBegin'&&top.length==0){
player.addTempSkill('reguanxing_on');
}
player.popup(get.cnNumber(top.length)+'上'+get.cnNumber(event.cards.length-top.length)+'下');
game.log(player,'将'+get.cnNumber(top.length)+'张牌置于牌堆顶');
game.updateRoundNumber();
game.delay(2);
}
},
subSkill:{
@ -1901,6 +1986,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
qinxue:{
skillAnimation:true,
animationColor:'wood',
audio:2,
unique:true,
juexingji:true,
@ -2155,6 +2241,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
unique:true,
mark:true,
skillAnimation:true,
animationColor:'soil',
limited:true,
trigger:{player:'phaseBegin'},
init:function(player){
@ -2717,6 +2804,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
qianxin:{
skillAnimation:true,
animationColor:'orange',
audio:2,
unique:true,
juexingji:true,
@ -2825,6 +2913,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
fenwei:{
skillAnimation:true,
animationColor:'wood',
audio:2,
audioname:['heqi'],
unique:true,

View File

@ -177,6 +177,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
"drlt_hongju":{
skillAnimation:true,
animationColor:'thunder',
audio:2,
trigger:{
player:'phaseBegin',
@ -535,6 +536,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
"drlt_poshi":{
audio:2,
skillAnimation:true,
animationColor:'wood',
trigger:{
player:'phaseBegin',
},
@ -673,6 +675,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
enable:'phaseUse',
mark:true,
skillAnimation:true,
animationColor:'gray',
limited:true,
init:function(player){
player.storage.drlt_xiongluan=false;
@ -2238,7 +2241,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
lianhuan4:{
mod:{
selectTarget:function(card,player,range){
if(card.name=='tiesuo'&&player.hasSkill('xinlianhuan')&&range[1]<3) range[1]=3;
if(card.name=='tiesuo'&&player.hasSkill('xinlianhuan')&&range[1]<3&&range[1]!=-1) range[1]=3;
},
},
},
@ -2355,8 +2358,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
intro:{
content:'limited'
},
skillAnimation:'legend',
animationColor:'metal',
skillAnimation:true,
animationColor:'orange',
content:function(){
'step 0'
var shas=player.getCards('h','sha');
@ -2448,7 +2451,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
'step 0'
event.num=trigger.num;
'step 1'
player.chooseDrawRecover(get.prompt('xinkuanggu'),'摸一张牌或回复1点体力').set('logSkill','xinkuanggu');
player.chooseDrawRecover(get.prompt('xinkuanggu')).set('logSkill','xinkuanggu').set('prompt2','摸一张牌或回复1点体力');
'step 2'
if(result.control!='cancel2'){
event.num--;
@ -2527,6 +2530,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
zhiji:{
skillAnimation:true,
animationColor:'fire',
audio:2,
unique:true,
juexingji:true,
@ -2654,6 +2658,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
ruoyu:{
skillAnimation:true,
animationColor:'fire',
audio:2,
unique:true,
juexingji:true,
@ -2944,6 +2949,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
zaoxian:{
skillAnimation:true,
animationColor:'thunder',
audio:2,
unique:true,
juexingji:true,
@ -3029,6 +3035,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
hunzi:{
skillAnimation:true,
animationColor:'wood',
audio:2,
juexingji:true,
derivation:['reyingzi','gzyinghun'],
@ -3332,8 +3339,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
duanchang:{
audio:4,
forbid:['boss'],
trigger:{player:'dieBegin'},
trigger:{player:'die'},
forced:true,
forceDie:true,
filter:function(event){
return event.source&&event.source.isIn();
},
@ -4770,7 +4778,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
skillAnimation:true,
animationStr:'涅盘',
limited:true,
animationColor:'fire',
animationColor:'orange',
init:function(player){
player.storage.oldniepan=false;
},

View File

@ -750,17 +750,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
yechou:{
audio:2,
trigger:{
player:"dieBegin",
player:"die",
},
direct:true,
forceDie:true,
skillAnimation:true,
animationColor:'wood',
content:function (){
var next=game.createEvent('yechou',null,trigger.parent);
next.forceDie=true;
next.player=player;
next.setContent(lib.skill.yechou.contentx);
},
contentx:function (){
"step 0"
player.chooseTarget(get.prompt2('yechou'),function(card,player,target){
return player!=target&&target.maxHp-target.hp>1
@ -1582,7 +1578,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
},
skillAnimation:'epic',
animationColor:'water',
animationColor:'gray',
ai:{
order:0.1,
result:{
@ -2266,7 +2262,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
trigger:{player:'phaseBegin'},
forced:true,
skillAnimation:true,
animationColor:'epic',
animationColor:'thunder',
filter:function(event,player){
return player.hasSkill('guju')&&player.storage.guju>=7;
},
@ -3231,6 +3227,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
trigger:{player:'mouchengAwaken'},
forced:true,
skillAnimation:true,
animationColor:'gray',
content:function(){
player.awakenSkill('moucheng');
player.removeSkill('wylianji');
@ -4556,6 +4553,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
unique:true,
limited:true,
skillAnimation:true,
animationColor:'orange',
forceunique:true,
filter:function(event,player){
return player.storage.fanghun2>0;
@ -4721,6 +4719,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return player.storage.yjixi>=3;
},
skillAnimation:true,
animationColor:'gray',
unique:true,
juexingji:true,
content:function(){
@ -5135,6 +5134,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
shichou:{
audio:1,
skillAnimation:true,
animationColor:'orange',
unique:true,
limited:true,
enable:'phaseUse',
@ -7813,6 +7813,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
danji:{
skillAnimation:true,
animationColor:'water',
trigger:{player:'phaseBegin'},
forced:true,
unique:true,
@ -8079,6 +8080,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
content:'limited'
},
skillAnimation:'epic',
animationColor:'fire',
unique:true,
limited:true,
audio:2,
mark:true,
filter:function(event,player){
@ -8919,6 +8923,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
fengliang:{
skillAnimation:true,
animationColor:'thunder',
unique:true,
juexingji:true,
audio:2,
@ -9178,6 +9183,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
zuixiang:{
skillAnimation:true,
animationColor:'gray',
audio:true,
unique:true,
mark:true,
@ -10288,6 +10294,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
cunsi:{
skillAnimation:true,
animationColor:'orange',
audio:2,
unique:true,
enable:'phaseUse',
@ -10649,6 +10656,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
xiongyi:{
skillAnimation:true,
animationColor:'gray',
unique:true,
enable:'phaseUse',
audio:2,
@ -10795,9 +10803,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
wuji:{
skillAnimation:true,
animationColor:'orange',
audio:2,
trigger:{player:'phaseEnd'},
forced:true,
unique:true,
juexingji:true,
filter:function(event,player){
return player.getStat('damage')>=3&&!player.storage.wuji;
},
@ -11834,6 +11845,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
juyi:{
skillAnimation:true,
animationColor:'thunder',
audio:true,
derivation:['benghuai','weizhong'],
trigger:{player:'phaseBegin'},
@ -11938,6 +11950,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
suiren:{
trigger:{player:'phaseBegin'},
skillAnimation:true,
animationColor:'gray',
filter:function(event,player){
return !player.storage.suiren;
},

View File

@ -1017,7 +1017,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
on:{}
}
},
guanxing:{
guanxing_oldnew:{
audio:2,
audioname:['jiangwei'],
trigger:{player:'phaseBegin'},
@ -1109,7 +1109,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
},
guanxing_fail:{},
guanxing_old:{
guanxing:{
audio:2,
audioname:['jiangwei'],
trigger:{player:'phaseBegin'},

View File

@ -180,6 +180,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
"xinfu_tunjun":{
skillAnimation:true,
animationColor:'metal',
limited:true,
unique:true,
enable:"phaseUse",
@ -1774,6 +1775,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
enable:"phaseUse",
audio:3,
skillAnimation:true,
animationColor:'gray',
prompt:"限定技出牌阶段你可以对一至三名角色造成至多共3点火焰伤害你可以任意分配每名目标角色受到的伤害点数若你将对一名角色分配2点或更多的火焰伤害你须先弃置四张不同花色的手牌再失去3点体力。",
filter:function (event,player){
return player.hasSkill('smh_lianhuan');
@ -2022,6 +2024,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
direct:true,
skillAnimation:true,
animationColor:'fire',
content:function (){
"step 0"
trigger.source.chooseBool('【许身】:是否将自己的一张武将牌替换为“关索”?').set('ai',function(){
@ -2542,6 +2545,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
player.storage.xinfu_songsang=false;
},
skillAnimation:true,
animationColor:'wood',
audio:2,
derivation:"xinfu_zhanji",
trigger:{
@ -2753,6 +2757,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return player.storage.xinfu_qiai==false;
},
skillAnimation:true,
animationColor:'gray',
trigger:{
player:"dying",
},
@ -2805,6 +2810,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return player.storage.xinfu_denglou==false;
},
skillAnimation:true,
animationColor:'gray',
marktext:"登",
mark:true,
intro:{
@ -3066,6 +3072,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return player.countCards('he')&&player.storage.xinfu_jijun.length;
},
direct:true,
skillAnimation:true,
animationColor:'metal',
content:function (){
'step 0'
var info=['是否发动【方统】?'];
@ -3253,6 +3261,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return player.countCards('e')>0;
},
skillAnimation:true,
animationColor:'thunder',
position:"e",
filterCard:true,
selectCard:[1,Infinity],
@ -4829,6 +4838,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
delay:1.2,
skillAnimation:true,
animationColor:'orange',
filter:function (event,player){
if(player.storage.xinfu_longyuan) return false;
return player.storage.yizan_use>2;

View File

@ -264,47 +264,42 @@ game.import('character',function(lib,game,ui,get,ai,_status){
"new_juexiang":{
audio:"qingxian_jilie",
trigger:{
player:"dieBegin",
player:"die",
},
forced:true,
popup:false,
forceDie:true,
skillAnimation:true,
animationColor:'water',
derivation:["new_canyun"],
content:function (){
"step 0"
if(trigger.source){
trigger.source.discard(trigger.source.getCards('e'));
trigger.source.loseHp();
}
"step 1"
player.chooseTarget('【绝响】:是否令一名其他角色获得技能〖残韵〗?',function(card,player,target){
return target!=player;
}).set('ai',function(target){
var att=get.attitude(_status.event.player,target);
if(target.countCards('ej',{suit:'club'})) att=att*2;
return 10+att;
});
"step 1"
var next=game.createEvent('new_juexiang',null,trigger.parent);
next.player=trigger.source;
next.playerx=player;
if(result.bool) next.target=result.targets[0];
next.setContent(lib.skill.new_juexiang.contentx);
},
contentx:function (){
"step 0"
if(player||target)event.playerx.logSkill('new_juexiang');
if(player){
player.discard(player.getCards('e'));
player.loseHp();
}
if(target){
event.playerx.line(target,'thunder');
target.addSkill('new_canyun');
target.discardPlayerCard('是否弃置自己区域内的一张梅花牌,获得技能〖绝响〗?',target,'hej').set('ai',function(card){
}).set('forceDie',true);
"step 2"
if(result.bool){
var target=result.targets[0];
event.target=target;
player.line(target,'thunder');
target.addSkill('new_canyun');
target.discardPlayerCard('是否弃置自己区域内的一张梅花牌,获得技能〖绝响〗?',target,'hej').set('ai',function(card){
if(get.position(card)=='j') return 100+get.value(card);
return 100-get.value(card);
}).set('visible',true).set('filterButton',function(card){
return get.suit(card.link)=='club';
});
}
else event.finish()
"step 1"
else event.finish();
"step 3"
if(result.bool) target.addSkill('new_juexiang');
},
},
@ -1120,15 +1115,16 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
juexiang:{
audio:2,
trigger:{player:'dieBegin'},
trigger:{player:'die'},
direct:true,
forceDie:true,
skillAnimation:true,
animationColor:'thunder',
content:function(){
'step 0'
player.chooseTarget(get.prompt2('juexiang'),function(card,player,target){
return target!=player;
}).set('ai',function(target){
}).set('forceDie',true).set('ai',function(target){
return get.attitude(_status.event.player,target)/Math.sqrt(target.hp+1);
});
'step 1'
@ -1681,6 +1677,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
logTarget:'player',
skillAnimation:true,
animationColor:'wood',
content:function(){
'step 0'
var list=[];
@ -3453,7 +3450,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
xinfencheng:{
skillAnimation:'epic',
animationColor:'fire',
animationColor:'gray',
audio:2,
enable:'phaseUse',
filter:function(event,player){
@ -5637,6 +5634,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
taoxi4:{},
xingshuai:{
skillAnimation:true,
animationColor:'thunder',
audio:2,
trigger:{player:'dying'},
priority:6,
@ -6101,7 +6099,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
fuhun3:{},
fencheng:{
skillAnimation:'epic',
animationColor:'fire',
animationColor:'gray',
audio:2,
enable:'phaseUse',
filter:function(event,player){
@ -6269,6 +6267,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
jiefan:{
skillAnimation:true,
animationColor:'wood',
audio:2,
unique:true,
limited:true,
@ -6338,6 +6337,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
fuli:{
skillAnimation:true,
animationColor:'soil',
audio:2,
unique:true,
limited:true,
@ -7011,6 +7011,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
zili:{
skillAnimation:true,
animationColor:'thunder',
audio:3,
unique:true,
juexingji:true,
@ -7074,6 +7075,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
xianzhou:{
skillAnimation:true,
animationColor:'gray',
audio:2,
unique:true,
limited:true,
@ -7376,17 +7378,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
zhuiyi:{
audio:2,
trigger:{player:'dieBegin'},
trigger:{player:'die'},
direct:true,
skillAnimation:true,
animationColor:'wood',
forceDie:true,
content:function(){
var next=game.createEvent('zhuiyi',null,trigger.parent);
next.forceDie=true;
next.player=player;
if(trigger.source) next.source=trigger.source;
next.setContent(lib.skill.zhuiyi.contentx);
},
contentx:function(){
"step 0"
player.chooseTarget(get.prompt2('zhuiyi'),function(card,player,target){
return player!=target&&_status.event.source!=target;
@ -8656,11 +8653,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
huilei:{
audio:2,
trigger:{player:'dieBegin'},
trigger:{player:'die'},
forced:true,
forceDie:true,
filter:function(event){
return event.source!=undefined;
},
logTarget:'source',
skillAnimation:true,
animationColor:'thunder',
content:function(){
trigger.source.discard(trigger.source.getCards('he'));
},