调整神华佗结算为官方结算
This commit is contained in:
parent
1a5cc0c3ba
commit
45f180696e
|
@ -111,27 +111,42 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
['',[lib.skill.wuling.wuqinxi,(item,type,position,noclick,node)=>{
|
||||
node=ui.create.buttonPresets.vcard(item,type,position,noclick);
|
||||
node._customintro=[
|
||||
node=>{
|
||||
return `五禽戏:${node.link[2]}`;
|
||||
},
|
||||
node=>{
|
||||
return lib.skill.wuling.wuqinxiMap[lib.skill.wuling.wuqinxi.indexOf(node.link[2])].slice(2);
|
||||
}
|
||||
node=>`五禽戏:${node.link[2]}`,
|
||||
node=>lib.skill.wuling.wuqinxiMap[lib.skill.wuling.wuqinxi.indexOf(node.link[2])].slice(2)
|
||||
];
|
||||
return node;
|
||||
}]]
|
||||
]);
|
||||
next.set('processAI',()=>{
|
||||
const event=get.event().getParent(),player=event.player,target=event.target;
|
||||
let first;
|
||||
if(get.recoverEffect(target,player,player)>0) first=['鹿','熊'].randomGet();
|
||||
else first='熊';
|
||||
return [[first].concat(lib.skill.wuling.wuqinxi.slice().remove(first).randomSort()).map(i=>['','',i])];
|
||||
const spirits=[];
|
||||
let nextPlayer=player;
|
||||
do{
|
||||
nextPlayer=nextPlayer.getNext();
|
||||
if(get.attitude(player,nextPlayer)<0){
|
||||
spirits.add('熊');
|
||||
break;
|
||||
}
|
||||
}
|
||||
while(nextPlayer!=target);
|
||||
if(!spirits.length) spirits.add('猿');
|
||||
if(get.recoverEffect(target,player,player)>0||target.hasCard(card=>{
|
||||
return get.effect(target,{
|
||||
name:card.viewAs||card.name,
|
||||
cards:[card],
|
||||
},target,target)<-1;
|
||||
},'j')) spirits.add('鹿');
|
||||
const others=lib.skill.wuling.wuqinxi.slice().removeArray(spirits);
|
||||
do{
|
||||
others.randomSort();
|
||||
}
|
||||
while(others.length>1&&others[0]=='鹿');
|
||||
return [spirits.concat(others).map(i=>['','',i])];
|
||||
})
|
||||
'step 1'
|
||||
var sortedWuqinxi=result.moved[0].map(i=>i[2]);
|
||||
game.log(target,'习得的五禽戏顺序为','#g'+sortedWuqinxi.join('、'));
|
||||
sortedWuqinxi.unshift(sortedWuqinxi.pop());
|
||||
sortedWuqinxi.unshift(sortedWuqinxi[0]);
|
||||
target.storage.wuling_wuqinxi=sortedWuqinxi;
|
||||
lib.skill.wuling.updateMark(target);
|
||||
},
|
||||
|
@ -147,8 +162,16 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
var wuqinxi=player.storage.wuling_wuqinxi;
|
||||
if(!wuqinxi) return;
|
||||
var prevMark=wuqinxi.shift();
|
||||
wuqinxi.push(prevMark);
|
||||
// wuqinxi.push(prevMark);
|
||||
var curMark=wuqinxi[0];
|
||||
if(!curMark){
|
||||
for(var skill in player.additionalSkills){
|
||||
if(!skill.startsWith('wuling_')) continue;
|
||||
player.removeAdditionalSkill(skill);
|
||||
}
|
||||
game.log(player,'完成了五禽戏的操练');
|
||||
return;
|
||||
}
|
||||
game.log(player,'获得了','#g【'+curMark+'】','标记');
|
||||
player.markSkill('wuling_wuqinxi');
|
||||
game.broadcastAll(function(player,curMark){
|
||||
|
@ -178,8 +201,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
dialog.addText(str,false);
|
||||
const str2='<div class="text center">“五禽戏”顺序:<br>'+storage.join(' ')+'</div>';
|
||||
dialog.addText(str2);
|
||||
const str3=`<div class="text" style="font-size:10px; ">[下一效果] ${wuqinxiMap.find(str=>storage[1]==str[0])}<br></div>`;
|
||||
dialog.add(str3);
|
||||
if(storage.length>1){
|
||||
const str3=`<div class="text" style="font-size:10px; ">[下一效果] ${wuqinxiMap.find(str=>storage[1]==str[0])}<br></div>`;
|
||||
dialog.add(str3);
|
||||
}
|
||||
},
|
||||
},
|
||||
mod:{
|
||||
|
@ -209,6 +234,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
},
|
||||
forced:true,
|
||||
onremove:true,
|
||||
content:function(){
|
||||
'step 0'
|
||||
var wuqinxi=player.storage.wuling_wuqinxi[0];
|
||||
|
@ -259,8 +285,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
ai:{
|
||||
effect:{
|
||||
target:function(card,player,target){
|
||||
var wuqinxi=target.storage.wuling_wuqinxi&&target.storage.wuling_wuqinxi[0];
|
||||
if(!wuqinxi||wuqinxi!='熊') return;
|
||||
const wuqinxi=target.storage.wuling_wuqinxi;
|
||||
if(!wuqinxi||!wuqinxi.length) return;
|
||||
const curWuqinxi=wuqinxi[0];
|
||||
const nextWuqinxi=wuqinxi[1];
|
||||
if(nextWuqinxi=='鹿'&&get.type(card)=='delay') return 'zerotarget';
|
||||
if(curWuqinxi!='熊') return;
|
||||
if(player.hasSkillTag('jueqing',false,target)) return;
|
||||
var num=get.tag(card,'damage');
|
||||
if(num){
|
||||
|
@ -7845,7 +7875,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
shen_huatuo:'神华佗',
|
||||
shen_huatuo_prefix:'神',
|
||||
wuling:'五灵',
|
||||
wuling_info:'①出牌阶段限一次。你可以选择一名没有“五禽戏”的角色,按照你选择的顺序向其传授“五禽戏”,且其获得你选择的第一种“五禽戏”的效果,并在其每个准备阶段切换为下一种。②当你死亡时,你令场上的角色失去你传授的“五禽戏”。',
|
||||
wuling_info:'①出牌阶段限一次。你可以选择一名没有“五禽戏”的角色,按照你选择的顺序向其传授“五禽戏”,且其获得如下效果:其获得你选择的第一种“五禽戏”的效果,并在其每个准备阶段移除当前“五禽戏”的效果并切换为下一种。②当你死亡时,你令场上的角色失去你传授的“五禽戏”。',
|
||||
wuling_wuqinxi:'五禽戏',
|
||||
wuling_wuqinxi_info:'<br><li>“五禽戏”分为“虎、鹿、熊、猿、鹤”五个不同的效果:'+
|
||||
'<br><li>虎:当你使用指定唯一目标的牌对目标角色造成伤害时,此伤害+1。'+
|
||||
|
|
|
@ -395,7 +395,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
button.classList.remove('selected');
|
||||
const counterNode=button.querySelector('.caption');
|
||||
if(counterNode){
|
||||
counterNode.innerText=``;
|
||||
counterNode.childNodes[0].innerHTML=``;
|
||||
}
|
||||
}
|
||||
ui.selected.buttons.length=0;
|
||||
|
@ -410,22 +410,19 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
};
|
||||
if(event.isMine()) func();
|
||||
else if(event.isOnline()) event.player.send(func);
|
||||
var result=yield player.chooseButton(['看破:是否记录三个牌名?',[
|
||||
list,function(item,type,position,noclick,node){
|
||||
return lib.skill.sbkanpo.$createButton(item,type,position,noclick,node);
|
||||
}
|
||||
]],[1,3],true).set('ai',function(button){
|
||||
var result=yield player.chooseButton(['看破:是否记录三个牌名?',[list,'vcard']],[1,3],true).set('ai',function(button){
|
||||
switch(button.link[2]){
|
||||
case 'wuxie':return 5+Math.random();
|
||||
case 'sha':return 5+Math.random();
|
||||
case 'tao':return 4+Math.random();
|
||||
case 'jiu':return 3+Math.random();
|
||||
case 'lebu':return 3+Math.random();
|
||||
case 'shan':return 4.5+Math.random();
|
||||
case 'wuzhong':return 4+Math.random();
|
||||
case 'shunshou':return 3+Math.random();
|
||||
case 'shunshou':return 2.7+Math.random();
|
||||
case 'nanman':return 2+Math.random();
|
||||
case 'wanjian':return 2+Math.random();
|
||||
default:return Math.random();
|
||||
case 'wanjian':return 1.6+Math.random();
|
||||
default:return 1.5+Math.random();
|
||||
}
|
||||
}).set('filterButton',button=>{
|
||||
return !_status.event.names.includes(button.link[2]);
|
||||
|
@ -439,14 +436,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
game.uncheck();
|
||||
},
|
||||
button:function(){
|
||||
if(ui.selected.buttons.length) return;
|
||||
const event=get.event();
|
||||
if(event.dialog&&event.dialog.buttons){
|
||||
for(let i=0;i<event.dialog.buttons.length;i++){
|
||||
const button=event.dialog.buttons[i];
|
||||
if(ui.selected.buttons.includes(button)) continue;
|
||||
const counterNode=button.querySelector('.caption');
|
||||
if(counterNode){
|
||||
counterNode.innerText=``;
|
||||
counterNode.childNodes[0].innerHTML=``;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -464,9 +461,16 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
if(ui.selected.buttons.length>=lib.skill.sbkanpo.getNumber) return false;
|
||||
button.classList.add('selected');
|
||||
ui.selected.buttons.push(button);
|
||||
const counterNode=button.querySelector('.caption');
|
||||
let counterNode=button.querySelector('.caption');
|
||||
const count=ui.selected.buttons.filter(i=>i==button).length;
|
||||
if(counterNode){
|
||||
counterNode.innerHTML=`<span style="font-size:24px; font-family:xinwei; text-shadow:#FFF 0 0 5px;">×${ui.selected.buttons.filter(i=>i==button).length}</span>`;
|
||||
counterNode=counterNode.childNodes[0];
|
||||
counterNode.innerHTML=`×${count}`;
|
||||
}
|
||||
else{
|
||||
counterNode=ui.create.caption(`<span style="font-size:24px; font-family:xinwei; text-shadow:#FFF 0 0 4px, #FFF 0 0 4px, rgba(74,29,1,1) 0 0 3px;">×${count}</span>`,button);
|
||||
counterNode.style.right='5px';
|
||||
counterNode.style.bottom='2px';
|
||||
}
|
||||
const evt=event.parent;
|
||||
if(evt.controls) evt.controls[0].show();
|
||||
|
@ -480,13 +484,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
player.markSkill('sbkanpo');
|
||||
}
|
||||
},
|
||||
$createButton:function(item,type,position,noclick,node){
|
||||
node=ui.create.buttonPresets.vcard(item,type,position,noclick);
|
||||
const counterNode=ui.create.caption(`<div class="text"></div>`,node);
|
||||
counterNode.style.right='5px';
|
||||
counterNode.style.bottom='2px';
|
||||
return node;
|
||||
},
|
||||
marktext:'破',
|
||||
intro:{
|
||||
markcount:function(storage,player){
|
||||
|
|
Loading…
Reference in New Issue