This commit is contained in:
parent
fd4fb53241
commit
9f45b1bb86
767
card/shenqi.js
767
card/shenqi.js
|
@ -1,767 +0,0 @@
|
|||
card.shenqi={
|
||||
card:{
|
||||
donghuangzhong:{
|
||||
fullskin:true,
|
||||
type:'equip',
|
||||
subtype:'equip5',
|
||||
skills:['donghuangzhong'],
|
||||
ai:{
|
||||
equipValue:6
|
||||
}
|
||||
},
|
||||
xuanyuanjian:{
|
||||
fullskin:true,
|
||||
type:'equip',
|
||||
subtype:'equip1',
|
||||
skills:['xuanyuanjian','xuanyuanjian2','xuanyuanjian3'],
|
||||
enable:function(card,player){
|
||||
return player.skills.contains('xuanyuan')||player.hp>2;
|
||||
},
|
||||
distance:{attackFrom:-3},
|
||||
onEquip:function(){
|
||||
if(!player.skills.contains('xuanyuan')&&player.hp<=2){
|
||||
player.discard(card);
|
||||
}
|
||||
},
|
||||
ai:{
|
||||
equipValue:9
|
||||
}
|
||||
},
|
||||
pangufu:{
|
||||
fullskin:true,
|
||||
type:'equip',
|
||||
subtype:'equip1',
|
||||
skills:['pangufu'],
|
||||
distance:{attackFrom:-3},
|
||||
ai:{
|
||||
equipValue:8
|
||||
}
|
||||
},
|
||||
lianyaohu:{
|
||||
fullskin:true,
|
||||
type:'equip',
|
||||
subtype:'equip5',
|
||||
ai:{
|
||||
equipValue:8
|
||||
},
|
||||
skills:['lianhua','shouna']
|
||||
},
|
||||
haotianta:{
|
||||
fullskin:true,
|
||||
type:'equip',
|
||||
subtype:'equip5',
|
||||
skills:['haotianta'],
|
||||
ai:{
|
||||
equipValue:5
|
||||
}
|
||||
},
|
||||
fuxiqin:{
|
||||
fullskin:true,
|
||||
type:'equip',
|
||||
subtype:'equip5',
|
||||
skills:['kongxin'],
|
||||
ai:{
|
||||
equipValue:6
|
||||
}
|
||||
},
|
||||
shennongding:{
|
||||
fullskin:true,
|
||||
type:'equip',
|
||||
subtype:'equip5',
|
||||
skills:['shennongding'],
|
||||
ai:{
|
||||
equipValue:6
|
||||
}
|
||||
},
|
||||
kongdongyin:{
|
||||
fullskin:true,
|
||||
type:'equip',
|
||||
subtype:'equip5',
|
||||
skills:['kongdongyin'],
|
||||
ai:{
|
||||
basic:{
|
||||
equipValue:function(card,player){
|
||||
if(player.hp==2) return 7;
|
||||
if(player.hp==1) return 10;
|
||||
return 5;
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
kunlunjingc:{
|
||||
fullskin:true,
|
||||
type:'equip',
|
||||
subtype:'equip5',
|
||||
skills:['kunlunjingc'],
|
||||
ai:{
|
||||
equipValue:6
|
||||
}
|
||||
},
|
||||
nvwashi:{
|
||||
fullskin:true,
|
||||
type:'equip',
|
||||
subtype:'equip5',
|
||||
skills:['nvwashi'],
|
||||
ai:{
|
||||
equipValue:5
|
||||
}
|
||||
}
|
||||
},
|
||||
skill:{
|
||||
kunlunjingc:{
|
||||
enable:'phaseUse',
|
||||
usable:1,
|
||||
filter:function(event,player){
|
||||
return player.num('h')>0;
|
||||
},
|
||||
delay:false,
|
||||
content:function(){
|
||||
'step 0'
|
||||
var cards=get.cards(3);
|
||||
event.cards=cards;
|
||||
player.chooseCardButton('选择一张牌',cards,true);
|
||||
'step 1'
|
||||
event.card=result.links[0];
|
||||
player.chooseCard('h',true,'用一张手牌替换'+get.translation(event.card));
|
||||
'step 2'
|
||||
if(result.bool){
|
||||
event.cards[event.cards.indexOf(event.card)]=result.cards[0];
|
||||
player.lose(result.cards,ui.special);
|
||||
var cardx=ui.create.card();
|
||||
cardx.classList.add('infohidden');
|
||||
cardx.classList.add('infoflip');
|
||||
player.$throw(cardx,1000,'nobroadcast');
|
||||
}
|
||||
else{
|
||||
event.finish();
|
||||
}
|
||||
'step 3'
|
||||
player.gain(event.card);
|
||||
player.$draw();
|
||||
for(var i=event.cards.length-1;i>=0;i--){
|
||||
event.cards[i].fix();
|
||||
ui.cardPile.insertBefore(event.cards[i],ui.cardPile.firstChild);
|
||||
}
|
||||
game.delay();
|
||||
},
|
||||
ai:{
|
||||
order:10,
|
||||
result:{
|
||||
player:1
|
||||
}
|
||||
}
|
||||
},
|
||||
lianhua:{
|
||||
enable:'phaseUse',
|
||||
filter:function(event,player){
|
||||
var hu=player.get('e','5');
|
||||
if(hu&&hu.storage.shouna&&hu.storage.shouna.length>1){
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
},
|
||||
usable:1,
|
||||
content:function(){
|
||||
"step 0"
|
||||
event.hu=player.get('e','5');
|
||||
player.chooseCardButton('弃置两张壶中的牌,然后从牌堆中获得一张类别不同的牌',2,event.hu.storage.shouna).ai=function(){
|
||||
return 1;
|
||||
}
|
||||
"step 1"
|
||||
if(result.bool){
|
||||
var type=[];
|
||||
player.$throw(result.links);
|
||||
game.log(player,'弃置了',result.links);
|
||||
for(var i=0;i<result.links.length;i++){
|
||||
event.hu.storage.shouna.remove(result.links[i]);
|
||||
ui.discardPile.appendChild(result.links[i]);
|
||||
type.add(get.type(result.links[i],'trick'));
|
||||
}
|
||||
for(var i=0;i<ui.cardPile.childNodes.length;i++){
|
||||
if(!type.contains(get.type(ui.cardPile.childNodes[i],'trick'))){
|
||||
player.gain(ui.cardPile.childNodes[i],'gain');
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
else{
|
||||
player.getStat('skill').lianhua--;
|
||||
}
|
||||
},
|
||||
ai:{
|
||||
order:11,
|
||||
result:{
|
||||
player:1
|
||||
}
|
||||
}
|
||||
},
|
||||
shouna:{
|
||||
trigger:{global:'discardAfter'},
|
||||
filter:function(event,player){
|
||||
if(player.skills.contains('shouna2')) return false;
|
||||
if(_status.currentPhase==event.player) return false;
|
||||
if(event.player==player) return false;
|
||||
for(var i=0;i<event.cards.length;i++){
|
||||
if(get.position(event.cards[i])=='d'){
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
},
|
||||
forced:true,
|
||||
content:function(){
|
||||
var cards=trigger.cards.slice(0);
|
||||
for(var i=0;i<cards.length;i++){
|
||||
if(get.position(cards[i])!='d'){
|
||||
cards.splice(i,1);i--;
|
||||
}
|
||||
}
|
||||
var hu=player.get('e','5');
|
||||
if(cards.length&&hu){
|
||||
if(!hu.storage.shouna){
|
||||
hu.storage.shouna=[];
|
||||
}
|
||||
player.addTempSkill('shouna2','phaseAfter');
|
||||
player.$gain2(cards);
|
||||
for(var i=0;i<cards.length;i++){
|
||||
hu.storage.shouna.push(cards[i]);
|
||||
ui.special.appendChild(cards[i]);
|
||||
}
|
||||
game.log(player,'将',cards,'收入炼妖壶');
|
||||
}
|
||||
},
|
||||
},
|
||||
shouna2:{},
|
||||
donghuangzhong:{
|
||||
trigger:{player:'phaseEnd'},
|
||||
direct:true,
|
||||
filter:function(event,player){
|
||||
return player.num('h')>0;
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
player.chooseCardTarget({
|
||||
filterTarget:true,
|
||||
filterCard:true,
|
||||
ai1:function(card){
|
||||
return 7-ai.get.useful(card);
|
||||
},
|
||||
ai2:function(target){
|
||||
return -ai.get.attitude(player,target);
|
||||
},
|
||||
prompt:'是否发动【东皇钟】?'
|
||||
});
|
||||
'step 1'
|
||||
if(result.bool){
|
||||
player.logSkill('donghuangzhong',result.targets);
|
||||
player.discard(result.cards);
|
||||
event.target=result.targets[0];
|
||||
}
|
||||
else{
|
||||
event.finish();
|
||||
}
|
||||
'step 2'
|
||||
var target=event.target;
|
||||
var list=[];
|
||||
for(var i=0;i<lib.inpile.length;i++){
|
||||
if(get.type(lib.inpile[i])=='delay'&&!target.hasJudge(lib.inpile[i])){
|
||||
list.push(lib.inpile[i]);
|
||||
}
|
||||
}
|
||||
if(list.length){
|
||||
var card=game.createCard(list.randomGet());
|
||||
target.addJudge(card);
|
||||
target.$draw(card);
|
||||
game.delay();
|
||||
}
|
||||
}
|
||||
},
|
||||
donghuangzhong_old:{
|
||||
mode:['identity','guozhan'],
|
||||
enable:'phaseUse',
|
||||
usable:1,
|
||||
filter:function(event,player){
|
||||
return event.player==game.me&&
|
||||
(game.dead.length||game.players.length+game.dead.length<8);
|
||||
},
|
||||
content:function(){
|
||||
"step 0"
|
||||
var list=[];
|
||||
for(var i=0;i<game.dead.length;i++){
|
||||
list.push(game.dead[i].name);
|
||||
}
|
||||
if(game.dead.length){
|
||||
player.chooseButton(ui.create.dialog([list,'character']),function(button){
|
||||
for(var i=0;i<game.dead.length&&game.dead[i].name!=button.link;i++);
|
||||
return -ai.get.attitude(_status.event.player,game.dead[i]);
|
||||
},true);
|
||||
if(game.players.length+game.dead.length<8){
|
||||
event.control=ui.create.control('新角色',ui.click.cancel)
|
||||
}
|
||||
}
|
||||
"step 1"
|
||||
if(result.bool){
|
||||
for(var i=0;i<game.dead.length&&game.dead[i].name!=result.buttons[0].link;i++);
|
||||
game.removePlayer(game.dead[i]);
|
||||
player.recover();
|
||||
}
|
||||
else{
|
||||
var group=player.group;
|
||||
if(group=='unknown') group=lib.group.randomGet();
|
||||
var list=[];
|
||||
for(var i in lib.character){
|
||||
if(lib.character[i][1]==group) list.push(i);
|
||||
}
|
||||
var player2=game.addPlayer();
|
||||
if(get.config('double_character')){
|
||||
var list2=list.randomGets(2);
|
||||
player2.init(list2[0],list2[1]);
|
||||
}
|
||||
else{
|
||||
player2.init(list.randomGet())
|
||||
}
|
||||
player2.identity=player.identity;
|
||||
if(player2.identity=='zhu') player2.identity='zhong';
|
||||
player2.setIdentity();
|
||||
player2.identityShown=true;
|
||||
if(group!='unknown') player.loseHp(player2.maxHp);
|
||||
}
|
||||
if(event.control) event.control.close();
|
||||
}
|
||||
},
|
||||
xuanyuanjian:{
|
||||
trigger:{player:'changeHp'},
|
||||
forced:true,
|
||||
popup:false,
|
||||
filter:function(event,player){
|
||||
return !player.skills.contains('xuanyuan')&&player.hp<=2
|
||||
},
|
||||
content:function(){
|
||||
var e1=player.get('e','1');
|
||||
if(e1&&e1.name=='xuanyuanjian'){
|
||||
player.discard(e1);
|
||||
}
|
||||
},
|
||||
ai:{
|
||||
threaten:1.5
|
||||
}
|
||||
},
|
||||
xuanyuanjian2:{
|
||||
trigger:{source:'damageBefore'},
|
||||
forced:true,
|
||||
filter:function(event){
|
||||
return event.notLink();
|
||||
},
|
||||
content:function(){
|
||||
trigger.num++;
|
||||
if(!trigger.nature) trigger.nature='thunder';
|
||||
}
|
||||
},
|
||||
xuanyuanjian3:{
|
||||
trigger:{source:'damageAfter'},
|
||||
forced:true,
|
||||
popup:false,
|
||||
filter:function(event){
|
||||
return event.notLink();
|
||||
},
|
||||
content:function(){
|
||||
player.loseHp();
|
||||
player.draw();
|
||||
}
|
||||
},
|
||||
pangufu:{
|
||||
trigger:{source:'damageEnd'},
|
||||
forced:true,
|
||||
priority:55,
|
||||
filter:function(event){
|
||||
return event.player.num('he')>0;
|
||||
},
|
||||
content:function(){
|
||||
trigger.player.chooseToDiscard(true,'he');
|
||||
}
|
||||
},
|
||||
shouhua:{
|
||||
mode:['identity','infinity'],
|
||||
enable:'phaseUse',
|
||||
filter:function(event,player){
|
||||
return player==game.me;
|
||||
},
|
||||
usable:1,
|
||||
filterTarget:function(card,player,target){
|
||||
return target!=game.zhu&&target!=game.me&&target.hp<target.maxHp;
|
||||
},
|
||||
filterCard:true,
|
||||
check:function(card){
|
||||
return ai.get.value(card);
|
||||
},
|
||||
discard:false,
|
||||
prepare:function(cards,player){
|
||||
player.$throw(cards);
|
||||
},
|
||||
content:function(){
|
||||
"step 0"
|
||||
target.$turn2();
|
||||
target.style.left='calc(50% - 120px)';
|
||||
target.style.top='calc(50% - 60px)';
|
||||
game.delay(0,2500);
|
||||
"step 1"
|
||||
target.removeAttribute('style');
|
||||
if(Math.random()<(ai.get.value(cards[0])+1)*(target.maxHp-target.hp)/(60*target.maxHp)){
|
||||
event.position=target.dataset.position;
|
||||
target.dataset.position=player.dataset.position;
|
||||
target.delete();
|
||||
event.success=true;
|
||||
}
|
||||
game.delay();
|
||||
"step 2"
|
||||
if(event.success){
|
||||
player.popup('收化成功');
|
||||
game.log(player,'将',target,'收化');
|
||||
target.dataset.position=event.position;
|
||||
var card=player.get('e','5');
|
||||
if(!card.storage.shouhua) card.storage.shouhua=[];
|
||||
card.storage.shouhua.push(target);
|
||||
game.removePlayer(target);
|
||||
game.checkResult();
|
||||
}
|
||||
else{
|
||||
player.popup('收化失败');
|
||||
target.gain(cards);
|
||||
target.$gain2(cards);
|
||||
}
|
||||
game.delay();
|
||||
},
|
||||
ai:{
|
||||
result:{
|
||||
player:function(){
|
||||
return Math.random()-0.4;
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
haotianta:{
|
||||
trigger:{global:'judgeBefore'},
|
||||
direct:true,
|
||||
usable:3,
|
||||
content:function(){
|
||||
"step 0"
|
||||
event.cards=get.cards(3);
|
||||
player.chooseCardButton(event.cards,'昊天塔:选择一张牌作为'+get.translation(trigger.player)+'的'+trigger.judgestr+'判定结果').ai=function(button){
|
||||
if(ai.get.attitude(player,trigger.player)>0){
|
||||
return 1+trigger.judge(button.link);
|
||||
}
|
||||
if(ai.get.attitude(player,trigger.player)<0){
|
||||
return 1-trigger.judge(button.link);
|
||||
}
|
||||
return 0;
|
||||
};
|
||||
"step 1"
|
||||
if(!result.bool){
|
||||
event.finish();
|
||||
return;
|
||||
}
|
||||
player.logSkill('haotianta',trigger.player);
|
||||
var card=result.links[0];
|
||||
event.cards.remove(card);
|
||||
var judgestr=get.translation(trigger.player)+'的'+trigger.judgestr+'判定';
|
||||
event.videoId=lib.status.videoId++;
|
||||
event.dialog=ui.create.dialog(judgestr);
|
||||
event.dialog.classList.add('center');
|
||||
event.dialog.videoId=event.videoId;
|
||||
|
||||
game.addVideo('judge1',player,[get.cardInfo(card),judgestr,event.videoId]);
|
||||
for(var i=0;i<event.cards.length;i++) ui.discardPile.appendChild(event.cards[i]);
|
||||
// var node=card.copy('thrown','center',ui.arena).animate('start');
|
||||
var node;
|
||||
if(game.chess){
|
||||
node=card.copy('thrown','center',ui.arena).animate('start');
|
||||
}
|
||||
else{
|
||||
node=player.$throwordered(card.copy(),true);
|
||||
}
|
||||
node.classList.add('thrownhighlight');
|
||||
ui.arena.classList.add('thrownhighlight');
|
||||
if(card){
|
||||
trigger.untrigger();
|
||||
trigger.finish();
|
||||
trigger.result={
|
||||
card:card,
|
||||
judge:trigger.judge(card),
|
||||
node:node,
|
||||
number:get.number(card),
|
||||
suit:get.suit(card),
|
||||
color:get.color(card),
|
||||
};
|
||||
if(trigger.result.judge>0){
|
||||
trigger.result.bool=true;
|
||||
trigger.player.popup('洗具');
|
||||
}
|
||||
if(trigger.result.judge<0){
|
||||
trigger.result.bool=false;
|
||||
trigger.player.popup('杯具');
|
||||
}
|
||||
game.log(trigger.player,'的判定结果为',card);
|
||||
trigger.direct=true;
|
||||
trigger.position.appendChild(card);
|
||||
game.delay(2);
|
||||
}
|
||||
else{
|
||||
event.finish();
|
||||
}
|
||||
"step 2"
|
||||
ui.arena.classList.remove('thrownhighlight');
|
||||
event.dialog.close();
|
||||
game.addVideo('judge2',null,event.videoId);
|
||||
ui.clear();
|
||||
var card=trigger.result.card;
|
||||
trigger.position.appendChild(card);
|
||||
trigger.result.node.delete();
|
||||
game.delay();
|
||||
},
|
||||
ai:{
|
||||
tag:{
|
||||
rejudge:10
|
||||
}
|
||||
}
|
||||
},
|
||||
shennongding:{
|
||||
enable:'phaseUse',
|
||||
usable:1,
|
||||
filterCard:true,
|
||||
selectCard:2,
|
||||
check:function(card){
|
||||
if(get.tag(card,'recover')>=1) return 0;
|
||||
return 7-ai.get.value(card);
|
||||
},
|
||||
filter:function(event,player){
|
||||
return player.hp<player.maxHp;
|
||||
},
|
||||
content:function(){
|
||||
player.recover();
|
||||
},
|
||||
ai:{
|
||||
result:{
|
||||
player:function(player){
|
||||
return ai.get.recoverEffect(player);
|
||||
}
|
||||
},
|
||||
order:2.5
|
||||
}
|
||||
},
|
||||
kongdongyin:{
|
||||
trigger:{player:'dieBefore'},
|
||||
forced:true,
|
||||
filter:function(event,player){
|
||||
return player.maxHp>0;
|
||||
},
|
||||
content:function(){
|
||||
trigger.untrigger();
|
||||
trigger.finish();
|
||||
player.hp=1;
|
||||
player.draw();
|
||||
player.discard(player.get('e',{subtype:'equip5'}));
|
||||
game.delay();
|
||||
}
|
||||
},
|
||||
|
||||
nvwashi:{
|
||||
trigger:{global:'dying'},
|
||||
priority:6,
|
||||
filter:function(event,player){
|
||||
return event.player.hp<=0&&player.hp>1;
|
||||
},
|
||||
check:function(event,player){
|
||||
return ai.get.attitude(player,event.player)>=3;
|
||||
},
|
||||
content:function(){
|
||||
"step 0"
|
||||
trigger.player.recover();
|
||||
"step 1"
|
||||
player.loseHp();
|
||||
},
|
||||
ai:{
|
||||
threaten:1.2,
|
||||
expose:0.2
|
||||
}
|
||||
},
|
||||
kongxin:{
|
||||
enable:'phaseUse',
|
||||
usable:1,
|
||||
filterTarget:function(card,player,target){
|
||||
return target!=player&&target.num('h');
|
||||
},
|
||||
filter:function(event,player){
|
||||
return player.num('h')?true:false;
|
||||
},
|
||||
content:function(){
|
||||
"step 0"
|
||||
player.chooseToCompare(target);
|
||||
"step 1"
|
||||
if(result.bool){
|
||||
event.bool=true;
|
||||
player.chooseTarget('选择一个目标视为'+get.translation(target)+'对其使用一张杀',function(card,player,target2){
|
||||
return player!=target2&&target.canUse('sha',target2);
|
||||
}).ai=function(target){
|
||||
return ai.get.effect(target,{name:'sha'},target,player);
|
||||
}
|
||||
}
|
||||
else{
|
||||
target.discardPlayerCard(player);
|
||||
}
|
||||
"step 2"
|
||||
if(event.bool&&result.bool){
|
||||
target.useCard({name:'sha'},result.targets);
|
||||
}
|
||||
},
|
||||
ai:{
|
||||
order:7,
|
||||
result:{
|
||||
target:function(player,target){
|
||||
if(player.num('h')<=1) return 0;
|
||||
if(ai.get.attitude(player,target)>=0) return 0;
|
||||
for(var i=0;i<game.players.length;i++){
|
||||
if(player!=game.players[i]&&
|
||||
target.canUse('sha',game.players[i])&&
|
||||
ai.get.effect(game.players[i],{name:'sha'},target,player)>0){
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
kongxin2:{
|
||||
trigger:{player:'dying'},
|
||||
priority:10,
|
||||
forced:true,
|
||||
popup:false,
|
||||
filter:function(event,player){
|
||||
return player==game.me;
|
||||
},
|
||||
content:function(){
|
||||
player.removeSkill('kongxin2');
|
||||
game.swapPlayer(player);
|
||||
player.storage.kongxin.lockOut=false;
|
||||
player.storage.kongxin.out();
|
||||
if(player==game.me) game.swapPlayer(player.storage.kongxin);
|
||||
if(lib.config.mode=='identity') player.storage.kongxin.setIdentity();
|
||||
delete player.storage.kongxin;
|
||||
},
|
||||
},
|
||||
lianyao_hujia:{
|
||||
mode:['identity','guozhan'],
|
||||
enable:'phaseUse',
|
||||
usable:1,
|
||||
filter:function(event,player){
|
||||
if(player!=game.me) return false;
|
||||
var card=player.get('e','5');
|
||||
if(card.storage.shouhua&&card.storage.shouhua.length) return true;
|
||||
return false;
|
||||
},
|
||||
content:function(){
|
||||
"step 0"
|
||||
var list=[];
|
||||
var card=player.get('e','5');
|
||||
for(var i=0;i<card.storage.shouhua.length;i++){
|
||||
list.push(card.storage.shouhua[i].name);
|
||||
}
|
||||
var dialog=ui.create.dialog([list,'character']);
|
||||
for(var i=0;i<dialog.buttons.length;i++){
|
||||
dialog.buttons[i].link=card.storage.shouhua[i];
|
||||
dialog.buttons[i].querySelector('.intro').remove();
|
||||
}
|
||||
player.chooseButton(dialog,true);
|
||||
"step 1"
|
||||
if(result.bool){
|
||||
game.restorePlayer(result.links[0]);
|
||||
game.delay();
|
||||
}
|
||||
else{
|
||||
event.finish();
|
||||
}
|
||||
"step 2"
|
||||
game.swapPlayer(result.links[0]);
|
||||
result.links[0].hp=1;
|
||||
result.links[0].update();
|
||||
result.links[0].storage.lianyao_hujia=player;
|
||||
game.swapPlayer(result.links[0]);
|
||||
result.links[0].addSkill('lianyao_hujia2');
|
||||
result.links[0].phase();
|
||||
result.links[0].setIdentity();
|
||||
result.links[0].identityShown=true;
|
||||
player.out(true);
|
||||
}
|
||||
},
|
||||
lianyao_hujia2:{
|
||||
trigger:{player:['phaseAfter','changeHp']},
|
||||
forced:true,
|
||||
popup:false,
|
||||
content:function(){
|
||||
player.hp=1;
|
||||
player.update();
|
||||
var me=player.storage.lianyao_hujia;
|
||||
delete player.storage.lianyao_hujia;
|
||||
me.lockOut=false;
|
||||
me.out();
|
||||
player.removeSkill('lianyao_hujia2');
|
||||
if(player==game.me){
|
||||
game.swapPlayer(me);
|
||||
game.removePlayer(player);
|
||||
game.delay();
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
translate:{
|
||||
donghuangzhong:'东皇钟',
|
||||
xuanyuanjian:'轩辕剑',
|
||||
xuanyuanjian2:'轩辕剑',
|
||||
pangufu:'盘古斧',
|
||||
lianyaohu:'炼妖壶',
|
||||
haotianta:'昊天塔',
|
||||
fuxiqin:'伏羲琴',
|
||||
shennongding:'神农鼎',
|
||||
kongdongyin:'崆峒印',
|
||||
kunlunjingc:'昆仑镜',
|
||||
nvwashi:'女娲石',
|
||||
donghuangzhong_bg:'钟',
|
||||
lianyaohu_bg:'壶',
|
||||
haotianta_bg:'塔',
|
||||
fuxiqin_bg:'琴',
|
||||
shennongding_bg:'鼎',
|
||||
kongdongyin_bg:'印',
|
||||
kunlunjingc_bg:'镜',
|
||||
nvwashi_bg:'石',
|
||||
kongxin:'控心',
|
||||
lianhua:'炼化',
|
||||
lianhua_info:'出牌阶段限一次,你可以弃置两张炼妖壶中的牌,从牌堆中获得一张与弃置的牌类别均不相同的牌',
|
||||
shouna:'收纳',
|
||||
shouna_info:'当一名其他角色于回合外弃置的卡牌进入弃牌堆后,你可以选择其中的一张放入炼妖壶,每名角色的回合限一次',
|
||||
donghuangzhong_info:'回合结束阶段,你可以弃置一张手牌,并选择一名角色将一张随机判定牌置入其判定区',
|
||||
xuanyuanjian_info:'锁定技,每当你即将造成一次伤害,你令此伤害加一并变为雷属性,此伤害结算后,你流失一点体力并摸一张牌。任何时候,若你体力值不超过2,则立即失去轩辕剑',
|
||||
pangufu_info:'锁定技,每当你造成一次伤害,受伤角色须弃置一张牌',
|
||||
haotianta_info:'任意一名角色进行判定前,你可以观看牌堆顶的3张牌,并选择一张作为判定结果,此结果不可被更改,也不能触发技能。每回合最多发动3次',
|
||||
shennongding_info:'出牌阶段,你可以弃置两张手牌,然后回复一点体力。每阶段限一次',
|
||||
kongdongyin_info:'令你抵挡一次死亡,将体力回复至1,并摸一张牌,发动后进入弃牌堆',
|
||||
kunlunjingc_info:'出牌阶段限一次,你可以观看牌堆顶的三张牌,然后用一张手牌替换其中的一张',
|
||||
nvwashi_info:'当一名角色濒死时,若你的体力值大于1,你可以失去一点体力并令其回复一点体力',
|
||||
kongxin_info:'出牌阶段限一次,你可以与一名其他角色进行拼点,若你赢,你可以指定另一名角色视为对方对该角色使用一张杀,否则对方可弃置你一张牌',
|
||||
fuxiqin_info:'出牌阶段限一次,你可以与一名其他角色进行拼点,若你赢,你可以指定另一名角色视为对方对该角色使用一张杀,否则对方可弃置你一张牌',
|
||||
lianyaohu_info:'当一名其他角色于回合外弃置的卡牌进入弃牌堆后,你将其放入炼妖壶(每回合只发动一次);出牌阶段限一次,你可以弃置两张炼妖壶中的牌,从牌堆中获得一张与弃置的牌类别均不相同的牌',
|
||||
// fuxiqin_info:'出牌阶段,你可以选择一名角色并流失X点体力,然后获得其控制权直到其首次进入濒死状态,X为该角色当前的体力值',
|
||||
// fuxiqin_info:'',
|
||||
},
|
||||
list:[
|
||||
['diamond',13,'donghuangzhong'],
|
||||
['diamond',13,'fuxiqin'],
|
||||
['spade',13,'kunlunjingc'],
|
||||
['spade',13,'xuanyuanjian'],
|
||||
['spade',13,'pangufu'],
|
||||
['club',13,'lianyaohu'],
|
||||
['diamond',13,'haotianta'],
|
||||
['club',13,'shennongding'],
|
||||
['heart',13,'nvwashi'],
|
||||
['heart',13,'kongdongyin'],
|
||||
],
|
||||
}
|
1044
card/swd.js
1044
card/swd.js
File diff suppressed because it is too large
Load Diff
|
@ -23,7 +23,7 @@ character.swd={
|
|||
swd_shuijing:['female','qun',4,['mojian','duanyue']],
|
||||
swd_quxian:['female','qun',3,['mojian','huanxia']],
|
||||
swd_xiyan:['male','qun',3,['tianshu','daofa']],
|
||||
swd_cheyun:['female','wu',3,['shengong','xianjiang3','qiaoxie']],
|
||||
swd_cheyun:['female','wu',3,['shengong','xianjiang','qiaoxie']],
|
||||
swd_huanyuanzhi:['male','qun',3,['lanzhi','mufeng','tianshu']],
|
||||
swd_murongshi:['female','shu',4,['duanyi','guxing']],
|
||||
swd_jipeng:['male','wu',3,['reyingzi','guozao']],
|
||||
|
@ -3921,8 +3921,6 @@ character.swd={
|
|||
else{
|
||||
event.finish();
|
||||
}
|
||||
"step 2"
|
||||
player.gain(game.createCard(get.typeCard('hslingjian').randomGet()),'gain2');
|
||||
},
|
||||
},
|
||||
qiaoxie4:{
|
||||
|
@ -4459,7 +4457,7 @@ character.swd={
|
|||
threaten:1.5
|
||||
}
|
||||
},
|
||||
xianjiang:{
|
||||
xianjiang_old:{
|
||||
enable:'phaseUse',
|
||||
position:'he',
|
||||
usable:1,
|
||||
|
@ -4515,14 +4513,13 @@ character.swd={
|
|||
player.storage.xianjiang=[];
|
||||
}
|
||||
},
|
||||
xianjiang3:{
|
||||
xianjiang:{
|
||||
enable:'phaseUse',
|
||||
filterCard:function(card){
|
||||
return get.type(card,'trick')=='trick';
|
||||
},
|
||||
usable:1,
|
||||
filter:function(event,player){
|
||||
if(player.num('e')) return false;
|
||||
if(player.num('h',{type:'trick'})) return true;
|
||||
if(player.num('h',{type:'delay'})) return true;
|
||||
return false;
|
||||
|
@ -4532,7 +4529,12 @@ character.swd={
|
|||
return 8-ai.get.value(card);
|
||||
},
|
||||
content:function(){
|
||||
player.gain(game.createCard(get.inpile('equip').randomGet()),'gain');
|
||||
if(player.num('e')){
|
||||
player.gain(game.createCard(['jiguanshu','jiguanyuan','jiguanfeng'].randomGet()),'gain');
|
||||
}
|
||||
else{
|
||||
player.gain(game.createCard(get.inpile('equip').randomGet()),'gain');
|
||||
}
|
||||
},
|
||||
ai:{
|
||||
result:{
|
||||
|
@ -8048,7 +8050,7 @@ character.swd={
|
|||
kunlunjing_info:'回合开始前,你可以令场上所有牌还原到你上一回合结束时的位置,然后弃置一张手牌',
|
||||
swd_xiuluo_info:'回合开始阶段,你可以弃一张手牌来弃置你判断区里的一张延时类锦囊(必须花色相同)',
|
||||
xianyin_info:'出牌阶段,你可以令所有判定区内有牌的角色弃置判定区内的牌,然后交给你一张手牌',
|
||||
qiaoxie_info:'每当你装备一张牌,可摸一张牌;每当你失去一张装备牌(不含替换),你可以弃置其他角色的一张牌,然后获得一个随机零件',
|
||||
qiaoxie_info:'每当你装备一张牌,可摸一张牌;每当你失去一张装备牌(不含替换),你可以弃置其他角色的一张牌',
|
||||
mailun_info:'回合开始阶段,你可以选择一个脉轮效果直到下一回合开始',
|
||||
guiyan_info:'出牌阶段,你可以观看一名角色的手牌,并获得其中一张梅花牌,每阶段限一次。当你首次进入濒死状态时,你须回复一点体力并失去技能鬼眼',
|
||||
busi_info:'锁定技,当你进入濒死状态时,你进行一次判定,若结果不为黑桃,你将体力回复至1并将武将牌翻至背面',
|
||||
|
@ -8079,8 +8081,8 @@ character.swd={
|
|||
daixing_info:'回合结束阶段,你可以任意张牌并获得等量的护甲,这些护甲将在你的下个回合开始阶段消失',
|
||||
swd_wuxie_info:'锁定技,你不能成为其他角色的延时锦囊的目标',
|
||||
qingcheng_info:'回合结束阶段,你可以进行判定,若为红色则可以继续判定,最多判定3次,判定结束后将判定成功的牌收入手牌',
|
||||
xianjiang_info:'出牌阶段,你可以将一张装备牌永久转化为任意一张其它装备牌,一张牌在一个阶段只能转化一次',
|
||||
xianjiang3_info:'出牌阶段限一次,若你装备区内没有牌,你可以弃置一张锦囊牌,并随机获得一张装备牌',
|
||||
xianjiang_old_info:'出牌阶段,你可以将一张装备牌永久转化为任意一张其它装备牌,一张牌在一个阶段只能转化一次',
|
||||
xianjiang_info:'出牌阶段限一次,你可以弃置一张锦囊牌,若你装备区内没有牌,你获得一张装备牌,否则你获得一张机关牌',
|
||||
shengong_info:'每当你需要打出一张杀或闪时,你可以弃置一名其他角色装备区内的一张武器牌或防具牌,视为打出一张杀或闪,然后该角色摸一张牌,你弃一张牌',
|
||||
ningjian_info:'你可以将一张红色牌当闪、黑色牌当杀使用或打出',
|
||||
taixu_info:'限定技,你可以弃置你的所有牌(至少1张),并对一名体力值大于1为其他角色造成X点火焰伤害,X为你已损失的体力值且至少为1',
|
||||
|
|
|
@ -8,8 +8,10 @@ window.noname_asset_list=[
|
|||
'image/background/zhulin_bg.jpg',
|
||||
'image/card/spell_jingshenkongzhi.jpg',
|
||||
'image/card/bagua.png',
|
||||
// 'image/card/baishouzhihu.png',
|
||||
'image/card/baiyin.png',
|
||||
'image/card/bingliang.png',
|
||||
// 'image/card/cangchizhibi.png',
|
||||
'image/card/caomu.png',
|
||||
'image/card/caoyao.png',
|
||||
'image/card/chenhuodajie.png',
|
||||
|
@ -31,12 +33,14 @@ window.noname_asset_list=[
|
|||
'image/card/dunpaigedang.png',
|
||||
'image/card/fangtian.png',
|
||||
'image/card/fengxueren.png',
|
||||
'image/card/fengyinzhidan.png',
|
||||
'image/card/fudichouxin.png',
|
||||
'image/card/fuxiqin.png',
|
||||
'image/card/fuxiqin2.png',
|
||||
'image/card/guanshi.png',
|
||||
'image/card/guangshatianyi.png',
|
||||
'image/card/guding.png',
|
||||
'image/card/guisheqi.png',
|
||||
'image/card/guiyoujie.png',
|
||||
'image/card/guiyanfadao.png',
|
||||
'image/card/guilingyupei.png',
|
||||
|
@ -68,6 +72,7 @@ window.noname_asset_list=[
|
|||
'image/card/hsshenqi_nengliangzhiguang.jpg',
|
||||
'image/card/hualiu.png',
|
||||
'image/card/huanpodan.png',
|
||||
// 'image/card/huanglinzhicong.png',
|
||||
'image/card/hufu.png',
|
||||
'image/card/huimiezhichui.png',
|
||||
'image/card/huogong.png',
|
||||
|
@ -76,7 +81,10 @@ window.noname_asset_list=[
|
|||
'image/card/huxinjing.png',
|
||||
'image/card/jiedao.png',
|
||||
'image/card/jihuocard.png',
|
||||
'image/card/jiguanfeng.png',
|
||||
'image/card/jiguanshu.png',
|
||||
'image/card/jiguanyuan.png',
|
||||
'image/card/jiguantong.png',
|
||||
'image/card/jingfanma.png',
|
||||
'image/card/jingleishan.png',
|
||||
'image/card/jiu.png',
|
||||
|
@ -100,8 +108,10 @@ window.noname_asset_list=[
|
|||
'image/card/qiankundai.png',
|
||||
'image/card/qilin.png',
|
||||
'image/card/qinggang.png',
|
||||
'image/card/qinglianxindeng.png',
|
||||
'image/card/qinglong.png',
|
||||
'image/card/qinglonglingzhu.png',
|
||||
// 'image/card/qinglongzhigui.png',
|
||||
'image/card/renwang.png',
|
||||
'image/card/sadengjinhuan.png',
|
||||
'image/card/sanjian.png',
|
||||
|
@ -276,6 +286,7 @@ window.noname_asset_list=[
|
|||
'image/card/xingjiegoutong.png',
|
||||
'image/card/xingjunyan.png',
|
||||
'image/card/xixueguizhihuan.png',
|
||||
// 'image/card/xuanwuzhihuang.png',
|
||||
'image/card/xuanyuanjian.png',
|
||||
'image/card/yihuajiemu.png',
|
||||
'image/card/yinyueqiang.png',
|
||||
|
@ -293,6 +304,7 @@ window.noname_asset_list=[
|
|||
'image/card/zhufangshenshi.png',
|
||||
'image/card/zhuge.png',
|
||||
'image/card/zhuque.png',
|
||||
// 'image/card/zhuquezhizhang.png',
|
||||
'image/card/zixin.png',
|
||||
'image/card/zuzhoumojie.png',
|
||||
'image/character/stone_chilundashi.jpg',
|
||||
|
|
43
game/game.js
43
game/game.js
|
@ -6603,7 +6603,7 @@
|
|||
event.finish();
|
||||
}
|
||||
"step 1"
|
||||
if(event.source) game.delayx();
|
||||
if(event.source&&event.delay!==false) game.delayx();
|
||||
"step 2"
|
||||
if(player.getStat().gain==undefined){
|
||||
player.getStat().gain=cards.length;
|
||||
|
@ -20953,6 +20953,44 @@
|
|||
if(lib.card[info[i]].derivation&&mode!='mode_derivation') continue;
|
||||
list.push(['',get.translation(get.type(info[i],'trick')),info[i]]);
|
||||
}
|
||||
var sortCard=function(card){
|
||||
var type=lib.card[card[2]].type;
|
||||
if(lib.cardType[type]){
|
||||
return lib.cardType[type];
|
||||
}
|
||||
switch(type){
|
||||
case 'basic':return 0;
|
||||
case 'chess':return 1.5;
|
||||
case 'trick':return 2;
|
||||
case 'delay':return 3;
|
||||
case 'equip':{
|
||||
switch(lib.card[card[2]].subtype){
|
||||
case 'equip1':return 4.1;
|
||||
case 'equip2':return 4.2;
|
||||
case 'equip3':return 4.3;
|
||||
case 'equip4':return 4.4;
|
||||
case 'equip5':return 4.5;
|
||||
default:return 4;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 'zhenfa':return 5;
|
||||
default:return 6;
|
||||
}
|
||||
}
|
||||
list.sort(function(a,b){
|
||||
var sort1=sortCard(a);
|
||||
var sort2=sortCard(b);
|
||||
if(sort1==sort2){
|
||||
return (b[2]<a[2])?1:-1;
|
||||
}
|
||||
else if(sort1>sort2){
|
||||
return 1;
|
||||
}
|
||||
else{
|
||||
return -1;
|
||||
}
|
||||
});
|
||||
var cfgnode=createConfig({
|
||||
name:'开启',
|
||||
_name:mode,
|
||||
|
@ -28491,6 +28529,9 @@
|
|||
uiintro.add('<div class="text center">攻击范围:1</div>');
|
||||
}
|
||||
}
|
||||
else if(get.type(node)=='equip'){
|
||||
uiintro.add('<div class="text center">'+get.translation(get.subtype(node))+'</div>');
|
||||
}
|
||||
else if(lib.card[name]&&lib.card[name].addinfomenu){
|
||||
uiintro.add('<div class="text center">'+lib.card[name].addinfomenu+'</div>');
|
||||
}
|
||||
|
|
|
@ -24,7 +24,6 @@ card.pack={
|
|||
zhenfa:'阵法',
|
||||
yunchou:'运筹帷幄',
|
||||
swd:'轩辕剑',
|
||||
shenqi:'上古神器',
|
||||
hearth:'炉石传说',
|
||||
compensate:'补充卡牌',
|
||||
};
|
||||
|
|
|
@ -4,7 +4,6 @@ window.noname_source_list=[
|
|||
'card/guozhan.js',
|
||||
'card/hearth.js',
|
||||
'card/sp.js',
|
||||
'card/shenqi.js',
|
||||
'card/standard.js',
|
||||
'card/swd.js',
|
||||
'card/yunchou.js',
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 80 KiB |
Binary file not shown.
After Width: | Height: | Size: 71 KiB |
Binary file not shown.
After Width: | Height: | Size: 58 KiB |
Binary file not shown.
After Width: | Height: | Size: 48 KiB |
Binary file not shown.
After Width: | Height: | Size: 53 KiB |
Binary file not shown.
After Width: | Height: | Size: 51 KiB |
|
@ -615,8 +615,8 @@ div:not(.handcards)>.card>.info>span,
|
|||
z-index: 1;
|
||||
display: block !important;
|
||||
}
|
||||
.player:not(.linked2) .marks>div:first-child,
|
||||
.marks .removing{
|
||||
#arena.oldlayout .player:not(.linked2) .marks>div:first-child,
|
||||
#arena.oldlayout .player .marks .removing{
|
||||
margin-left: -12px;
|
||||
margin-right:-12px;
|
||||
opacity:0;
|
||||
|
|
Loading…
Reference in New Issue