This commit is contained in:
libccy 2019-06-19 12:09:34 -04:00
commit 6080ba4393
12 changed files with 871 additions and 595 deletions

View File

@ -10,7 +10,8 @@ game.import('card',function(lib,game,ui,get,ai,_status){
type:"basic",
toself:true,
enable:function(event,player){
return !player.hasSkill('jiu');
//return !player.hasSkill('jiu');
return true;
},
lianheng:true,
logv:false,
@ -34,6 +35,8 @@ game.import('card',function(lib,game,ui,get,ai,_status){
if(cards&&cards.length){
card=cards[0];
}
if(!player.storage.jiu) player.storage.jiu=0;
player.storage.jiu++;
game.broadcastAll(function(target,card,gain2){
target.addSkill('jiu');
if(!target.node.jiu&&lib.config.jiu_effect){
@ -43,8 +46,8 @@ game.import('card',function(lib,game,ui,get,ai,_status){
if(gain2&&card.clone&&(card.clone.parentNode==target.parentNode||card.clone.parentNode==ui.arena)){
card.clone.moveDelete(target);
}
},target,card,target==targets[0]);
if(target==targets[0]){
},target,card,target==targets[0]&&cards.length==1);
if(target==targets[0]&&cards.length==1){
if(card.clone&&(card.clone.parentNode==target.parentNode||card.clone.parentNode==ui.arena)){
game.addVideo('gain2',target,get.cardsInfo([card]));
}
@ -347,7 +350,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
equipValue:3
},
},
skills:['tengjia1','tengjia2']
skills:['tengjia1','tengjia2','tengjia3']
},
baiyin:{
fullskin:true,
@ -379,16 +382,22 @@ game.import('card',function(lib,game,ui,get,ai,_status){
skill:{
huogong2:{},
jiu:{
trigger:{source:'damageBegin'},
trigger:{player:'useCard'},
filter:function(event){
return event.card&&event.card.name=='sha'&&event.notLink();
return event.card&&event.card.name=='sha';
},
forced:true,
content:function(){
trigger.num++;
if(!trigger.baseDamage) trigger.baseDamage=1;
trigger.baseDamage+=player.storage.jiu;
game.broadcastAll(function(player){
player.removeSkill('jiu');
},player);
},
temp:true,
vanish:true,
silent:true,
popup:false,
onremove:function(player){
if(player.node.jiu){
player.node.jiu.delete();
@ -396,6 +405,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
delete player.node.jiu;
delete player.node.jiu2;
}
delete player.storage.jiu;
},
ai:{
damageBonus:true
@ -441,7 +451,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
}
},
tengjia1:{
trigger:{target:'useCardToBefore'},
trigger:{target:['useCardToBefore']},
forced:true,
priority:6,
audio:true,
@ -453,7 +463,6 @@ game.import('card',function(lib,game,ui,get,ai,_status){
})) return false;
if(event.card.name=='nanman') return true;
if(event.card.name=='wanjian') return true;
if(event.card.name=='sha'&&!event.card.nature) return true;
},
content:function(){
trigger.cancel();
@ -498,6 +507,22 @@ game.import('card',function(lib,game,ui,get,ai,_status){
}
}
},
tengjia3:{
audio:'tengjia1',
trigger:{target:'shaBegin'},
filter:function(event,player){
if(event.player.hasSkillTag('unequip',false,{
name:event.card?event.card.name:null,
target:player,
card:event.card
})) return false;
if(event.card.name=='sha'&&!event.card.nature) return true;
return false;
},
content:function(){
trigger.cancel();
},
},
baiyin_skill:{
trigger:{player:'damageBegin'},
forced:true,
@ -572,6 +597,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
tengjia_info:'锁定技,【南蛮入侵】、【万箭齐发】和普通【杀】对你无效。你每次受到火焰伤害时,该伤害+1。',
tengjia1:'藤甲',
tengjia2:'藤甲',
tengjia3:'藤甲',
baiyin:'白银狮子',
baiyin_info:'锁定技你每次受到伤害时最多承受1点伤害防止多余的伤害当你失去装备区里的【白银狮子】时你回复1点体力。',
baiyin_skill:'白银狮子',

View File

@ -75,6 +75,14 @@ game.import('card',function(lib,game,ui,get,ai,_status){
if(typeof event.shanRequired!='number'||!event.shanRequired||event.shanRequired<0){
event.shanRequired=1;
}
var evt=event.getParent('useCard')
if(evt&&(typeof evt.baseDamage=='number'&&evt.baseDamage>0)){
event.baseDamage=evt.baseDamage;
}
else event.baseDamage=1;
if(typeof event.extraDamage!='number'){
event.extraDamage=0;
}
"step 1"
if(event.directHit){
event._result={bool:false};
@ -120,7 +128,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
}
"step 3"
if(result.bool==false&&!event.unhurt){
target.damage(get.nature(event.card));
target.damage(get.nature(event.card),event.baseDamage+event.extraDamage);
event.result={bool:true}
event.trigger('shaDamage');
}
@ -652,7 +660,8 @@ game.import('card',function(lib,game,ui,get,ai,_status){
cardcolor:'red',
reverseOrder:true,
filterTarget:function(card,player,target){
return target.hp<target.maxHp;
//return target.hp<target.maxHp;
return true;
},
content:function(){
target.recover();
@ -845,6 +854,11 @@ game.import('card',function(lib,game,ui,get,ai,_status){
content:function(){
"step 0"
if(event.turn==undefined) event.turn=target;
var evt=event.getParent('useCard')
if(typeof event.baseDamage!='number'||!evt.baseDamage){
evt.baseDamage=1;
event.evt=evt;
}
"step 1"
event.trigger('juedou');
"step 2"
@ -895,11 +909,13 @@ game.import('card',function(lib,game,ui,get,ai,_status){
event.goto(1);
}
else{
var num=1;
if(event.evt&&event.evt.baseDamage) num=event.evt.baseDamage;
if(event.turn==target){
target.damage();
target.damage(num);
}
else{
player.damage(target);
player.damage(target,num);
}
}
}
@ -1318,14 +1334,14 @@ game.import('card',function(lib,game,ui,get,ai,_status){
qinglong_guozhan:{
trigger:{player:'useCard'},
forced:true,
filter:function(){
return get.mode()=='guozhan';
filter:function(event,player){
return get.mode()=='guozhan'&&event.card.name=='sha';
},
content:function(){
var players=game.filterPlayer();
var players=trigger.targets;
for(var i=0;i<players.length;i++){
game.players[i].addTempSkill('qinglong_guozhan_mingzhi');
game.players[i].storage.qinglong_guozhan_mingzhi.add(trigger.card);
players[i].addTempSkill('qinglong_guozhan_mingzhi');
players[i].storage.qinglong_guozhan_mingzhi.add(trigger.card);
}
}
},
@ -1353,42 +1369,50 @@ game.import('card',function(lib,game,ui,get,ai,_status){
}
},
hanbing_skill:{
trigger:{player:'shaHit'},
direct:true,
trigger:{source:'damageBefore'},
//direct:true,
audio:true,
filter:function(event){
return event.target.getCards('he').length>0;
return event.card&&event.card.name=='sha'&&event.notLink()&&event.player.getCards('he').length>0;
},
check:function(event,player){
var target=event.player;
var eff=get.damageEffect(target,player,player);
if(get.attitude(player,target)>0){
if(eff>=0) return false;
return true;
}
if(eff<=0) return true;
if(target.hp==1) return false;
if(player.hasSkill('jiu')||player.hasSkill('tianxianjiu')||
player.hasSkill('luoyi2')||player.hasSkill('reluoyi2')) return false;
if(target.countCards('he')<2) return -1;
var num=0;
var cards=target.getCards('he');
for(var i=0;i<cards.length;i++){
if(get.value(cards[i])>6) num++;
}
if(num>=2) return true;
return false;
},
logTarget:"player",
content:function(){
"step 0"
player.discardPlayerCard(get.prompt('hanbing'),'he',trigger.target,Math.min(2,trigger.target.countCards('he')),function(button){
var trigger=_status.event.getTrigger();
var player=_status.event.player;
var eff=get.damageEffect(trigger.target,player,player);
if(get.attitude(player,trigger.target)>0){
if(eff>=0) return false;
return 10-get.buttonValue(button);
}
if(eff<=0) return get.buttonValue(button);
if(trigger.target.hp==1) return false;
if(player.hasSkill('jiu')||player.hasSkill('tianxianjiu')||
player.hasSkill('luoyi2')||player.hasSkill('reluoyi2')) return -1;
if(_status.event.dialog.buttons.length<2) return -1;
var num=0;
for(var i=0;i<_status.event.dialog.buttons.length;i++){
if(get.buttonValue(_status.event.dialog.buttons[i])>1.5) num++;
}
if(num>=2) return get.buttonValue(button)-1.5;
}).set('logSkill','hanbing_skill');
trigger.cancel();
"step 1"
if(result.bool){
trigger.untrigger();
trigger.unhurt=true;
if(trigger.player.countDiscardableCards(player,'he')){
player.line(trigger.player);
player.discardPlayerCard('he',trigger.player,true);
}
"step 2"
if(trigger.player.countDiscardableCards(player,'he')){
player.line(trigger.player);
player.discardPlayerCard('he',trigger.player,true);
}
}
},
renwang_skill:{
trigger:{target:'shaBefore'},
trigger:{target:'shaBegin'},
forced:true,
priority:6,
audio:true,
@ -1430,7 +1454,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
},
cixiong_skill:{
trigger:{player:'shaBegin'},
priority:5,
priority:7,
audio:true,
logTarget:'target',
filter:function(event,player){
@ -1599,26 +1623,26 @@ game.import('card',function(lib,game,ui,get,ai,_status){
}
},
qilin_skill:{
trigger:{player:'shaHit'},
trigger:{source:'damageBegin'},
filter:function(event,player){
return event.target.getCards('e',{subtype:['equip3','equip4']}).length>0
return event.card&&event.card.name=='sha'&&event.notLink()&&event.player.getCards('e',{subtype:['equip3','equip4']}).length>0
},
direct:true,
audio:true,
content:function(){
"step 0"
var att=(get.attitude(player,trigger.target)<=0);
var att=(get.attitude(player,trigger.player)<=0);
var next=player.chooseButton();
next.set('att',att);
next.set('createDialog',['选择要弃置的马',trigger.target.getCards('e',{subtype:['equip3','equip4']})]);
next.set('createDialog',['是否发动【麒麟弓】,弃置'+get.translation(trigger.player)+'的一张坐骑牌?',trigger.player.getCards('e',{subtype:['equip3','equip4']})]);
next.set('ai',function(button){
if(_status.event.att) return get.buttonValue(button);
return 0;
});
"step 1"
if(result.bool){
player.logSkill('qilin_skill');
trigger.target.discard(result.links[0]);
player.logSkill('qilin_skill',trigger.player);
trigger.player.discard(result.links[0]);
}
}
},
@ -2033,8 +2057,8 @@ game.import('card',function(lib,game,ui,get,ai,_status){
renwang_bg:'盾',
hanbing_skill:'寒冰剑',
renwang_skill:'仁王盾',
hanbing_info:'每当你使用杀命中目标后,你可以防止伤害,改为弃置目标两张牌',
hanbing_skill_info:'每当你使用杀命中目标后,你可以防止伤害,改为弃置目标两张牌',
hanbing_info:'当你使用杀造成伤害时,你可以防止此伤害,改为依次弃置目标两张牌',
hanbing_skill_info:'当你使用杀造成伤害时,你可以防止此伤害,改为依次弃置目标两张牌',
renwang_info:'黑色的杀对你无效',
renwang_skill_info:'黑色的杀对你无效',
sha_info:'出牌阶段,对攻击范围内的一名角色使用,令其打出一张【闪】或受到一点伤害。',

View File

@ -3,13 +3,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return {
name:'extra',
character:{
shen_guanyu:['male','shen',5,['wuhun','wushen'],['shu']],
shen_guanyu:['male','shen',5,['new_wuhun','wushen'],['shu']],
shen_zhaoyun:['male','shen',2,['xinjuejing','xinlonghun'],['shu']],
shen_zhugeliang:['male','shen',3,['qixing','kuangfeng','dawu'],['shu']],
shen_lvmeng:['male','shen',3,['shelie','gongxin'],['wu']],
shen_zhouyu:['male','shen',4,['yeyan','qinyin'],['wu']],
shen_simayi:['male','shen',4,['renjie','sbaiyin','lianpo'],['wei']],
shen_caocao:['male','shen',3,['guixin','feiying'],['wei']],
shen_caocao:['male','shen',3,['new_guixin','feiying'],['wei']],
shen_lvbu:['male','shen',5,['baonu','wumou','ol_wuqian','ol_shenfen'],['qun']],
"shen_liubei":["male","shen",6,["nzry_longnu","nzry_jieying"],["shu"]],
@ -27,6 +27,183 @@ game.import('character',function(lib,game,ui,get,ai,_status){
shen_ganning:"体力上限6",
},
skill:{
"new_wuhun":{
audio:"wuhun",
group:["new_wuhun_mark","new_wuhun_die"],
trigger:{
player:"damageEnd",
},
forced:true,
filter:function (event,player){
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');
},
contentx:function (){
"step 0"
source.line(player,{color:[255, 255, 0]});
source.logSkill('new_wuhun_die',player);
game.delay(2);
"step 1"
player.judge(function(card){
if(['tao','taoyuan'].contains(card.name)) return 10;
return -10;
});
"step 2"
if(!result.bool){
lib.element.player.die.apply(player,[]);
}
},
subSkill:{
die:{
audio:"wuhun",
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 num=0;
for(var i=0;i<game.players.length;i++){
var current=game.players[i];
if(current!=player&&current.storage.new_wuhun_mark&&current.storage.new_wuhun_mark>num){
num=current.storage.new_wuhun_mark;
}
}
player.chooseTarget(true,'请选择【武魂】的目标',function(card,player,target){
return target!=player&&target.storage.new_wuhun_mark==num;
}).ai=function(target){
return -get.attitude(_status.event.player,target);
};
"step 1"
if(result.bool&&result.targets&&result.targets.length){
var next=game.createEvent('new_wuhun',null,trigger.parent);
next.player=result.targets[0];
next.source=player;
next.setContent(lib.skill.new_wuhun.contentx);
}
},
sub:true,
},
mark:{
marktext:"魇",
intro:{
name:"梦魇",
content:"mark",
},
sub:true,
},
},
},
"new_guixin":{
audio:"guixin",
trigger:{
player:"damageEnd",
},
check:function (event,player){
if(player.isTurnedOver()||event.num>1) return true;
var num=game.countPlayer(function(current){
if(current.countCards('he')&&current!=player&&get.attitude(player,current)<=0){
return true;
}
if(current.countCards('j')&&current!=player&&get.attitude(player,current)>0){
return true;
}
});
return num>=2;
},
content:function (){
"step 0"
var targets=game.filterPlayer();
targets.remove(player);
targets.sort(lib.sort.seat);
event.targets=targets;
event.count=trigger.num;
"step 1"
event.num=0;
player.line(targets,'green');
player.chooseControl('手牌区','装备区','判定区').set('ai',function(){
return Math.floor(Math.random()*3);
}).set('prompt','请选择优先获得的区域');
"step 2"
event.range={
手牌区:['h','e','j'],
装备区:['e','h','j'],
判定区:['j','e','h'],
}[result.control||'手牌区'];
"step 3"
if(num<event.targets.length){
var target=event.targets[num];
var range=event.range;
for(var i=0;i<range.length;i++){
var cards=target.getCards(range[i]);
if(cards.length){
var card=cards.randomGet();
player.gain(card);
target.$giveAuto(card,player);
game.delay();
break;
}
}
event.num++;
event.redo();
}
"step 4"
player.turnOver();
"step 5"
event.count--;
if(event.count){
player.chooseBool(get.prompt2('new_guixin'));
}
else{
event.finish();
}
"step 6"
if(event.count&&result.bool){
event.goto(1);
}
},
ai:{
maixie:true,
"maixie_hp":true,
threaten:function (player,target){
if(target.hp==1) return 2.5;
return 1;
},
effect:{
target:function (card,player,target){
if(get.tag(card,'damage')){
if(player.hasSkillTag('jueqing',false,target)) return [1,-2];
if(target.hp==1) return 0.8;
if(target.isTurnedOver()) return [0,3];
var num=game.countPlayer(function(current){
if(current.countCards('he')&&current!=player&&get.attitude(player,current)<=0){
return true;
}
if(current.countCards('j')&&current!=player&&get.attitude(player,current)>0){
return true;
}
});
if(num>2) return [0,1];
if(num==2) return [0.5,1];
}
},
},
},
},
ol_shenfen:{
audio:2,
enable:'phaseUse',
@ -1973,9 +2150,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return player!=event.player&&event.player.isAlive()&&_status.currentPhase==player;
},
check:function(event,player){
var trigger=event.getTrigger();
var list=[];
var skills=trigger.player.skills.slice(0);
var skills=event.player.skills.slice(0);
for(var i=0;i<skills.length;i++){
var info=get.info(skills[i])
if(info!=undefined&&!info.charlotte&&(!info.unique||info.gainable)) list.push(skills[i]);
@ -2518,6 +2694,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
ol_wuqian_info:'出牌阶段你可以弃2枚“暴怒”标记并选择一名其他角色你视为拥有技能“无双”并令其防具无效直到回合结束。',
ol_shenfen:'神愤',
ol_shenfen_info:'出牌阶段你可以弃6枚“暴怒”标记并选择所有其他角色对这些角色各造成1点伤害然后这些角色先各弃置其装备区里的牌再各弃置四张手牌最后你将你的武将牌翻面。每阶段限一次。',
"new_wuhun":"武魂",
"new_wuhun_info":"锁定技当你受到伤害后伤害来源获得X个“梦魇”标记X为伤害点数。锁定技当你死亡时你选择一名“梦魇”标记数量最多的其他角色。你的死亡流程结算完成后该角色进行一次判定若判定结果不为【桃】或【桃园结义】则该角色立刻死亡。",
"new_guixin":"归心",
"new_guixin_info":"当你受到1点伤害后你可以随机获得每名其他角色区域里的一张牌然后你翻面",
},
};
});

View File

@ -9,6 +9,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
fazheng:['male','shu',3,['enyuan','xuanhuo']],
liru:['male','qun',3,['juece','mieji','fencheng']],
yujin:['male','wei',4,['yizhong']],
xin_yujin:['male','wei',4,['jieyue']],
lusu:['male','wu',3,['haoshi','dimeng']],
yuanshao:['male','qun',4,['luanji','xueyi'],['zhu']],
old_zhonghui:['male','wei',3,['zzhenggong','zquanji','zbaijiang']],

View File

@ -305,8 +305,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
player.chooseTarget(get.prompt('drlt_zhenggu'),function(card,player,target){
return target!=player;
}).ai=function(target){
if(player.countCards('h')>target.countCards('h')) return get.attitude(player,target);
if(player.countCards('h')<target.countCards('h')) return -get.attitude(player,target);
var player=_status.event.player;
var num=(Math.min(5,player.countCards('h'))-target.countCards('h'));
var att=get.attitude(player,target);
return num*att;
};
"step 1"
if(result.bool){
@ -336,7 +338,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
player.removeSkill("drlt_zhenggu2");
var pl=player.storage.drlt_zhenggu;
if(pl.isAlive()){
var num=pl.countCards('h');
var num=Math.min(5,pl.countCards('h'));
var num1=0;
if(num-player.countCards('h')>0) num1=num-player.countCards('h');
if(num-player.countCards('h')<0) num1=num-player.countCards('h');
@ -354,8 +356,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(pl.isAlive()){
var num=pl.countCards('h');
var num1=0;
if(player.countCards('h')-num>0) num1=player.countCards('h')-num;
if(player.countCards('h')-num<0) num1=player.countCards('h')-num;
var num2=Math.min(5,player.countCards('h'));
if(num2-num>0) num1=num2-num;
if(num2-num<0) num1=num2-num;
if(num1<0) pl.chooseToDiscard('h',-num1,true);
if(num1>0) pl.draw(num1);
}
@ -2012,6 +2015,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return event.target.countCards('he')>0;
},
direct:true,
priority:8,
content:function(){
'step 0'
player.discardPlayerCard(trigger.target,get.prompt('jianchu',trigger.target)).set('ai',function(button){
@ -2478,23 +2482,17 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
content:function(){
if(trigger.target.countCards('h')<=player.countCards('h')) trigger.directHit=true;
if(trigger.target.hp>=player.hp) player.addTempSkill('xinliegong2','shaAfter');
if(trigger.target.hp>=player.hp){
if(typeof trigger.extraDamage!='number'){
trigger.extraDamage=0;
}
trigger.extraDamage++;
};
},
ai:{
threaten:0.5
}
},
xinliegong2:{
trigger:{source:'damageBegin'},
filter:function(event){
return event.card&&event.card.name=='sha'&&event.notLink();
},
forced:true,
audio:false,
content:function(){
trigger.num++;
}
},
tiaoxin:{
audio:4,
enable:'phaseUse',
@ -6375,7 +6373,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
"drlt_huairou":"怀柔",
"drlt_huairou_info":"出牌阶段,你可以重铸装备牌",
"drlt_zhenggu":"镇骨",
"drlt_zhenggu_info":"结束阶段,你可以选择一名其他角色,你的回合结束后和该角色的下个回合结束时,其将手牌摸至或弃至与你手牌数相同",
"drlt_zhenggu_info":"结束阶段,你可以选择一名其他角色,你的回合结束后和该角色的下个回合结束时,其将手牌摸至或弃至X张。X为你的手牌数且至多为5",
"drlt_zhenrong":"徵荣",
"drlt_zhenrong_info":"当你对其他角色造成伤害后,若其手牌比你多,你可以将其一张牌置于你的武将牌上,称为“荣”",
"drlt_hongju":"鸿举",

View File

@ -376,7 +376,394 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
}
}
}
},
"wolong_card":{
type:"takaramono",
fullskin:true,
derivation:"pangdegong",
},
"fengchu_card":{
type:"takaramono",
fullskin:true,
derivation:"pangdegong",
},
"xuanjian_card":{
fullskin:true,
type:"takaramono",
derivation:"pangdegong",
},
"shuijing_card":{
fullskin:true,
type:"takaramono",
derivation:"pangdegong",
},
"rewrite_bagua":{
derivation:"majun",
cardimage:"bagua",
fullskin:true,
type:"equip",
subtype:"equip2",
ai:{
basic:{
equipValue:7.5,
order:function (card,player){
if(player&&player.hasSkillTag('reverseEquip')){
return 8.5-get.equipValue(card,player)/20;
}
else{
return 8+get.equipValue(card,player)/20;
}
},
useful:2,
value:function (card,player){
var value=0;
var info=get.info(card);
var current=player.getEquip(info.subtype);
if(current&&card!=current){
value=get.value(current,player);
}
var equipValue=info.ai.equipValue;
if(equipValue==undefined){
equipValue=info.ai.basic.equipValue;
}
if(typeof equipValue=='function') return equipValue(card,player)-value;
if(typeof equipValue!='number') equipValue=0;
return equipValue-value;
},
},
result:{
target:function (player,target){
return get.equipResult(player,target,name);
},
},
},
skills:["rw_bagua_skill"],
enable:true,
selectTarget:-1,
filterTarget:function (card,player,target){
return target==player;
},
modTarget:true,
allowMultiple:false,
content:function (){
target.equip(card);
},
toself:true,
},
"rewrite_baiyin":{
derivation:"majun",
fullskin:true,
cardimage:"baiyin",
type:"equip",
subtype:"equip2",
onLose:function (){
player.recover();
player.draw(2);
},
skills:["rw_baiyin_skill"],
tag:{
recover:1,
},
ai:{
order:9.5,
equipValue:function (card,player){
if(player.hp==player.maxHp) return 5;
if(player.countCards('h','baiyin')) return 6;
return 0;
},
basic:{
equipValue:5,
order:function (card,player){
if(player&&player.hasSkillTag('reverseEquip')){
return 8.5-get.equipValue(card,player)/20;
}
else{
return 8+get.equipValue(card,player)/20;
}
},
useful:2,
value:function (card,player){
var value=0;
var info=get.info(card);
var current=player.getEquip(info.subtype);
if(current&&card!=current){
value=get.value(current,player);
}
var equipValue=info.ai.equipValue;
if(equipValue==undefined){
equipValue=info.ai.basic.equipValue;
}
if(typeof equipValue=='function') return equipValue(card,player)-value;
if(typeof equipValue!='number') equipValue=0;
return equipValue-value;
},
},
result:{
target:function (player,target){
return get.equipResult(player,target,name);
},
},
},
enable:true,
selectTarget:-1,
filterTarget:function (card,player,target){
return target==player;
},
modTarget:true,
allowMultiple:false,
content:function (){
target.equip(card);
},
toself:true,
},
"rewrite_lanyinjia":{
derivation:"majun",
cardimage:"lanyinjia",
fullskin:true,
type:"equip",
subtype:"equip2",
skills:["rw_lanyinjia","lanyinjia2"],
ai:{
equipValue:6,
basic:{
order:function (card,player){
if(player&&player.hasSkillTag('reverseEquip')){
return 8.5-get.equipValue(card,player)/20;
}
else{
return 8+get.equipValue(card,player)/20;
}
},
useful:2,
equipValue:1,
value:function (card,player){
var value=0;
var info=get.info(card);
var current=player.getEquip(info.subtype);
if(current&&card!=current){
value=get.value(current,player);
}
var equipValue=info.ai.equipValue;
if(equipValue==undefined){
equipValue=info.ai.basic.equipValue;
}
if(typeof equipValue=='function') return equipValue(card,player)-value;
if(typeof equipValue!='number') equipValue=0;
return equipValue-value;
},
},
result:{
target:function (player,target){
return get.equipResult(player,target,name);
},
},
},
enable:true,
selectTarget:-1,
filterTarget:function (card,player,target){
return target==player;
},
modTarget:true,
allowMultiple:false,
content:function (){
target.equip(card);
},
toself:true,
},
"rewrite_renwang":{
derivation:"majun",
cardimage:"renwang",
fullskin:true,
type:"equip",
subtype:"equip2",
skills:["rw_renwang_skill"],
ai:{
basic:{
equipValue:7.5,
order:function (card,player){
if(player&&player.hasSkillTag('reverseEquip')){
return 8.5-get.equipValue(card,player)/20;
}
else{
return 8+get.equipValue(card,player)/20;
}
},
useful:2,
value:function (card,player){
var value=0;
var info=get.info(card);
var current=player.getEquip(info.subtype);
if(current&&card!=current){
value=get.value(current,player);
}
var equipValue=info.ai.equipValue;
if(equipValue==undefined){
equipValue=info.ai.basic.equipValue;
}
if(typeof equipValue=='function') return equipValue(card,player)-value;
if(typeof equipValue!='number') equipValue=0;
return equipValue-value;
},
},
result:{
target:function (player,target){
return get.equipResult(player,target,name);
},
},
},
enable:true,
selectTarget:-1,
filterTarget:function (card,player,target){
return target==player;
},
modTarget:true,
allowMultiple:false,
content:function (){
target.equip(card);
},
toself:true,
},
"rewrite_tengjia":{
derivation:"majun",
cardimage:"tengjia",
fullskin:true,
type:"equip",
subtype:"equip2",
cardnature:"fire",
ai:{
equipValue:function (card,player){
if(player.hasSkillTag('maixie')&&player.hp>1) return 0;
if(player.hasSkillTag('noDirectDamage')) return 10;
if(get.damageEffect(player,player,player,'fire')>=0) return 10;
var num=3-game.countPlayer(function(current){
return get.attitude(current,player)<0;
});
if(player.hp==1) num+=4;
if(player.hp==2) num+=1;
if(player.hp==3) num--;
if(player.hp>3) num-=4;
return num;
},
basic:{
equipValue:3,
order:function (card,player){
if(player&&player.hasSkillTag('reverseEquip')){
return 8.5-get.equipValue(card,player)/20;
}
else{
return 8+get.equipValue(card,player)/20;
}
},
useful:2,
value:function (card,player){
var value=0;
var info=get.info(card);
var current=player.getEquip(info.subtype);
if(current&&card!=current){
value=get.value(current,player);
}
var equipValue=info.ai.equipValue;
if(equipValue==undefined){
equipValue=info.ai.basic.equipValue;
}
if(typeof equipValue=='function') return equipValue(card,player)-value;
if(typeof equipValue!='number') equipValue=0;
return equipValue-value;
},
},
result:{
target:function (player,target){
return get.equipResult(player,target,name);
},
},
},
skills:["rw_tengjia1","rw_tengjia2","rw_tengjia3","rw_tengjia4"],
enable:true,
selectTarget:-1,
filterTarget:function (card,player,target){
return target==player;
},
modTarget:true,
allowMultiple:false,
content:function (){
target.equip(card);
},
toself:true,
},
"rewrite_zhuge":{
derivation:"majun",
cardimage:"zhuge",
distance:{
attackFrom:-2,
},
fullskin:true,
type:"equip",
subtype:"equip1",
ai:{
equipValue:function (card,player){
if(!game.hasPlayer(function(current){
return player.canUse('sha',current)&&get.effect(current,{name:'sha'},player,player)<0;
})){
return 1;
}
if(player.hasSha()&&_status.currentPhase==player){
if(player.getEquip('zhuge')||player.getCardUsable('sha')==0){
return 10;
}
}
var num=player.countCards('h','sha');
if(num>1) return 6+num;
return 3+num;
},
basic:{
equipValue:5,
order:function (card,player){
if(player&&player.hasSkillTag('reverseEquip')){
return 8.5-get.equipValue(card,player)/20;
}
else{
return 8+get.equipValue(card,player)/20;
}
},
useful:2,
value:function (card,player){
var value=0;
var info=get.info(card);
var current=player.getEquip(info.subtype);
if(current&&card!=current){
value=get.value(current,player);
}
var equipValue=info.ai.equipValue;
if(equipValue==undefined){
equipValue=info.ai.basic.equipValue;
}
if(typeof equipValue=='function') return equipValue(card,player)-value;
if(typeof equipValue!='number') equipValue=0;
return equipValue-value;
},
},
tag:{
valueswap:1,
},
result:{
target:function (player,target){
return get.equipResult(player,target,name);
},
},
},
skills:["zhuge_skill"],
enable:true,
selectTarget:-1,
filterTarget:function (card,player,target){
return target==player;
},
modTarget:true,
allowMultiple:false,
content:function (){
target.equip(card);
},
toself:true,
},
},
skill:{
//OL马超
@ -7445,7 +7832,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
audio:2,
trigger:{player:'useCard'},
frequent:true,
usable:3,
//usable:3,
filter:function(event,player){
if(!event.cards||event.cards.length!=1) return false;
if(_status.currentPhase!=player) return false;
@ -11674,7 +12061,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
yingjian_info:'准备阶段,你可以视为使用一张无视距离的杀',
xunzhi_info:'准备阶段开始时若你的上家和下家与你的体力值均不相等你可以失去1点体力。若如此做你的手牌上限+2',
yawang_info:'锁定技摸牌阶段开始时你改为摸x张牌然后你于出牌阶段内至多使用x张牌x为与你体力值相等的角色数',
fenyin_info:'你的回合内,当你使用牌时,若此牌与你于此回合内使用的上一张牌颜色不同,则你可以摸一张牌每回合最多发动3次',
fenyin_info:'你的回合内,当你使用牌时,若此牌与你于此回合内使用的上一张牌颜色不同,则你可以摸一张牌',
fuji_info:'当一名角色造成雷电伤害时,你可以令其进行一次判定,若结果为黑色,此伤害+1若结果为红色该角色获得此牌。',
fulu_info:'你可以将【杀】当雷【杀】使用。',
jilei_info:'每当你受到有来源的伤害时,你可以选择一种牌的类别,令伤害来源不能使用、打出或弃置其此类别的手牌,直到回合结束',

View File

@ -3928,37 +3928,22 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
},
"kannan_eff":{
subSkill:{
remove:{
sub:true,
trigger:{
player:"useCardAfter",
},
priority:2,
filter:function (event){
return (event.card&&(event.card.name=='sha'));
},
forced:true,
popup:false,
audio:false,
content:function (){
player.removeSkill('kannan_eff');
},
},
},
mark:true,
intro:{
content:"下一张杀的伤害基数+#",
},
trigger:{
source:"damageBegin",
player:"useCard",
},
filter:function (event){
return event.card&&event.card.name=='sha'&&event.notLink();
return event.card&&event.card.name=='sha';
},
forced:true,
content:function (){
trigger.num+=player.storage.kannan_eff;
"step 0"
if(!trigger.baseDamage) trigger.baseDamage=1;
trigger.baseDamage+=player.storage.kannan_eff;
"step 1"
player.removeSkill('kannan_eff');
},
init:function (player){
@ -3970,7 +3955,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
ai:{
damageBonus:true,
},
group:"kannan_eff_remove",
},
"xinfu_tushe":{
audio:2,
@ -5470,7 +5454,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
"rw_renwang_skill":{
inherit:"renwang_skill",
trigger:{
target:"shaBefore",
target:"shaBegin",
},
forced:true,
priority:6,
@ -5515,7 +5499,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
})) return false;
if(event.card.name=='nanman') return true;
if(event.card.name=='wanjian') return true;
if(event.card.name=='sha'&&!event.card.nature) return true;
},
content:function (){
trigger.cancel();
@ -5586,6 +5569,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
},
},
"rw_tengjia4":{
inherit:"tengjia3",
},
},
translate:{
xinghuoliaoyuan:'星火燎原',
@ -5855,11 +5841,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
"rw_renwang_skill":"仁王金刚盾",
"rw_renwang_skill_info":"有花色且不为方片的杀对你无效。",
"rw_tengjia1":"桐油百炼甲",
"rw_tengjia1_info":"定技,【南蛮入侵】、【万箭齐发】和普通【杀】对你无效。你每次受到火焰伤害时,该伤害+1。你不会被横置。",
"rw_tengjia1_info":"定技,【南蛮入侵】、【万箭齐发】和普通【杀】对你无效。你每次受到火焰伤害时,该伤害+1。你不会被横置。",
"rw_tengjia2":"桐油百炼甲",
"rw_tengjia2_info":"定技,【南蛮入侵】、【万箭齐发】和普通【杀】对你无效。你每次受到火焰伤害时,该伤害+1。你不会被横置。",
"rw_tengjia2_info":"定技,【南蛮入侵】、【万箭齐发】和普通【杀】对你无效。你每次受到火焰伤害时,该伤害+1。你不会被横置。",
"rw_tengjia3":"桐油百炼甲",
"rw_tengjia3_info":"定技,【南蛮入侵】、【万箭齐发】和普通【杀】对你无效。你每次受到火焰伤害时,该伤害+1。你不会被横置。",
"rw_tengjia3_info":"锁定技,【南蛮入侵】、【万箭齐发】和普通【杀】对你无效。你每次受到火焰伤害时,该伤害+1。你不会被横置。",
"rw_tengjia4":"桐油百炼甲",
"rewrite_bagua":"先天八卦阵",
"rewrite_bagua_info":"每当你需要使用或打出一张【闪】时,你可以进行一次判定,若判定结果不为黑桃,视为你使用或打出了一张【闪】。",
"rewrite_baiyin":"玉照狮子盔",
@ -5874,10 +5861,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
"rewrite_tengjia_info":"锁定技,【南蛮入侵】、【万箭齐发】和普通【杀】对你无效。你每次受到火焰伤害时,该伤害+1。你不会被横置。",
"rewrite_zhuge":"元戎精械弩",
"rewrite_zhuge_info":"你于出牌阶段内使用【杀】无次数限制。",
"rewrite_huxinjing":"大号护心镜",
"rewrite_huxinjing_info":"当你受到伤害时,若伤害值大于或等于你的体力值,则你可以将【大号护心镜】置入弃牌堆,然后防止此伤害。当你将【大号护心镜】连横时,你多摸一张牌。",
"rewrite_taipingyaoshu":"太平全术",
"rewrite_taipingyaoshu_info":"锁定技,防止你受到的所有属性伤害;全场每有一名与你势力相同的角色存活,所有此势力角色的手牌上限便+1当你失去装备区里的【太平全术】时你摸两张牌。",
takaramono:"宝物",
"wolong_card":"卧龙",
"wolong_card_info":"对1名角色造成1点火焰伤害。若场上有存活的诸葛亮(火)则改为对至多2名角色各造成1点火焰伤害。",
@ -5888,385 +5871,5 @@ game.import('character',function(lib,game,ui,get,ai,_status){
"shuijing_card":"水镜",
"shuijing_card_info":"将1名角色装备区内的防具移动到另1角色对应区域。若场上有存活的司马徽则改为将1名角色装备区内的1件装备移动到另1角色对应区域。",
},
//部分武将用到的衍生卡牌
card:{
"wolong_card":{
type:"takaramono",
fullskin:true,
},
"fengchu_card":{
type:"takaramono",
fullskin:true,
},
"xuanjian_card":{
fullskin:true,
type:"takaramono",
},
"shuijing_card":{
fullskin:true,
type:"takaramono",
},
"rewrite_bagua":{
cardimage:"bagua",
fullskin:true,
type:"equip",
subtype:"equip2",
ai:{
basic:{
equipValue:7.5,
order:function (card,player){
if(player&&player.hasSkillTag('reverseEquip')){
return 8.5-get.equipValue(card,player)/20;
}
else{
return 8+get.equipValue(card,player)/20;
}
},
useful:2,
value:function (card,player){
var value=0;
var info=get.info(card);
var current=player.getEquip(info.subtype);
if(current&&card!=current){
value=get.value(current,player);
}
var equipValue=info.ai.equipValue;
if(equipValue==undefined){
equipValue=info.ai.basic.equipValue;
}
if(typeof equipValue=='function') return equipValue(card,player)-value;
if(typeof equipValue!='number') equipValue=0;
return equipValue-value;
},
},
result:{
target:function (player,target){
return get.equipResult(player,target,name);
},
},
},
skills:["rw_bagua_skill"],
enable:true,
selectTarget:-1,
filterTarget:function (card,player,target){
return target==player;
},
modTarget:true,
allowMultiple:false,
content:function (){
target.equip(card);
},
toself:true,
},
"rewrite_baiyin":{
fullskin:true,
cardimage:"baiyin",
type:"equip",
subtype:"equip2",
onLose:function (){
player.recover();
player.draw(2);
},
skills:["rw_baiyin_skill"],
tag:{
recover:1,
},
ai:{
order:9.5,
equipValue:function (card,player){
if(player.hp==player.maxHp) return 5;
if(player.countCards('h','baiyin')) return 6;
return 0;
},
basic:{
equipValue:5,
order:function (card,player){
if(player&&player.hasSkillTag('reverseEquip')){
return 8.5-get.equipValue(card,player)/20;
}
else{
return 8+get.equipValue(card,player)/20;
}
},
useful:2,
value:function (card,player){
var value=0;
var info=get.info(card);
var current=player.getEquip(info.subtype);
if(current&&card!=current){
value=get.value(current,player);
}
var equipValue=info.ai.equipValue;
if(equipValue==undefined){
equipValue=info.ai.basic.equipValue;
}
if(typeof equipValue=='function') return equipValue(card,player)-value;
if(typeof equipValue!='number') equipValue=0;
return equipValue-value;
},
},
result:{
target:function (player,target){
return get.equipResult(player,target,name);
},
},
},
enable:true,
selectTarget:-1,
filterTarget:function (card,player,target){
return target==player;
},
modTarget:true,
allowMultiple:false,
content:function (){
target.equip(card);
},
toself:true,
},
"rewrite_lanyinjia":{
cardimage:"lanyinjia",
fullskin:true,
type:"equip",
subtype:"equip2",
skills:["rw_lanyinjia","lanyinjia2"],
ai:{
equipValue:6,
basic:{
order:function (card,player){
if(player&&player.hasSkillTag('reverseEquip')){
return 8.5-get.equipValue(card,player)/20;
}
else{
return 8+get.equipValue(card,player)/20;
}
},
useful:2,
equipValue:1,
value:function (card,player){
var value=0;
var info=get.info(card);
var current=player.getEquip(info.subtype);
if(current&&card!=current){
value=get.value(current,player);
}
var equipValue=info.ai.equipValue;
if(equipValue==undefined){
equipValue=info.ai.basic.equipValue;
}
if(typeof equipValue=='function') return equipValue(card,player)-value;
if(typeof equipValue!='number') equipValue=0;
return equipValue-value;
},
},
result:{
target:function (player,target){
return get.equipResult(player,target,name);
},
},
},
enable:true,
selectTarget:-1,
filterTarget:function (card,player,target){
return target==player;
},
modTarget:true,
allowMultiple:false,
content:function (){
target.equip(card);
},
toself:true,
},
"rewrite_renwang":{
cardimage:"renwang",
fullskin:true,
type:"equip",
subtype:"equip2",
skills:["rw_renwang_skill"],
ai:{
basic:{
equipValue:7.5,
order:function (card,player){
if(player&&player.hasSkillTag('reverseEquip')){
return 8.5-get.equipValue(card,player)/20;
}
else{
return 8+get.equipValue(card,player)/20;
}
},
useful:2,
value:function (card,player){
var value=0;
var info=get.info(card);
var current=player.getEquip(info.subtype);
if(current&&card!=current){
value=get.value(current,player);
}
var equipValue=info.ai.equipValue;
if(equipValue==undefined){
equipValue=info.ai.basic.equipValue;
}
if(typeof equipValue=='function') return equipValue(card,player)-value;
if(typeof equipValue!='number') equipValue=0;
return equipValue-value;
},
},
result:{
target:function (player,target){
return get.equipResult(player,target,name);
},
},
},
enable:true,
selectTarget:-1,
filterTarget:function (card,player,target){
return target==player;
},
modTarget:true,
allowMultiple:false,
content:function (){
target.equip(card);
},
toself:true,
},
"rewrite_tengjia":{
cardimage:"tengjia",
fullskin:true,
type:"equip",
subtype:"equip2",
cardnature:"fire",
ai:{
equipValue:function (card,player){
if(player.hasSkillTag('maixie')&&player.hp>1) return 0;
if(player.hasSkillTag('noDirectDamage')) return 10;
if(get.damageEffect(player,player,player,'fire')>=0) return 10;
var num=3-game.countPlayer(function(current){
return get.attitude(current,player)<0;
});
if(player.hp==1) num+=4;
if(player.hp==2) num+=1;
if(player.hp==3) num--;
if(player.hp>3) num-=4;
return num;
},
basic:{
equipValue:3,
order:function (card,player){
if(player&&player.hasSkillTag('reverseEquip')){
return 8.5-get.equipValue(card,player)/20;
}
else{
return 8+get.equipValue(card,player)/20;
}
},
useful:2,
value:function (card,player){
var value=0;
var info=get.info(card);
var current=player.getEquip(info.subtype);
if(current&&card!=current){
value=get.value(current,player);
}
var equipValue=info.ai.equipValue;
if(equipValue==undefined){
equipValue=info.ai.basic.equipValue;
}
if(typeof equipValue=='function') return equipValue(card,player)-value;
if(typeof equipValue!='number') equipValue=0;
return equipValue-value;
},
},
result:{
target:function (player,target){
return get.equipResult(player,target,name);
},
},
},
skills:["rw_tengjia1","rw_tengjia2","rw_tengjia3"],
enable:true,
selectTarget:-1,
filterTarget:function (card,player,target){
return target==player;
},
modTarget:true,
allowMultiple:false,
content:function (){
target.equip(card);
},
toself:true,
},
"rewrite_zhuge":{
cardimage:"zhuge",
distance:{
attackFrom:-2,
},
fullskin:true,
type:"equip",
subtype:"equip1",
ai:{
equipValue:function (card,player){
if(!game.hasPlayer(function(current){
return player.canUse('sha',current)&&get.effect(current,{name:'sha'},player,player)<0;
})){
return 1;
}
if(player.hasSha()&&_status.currentPhase==player){
if(player.getEquip('zhuge')||player.getCardUsable('sha')==0){
return 10;
}
}
var num=player.countCards('h','sha');
if(num>1) return 6+num;
return 3+num;
},
basic:{
equipValue:5,
order:function (card,player){
if(player&&player.hasSkillTag('reverseEquip')){
return 8.5-get.equipValue(card,player)/20;
}
else{
return 8+get.equipValue(card,player)/20;
}
},
useful:2,
value:function (card,player){
var value=0;
var info=get.info(card);
var current=player.getEquip(info.subtype);
if(current&&card!=current){
value=get.value(current,player);
}
var equipValue=info.ai.equipValue;
if(equipValue==undefined){
equipValue=info.ai.basic.equipValue;
}
if(typeof equipValue=='function') return equipValue(card,player)-value;
if(typeof equipValue!='number') equipValue=0;
return equipValue-value;
},
},
tag:{
valueswap:1,
},
result:{
target:function (player,target){
return get.equipResult(player,target,name);
},
},
},
skills:["zhuge_skill"],
enable:true,
selectTarget:-1,
filterTarget:function (card,player,target){
return target==player;
},
modTarget:true,
allowMultiple:false,
content:function (){
target.equip(card);
},
toself:true,
},
},
};
});

View File

@ -60,7 +60,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
gongsunyuan:['male','qun',4,['huaiyi']],
guotufengji:['male','qun',3,['jigong','shifei']],
xin_yujin:['male','wei',4,['jieyue']],
xin_liru:['male','qun',3,['xinjuece','xinmieji','xinfencheng']],
guohuanghou:['female','wei',3,['jiaozhao','danxin']],
@ -84,6 +83,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
xuezong:['male','wu',3,['funan','jiexun']],
old_huaxiong:['male','qun',6,['shiyong']],
"re_yujin":["male","wei",4,["zhenjun"],[]],
},
characterIntro:{
caozhi:'字子建,沛国谯人,三国曹魏著名文学家,建安文学代表人物。魏武帝曹操之子,魏文帝曹丕之弟,生前曾为陈王,去世后谥号“思”,因此又称陈思王。南朝宋文学家谢灵运更有“天下才有一石,曹子建独占八斗”的评价。王士祯尝论汉魏以来二千年间诗家堪称“仙才”者,曹植、李白、苏轼三人耳。',
@ -178,6 +178,56 @@ game.import('character',function(lib,game,ui,get,ai,_status){
liuchen:['liushan'],
},
skill:{
zhenjun:{
audio:"jieyue",
trigger:{
player:"phaseBegin",
},
filter:function (event,player){
return game.hasPlayer(function(current){
return current.countCards('h')>current.hp;
});
},
direct:true,
content:function (){
'step 0'
player.chooseTarget(get.prompt2('zhenjun'),function(card,player,target){
return target.countCards('h')>target.hp;
}).ai=function(target){
return -get.attitude(_status.event.player,target)*(target.countCards('e')+1);
};
'step 1'
if(result.bool){
var target=result.targets[0];
event.target=target;
var num=target.countCards('h')-target.hp;
player.line(target,'thunder');
player.logSkill('zhenjun',target);
player.discardPlayerCard(num,target,true);
}
'step 2'
if(result.cards&&result.cards.length){
event.num=0;
for(var i=0;i<result.cards.length;i++){
if(get.type(result.cards[i])!='equip'){
event.num++;
}
}
if(event.num>0){
var prompt='弃置'+get.cnNumber(event.num)+'张牌,或令'+get.translation(event.target)+'摸等量的牌';
player.chooseToDiscard(event.num,prompt,'he').ai=function(){
return 5-get.value(card);
}
}
else event.finish();
}
else event.finish();
'step 3'
if(!result.bool){
event.target.draw(event.num);
}
},
},
fenli:{
group:['fenli_draw','fenli_use','fenli_discard'],
subSkill:{
@ -562,7 +612,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return get.effect(player,event.card,event.player,player)<0;
},
filter:function(event,player){
return player.canCompare(event.target);
return player.canCompare(event.player);
},
logTarget:'player',
content:function(){
@ -1486,7 +1536,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
"step 3"
if(event.target.getCards('h').contains(event.card)){
event.target.chooseControlList('问卦','将'+get.translation(event.card)+'置于牌堆顶','将'+get.translation(event.card)+'置于牌堆底',true,function(){
event.target.chooseControlList('问卦','将'+get.translation(event.card)+'置于牌堆顶','将'+get.translation(event.card)+'置于牌堆底',event.target==player,function(){
if(get.attitude(event.target,player)<0) return 2;
return 1;
});
}
@ -1494,14 +1545,17 @@ game.import('character',function(lib,game,ui,get,ai,_status){
event.finish();
}
"step 4"
event.target.lose(event.card,ui.special);
event.index=result.index;
if(event.index==0||event.index==1){
event.target.lose(event.card,ui.special);
game.broadcastAll(function(player){
var cardx=ui.create.card();
cardx.classList.add('infohidden');
cardx.classList.add('infoflip');
player.$throw(cardx,1000,'nobroadcast');
},event.target);
}
else event.finish();
"step 5"
game.delay();
"step 6"
@ -1510,34 +1564,24 @@ game.import('character',function(lib,game,ui,get,ai,_status){
game.log(event.target,'将获得的牌置于牌堆底');
ui.cardPile.appendChild(event.card);
if(ui.cardPile.childElementCount==1||player==event.target){
event.togain=[ui.cardPile.firstChild];
ui.cardPile.firstChild.remove();
player.draw();
}
else{
event.togain=get.cards(2);
player.draw();
target.draw();
}
}
else{
else if(event.index==0){
game.log(player,'将获得的牌置于牌堆顶');
ui.cardPile.insertBefore(event.card,ui.cardPile.firstChild);
if(ui.cardPile.childElementCount==1||player==event.target){
event.togain=[ui.cardPile.lastChild];
ui.cardPile.lastChild.remove();
player.draw('bottom');
}
else{
event.togain=[ui.cardPile.lastChild,ui.cardPile.lastChild.previousSibling];
ui.cardPile.lastChild.remove();
ui.cardPile.lastChild.remove();
player.draw('bottom');
target.draw('bottom');
}
}
if(event.togain.length){
player.gain(event.togain.shift());
player.$draw();
}
if(event.togain.length){
event.target.gain(event.togain.shift());
event.target.$draw();
}
},
ai:{
order:2,
@ -7781,12 +7825,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
shangshi:{
audio:2,
trigger:{player:['loseEnd','changeHp']},
forced:true,
frequent:true,
filter:function(event,player){
return (player.countCards('h')<Math.min(3,player.maxHp-player.hp));
return (player.countCards('h')<(player.maxHp-player.hp));
},
content:function(){
player.draw(Math.min(3,player.maxHp-player.hp)-player.countCards('h'));
player.draw(player.maxHp-player.hp-player.countCards('h'));
},
ai:{
noh:true,
@ -8800,13 +8844,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
content:function(){
"step 0"
var next=player.chooseToDiscard(get.prompt('yuce'));
next.logSkill='yuce';
var next=player.chooseCard(get.prompt('yuce'));
next.set('ai',function(card){
return 7-get.value(card);
if(get.type(card)=='basic') return 1;
return get.value(card);
});
"step 1"
if(result.bool){
player.showCards(result.cards);
var type=get.type(result.cards[0],'trick');
if(trigger.source){
trigger.source.chooseToDiscard('弃置一张'+get.translation(type)+'牌或令'+get.translation(player)+'回复一点体力',function(card){
@ -8830,7 +8875,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
player.recover();
}
else if(result.bool){
player.draw();
//player.draw();
}
else{
player.recover();
@ -9369,7 +9414,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
xunyou:'荀攸',
liubiao:'刘表',
zhuran:'朱然',
yujin:'于禁',
yujin:'毅重于禁',
masu:'旧马谡',
xin_masu:'马谡',
fazheng:'旧法正',
@ -9418,7 +9463,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
hanhaoshihuan:'韩浩史涣',
chengpu:'程普',
gaoshun:'高顺',
xin_yujin:'于禁',
xin_yujin:'节钺于禁',
xin_liru:'李儒',
guohuanghou:'郭皇后',
liuyu:'刘虞',
@ -9436,7 +9481,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
jikang:'嵇康',
qinmi:'秦宓',
caiyong:'蔡邕',
"re_yujin":"于禁",
zhenjun:"镇军",
"zhenjun_info":"准备阶段你可以弃置一名手牌数多于体力值的角色的X张牌X为其手牌数和体力值之差然后选择一项1.你弃置等同于其中非装备牌数量的牌2.其摸等量的牌。",
fenli:'奋励',
fenli_info:'若你的手牌数为全场最多,你可以跳过摸牌阶段;若你的体力值为全场最多,你可以跳过出牌阶段;若你的装备区里有牌且数量为全场最多,你可以跳过弃牌阶段。',
pingkou:'平寇',
@ -9661,7 +9709,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
fuhun2:'父魂',
fuhun_info:'你可以将两张手牌当杀使用或打出;出牌阶段,若你以此法使用的杀造成了伤害,你获得技能“武圣”、“咆哮”直到回合结束。',
yuce:'御策',
yuce_info:'每当你受到一次伤害,可以弃置一张手牌,并令伤害来源选择一项:弃置一张相同类型的手牌并令你摸一张牌,或令你回复一点体力',
yuce_info:'当你受到伤害后,你可以展示一张手牌,并令伤害来源选择一项:弃置一张相同类型的手牌,或令你回复一点体力',
xiansi:'陷嗣',
xiansi_bg:'逆',
xiansi2:'陷嗣',
@ -9795,7 +9843,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
luoying_info:'当其他角色的梅花牌,因弃牌或判定而进入弃牌堆时,你可以获得之。',
jiushi_info:'若你的武将牌正面朝上,你可以(在合理的时机)将你的武将牌翻面来视为使用一张【酒】;当你的武将牌背面朝上时你受到伤害,你可在伤害结算后将之翻回正面。',
jueqing_info:'锁定技,你即将造成的伤害均视为失去体力。',
shangshi_info:'锁定技,当你的手牌数小于X时你立即将手牌补至X张X为你已损失的体力值且最多为3',
shangshi_info:'当你的手牌数小于X时可以立即将手牌补至X张X为你已损失的体力值',
xuanfeng_info:'当你失去装备区里的牌时,或于弃牌阶段弃置了两张或更多的手牌后,你可以依次弃置一至两名其他角色的共计两张牌。',
zhiyu_info:'每当你受到一次伤害后,你可以摸一张牌,然后展示所有手牌,若颜色均相同,伤害来源弃置一张手牌。',
qice_info:'出牌阶段,你可以将所有的手牌(至少一张)当做任意一张通常性锦囊牌使用,每阶段限一次。',

View File

@ -126,7 +126,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
yxs_menshen3:{
trigger:{player:'phaseBegin'},
trigger:{
player:['phaseBegin','dieBegin'],
},
silent:true,
filter:function(event,player){
return game.hasPlayer(function(current){

View File

@ -1,5 +1,5 @@
window.noname_asset_list=[
'1.9.87.1',
'1.9.88.2',
'audio/background/music_danji.mp3',
'audio/background/music_default.mp3',
'audio/background/music_diaochan.mp3',
@ -450,36 +450,6 @@ window.noname_asset_list=[
'audio/skill/dimeng2.mp3',
'audio/skill/dingpin1.mp3',
'audio/skill/dingpin2.mp3',
'audio/skill/drlt_congjian1.mp3',
'audio/skill/drlt_congjian2.mp3',
'audio/skill/drlt_duorui1.mp3',
'audio/skill/drlt_duorui2.mp3',
'audio/skill/drlt_hongju1.mp3',
'audio/skill/drlt_hongju2.mp3',
'audio/skill/drlt_huairou1.mp3',
'audio/skill/drlt_huairou2.mp3',
'audio/skill/drlt_jieying1.mp3',
'audio/skill/drlt_jieying2.mp3',
'audio/skill/drlt_jueyan1.mp3',
'audio/skill/drlt_jueyan2.mp3',
'audio/skill/drlt_poshi1.mp3',
'audio/skill/drlt_poshi2.mp3',
'audio/skill/drlt_poxi1.mp3',
'audio/skill/drlt_poxi2.mp3',
'audio/skill/drlt_qianjie1.mp3',
'audio/skill/drlt_qianjie2.mp3',
'audio/skill/drlt_qingce1.mp3',
'audio/skill/drlt_qingce2.mp3',
'audio/skill/drlt_wanglie1.mp3',
'audio/skill/drlt_wanglie2.mp3',
'audio/skill/drlt_xiongluan1.mp3',
'audio/skill/drlt_xiongluan2.mp3',
'audio/skill/drlt_zhenggu1.mp3',
'audio/skill/drlt_zhenggu2.mp3',
'audio/skill/drlt_zhenrong1.mp3',
'audio/skill/drlt_zhenrong2.mp3',
'audio/skill/drlt_zhiti1.mp3',
'audio/skill/drlt_zhiti2.mp3',
'audio/skill/duanbing1.mp3',
'audio/skill/duanbing2.mp3',
'audio/skill/duanbing3.mp3',
@ -721,8 +691,6 @@ window.noname_asset_list=[
'audio/skill/keji4.mp3',
'audio/skill/kongcheng11.mp3',
'audio/skill/kongcheng12.mp3',
'audio/skill/kongsheng1.mp3',
'audio/skill/kongsheng2.mp3',
'audio/skill/kuangbi1.mp3',
'audio/skill/kuangbi2.mp3',
'audio/skill/kuangfeng1.mp3',
@ -741,8 +709,6 @@ window.noname_asset_list=[
'audio/skill/kurou4.mp3',
'audio/skill/leiji1.mp3',
'audio/skill/leiji2.mp3',
'audio/skill/liangyin1.mp3',
'audio/skill/liangyin2.mp3',
'audio/skill/liangzhu1.mp3',
'audio/skill/liangzhu2.mp3',
'audio/skill/lianhuan11.mp3',
@ -1184,8 +1150,6 @@ window.noname_asset_list=[
'audio/skill/xinfu_chenghao2.mp3',
'audio/skill/xinfu_denglou1.mp3',
'audio/skill/xinfu_denglou2.mp3',
'audio/skill/xinfu_dianhu1.mp3',
'audio/skill/xinfu_dianhu2.mp3',
'audio/skill/xinfu_dianhua1.mp3',
'audio/skill/xinfu_dianhua2.mp3',
'audio/skill/xinfu_duanfa1.mp3',
@ -1205,8 +1169,6 @@ window.noname_asset_list=[
'audio/skill/xinfu_guanwei2.mp3',
'audio/skill/xinfu_guolun1.mp3',
'audio/skill/xinfu_guolun2.mp3',
'audio/skill/xinfu_jianji1.mp3',
'audio/skill/xinfu_jianji2.mp3',
'audio/skill/xinfu_jianjie1.mp3',
'audio/skill/xinfu_jianjie11.mp3',
'audio/skill/xinfu_jianjie12.mp3',
@ -1220,8 +1182,6 @@ window.noname_asset_list=[
'audio/skill/xinfu_kannan.mp3',
'audio/skill/xinfu_langxi1.mp3',
'audio/skill/xinfu_langxi2.mp3',
'audio/skill/xinfu_lianpian1.mp3',
'audio/skill/xinfu_lianpian2.mp3',
'audio/skill/xinfu_limu1.mp3',
'audio/skill/xinfu_limu2.mp3',
'audio/skill/xinfu_lingren1.mp3',
@ -1257,8 +1217,6 @@ window.noname_asset_list=[
'audio/skill/xinfu_wuniang2.mp3',
'audio/skill/xinfu_xingluan1.mp3',
'audio/skill/xinfu_xingluan2.mp3',
'audio/skill/xinfu_xingzhao.mp3',
'audio/skill/xinfu_xingzhao2.mp3',
'audio/skill/xinfu_xionghuo1.mp3',
'audio/skill/xinfu_xionghuo2.mp3',
'audio/skill/xinfu_xunxian1.mp3',
@ -1283,8 +1241,6 @@ window.noname_asset_list=[
'audio/skill/xinfu_zhenxing2.mp3',
'audio/skill/xinfu_zhenyi1.mp3',
'audio/skill/xinfu_zhenyi2.mp3',
'audio/skill/xinfu_zuilun1.mp3',
'audio/skill/xinfu_zuilun2.mp3',
'audio/skill/xingshang1.mp3',
'audio/skill/xingshang2.mp3',
'audio/skill/xingshuai1.mp3',
@ -1329,8 +1285,6 @@ window.noname_asset_list=[
'audio/skill/xunxun2.mp3',
'audio/skill/xushen1.mp3',
'audio/skill/xushen2.mp3',
'audio/skill/xz_xunxun1.mp3',
'audio/skill/xz_xunxun2.mp3',
'audio/skill/yanyu1.mp3',
'audio/skill/yanyu2.mp3',
'audio/skill/yanzheng1.mp3',
@ -1456,11 +1410,11 @@ window.noname_asset_list=[
'audio/skill/zuoding1.mp3',
'audio/skill/zuoding2.mp3',
'font/huangcao.ttf',
'font/shousha.ttf',
'font/xiaozhuan.ttf',
'font/xingkai.ttf',
'font/xinwei.ttf',
'font/yuanli.ttf',
'font/shousha.ttf',
'image/background/huangtian_bg.jpg',
'image/background/ol_bg.jpg',
'image/background/september_bg.jpg',
@ -1793,6 +1747,67 @@ window.noname_asset_list=[
'image/card/zixin.png',
'image/card/ziyangdan.png',
'image/card/zong.png',
'audio/skill/drlt_congjian1.mp3',
'audio/skill/drlt_congjian2.mp3',
'audio/skill/drlt_duorui1.mp3',
'audio/skill/drlt_duorui2.mp3',
'audio/skill/drlt_hongju1.mp3',
'audio/skill/drlt_hongju2.mp3',
'audio/skill/drlt_huairou1.mp3',
'audio/skill/drlt_huairou2.mp3',
'audio/skill/drlt_jieying1.mp3',
'audio/skill/drlt_jieying2.mp3',
'audio/skill/drlt_jueyan1.mp3',
'audio/skill/drlt_jueyan2.mp3',
'audio/skill/drlt_poshi1.mp3',
'audio/skill/drlt_poshi2.mp3',
'audio/skill/drlt_poxi1.mp3',
'audio/skill/drlt_poxi2.mp3',
'audio/skill/drlt_qianjie1.mp3',
'audio/skill/drlt_qianjie2.mp3',
'audio/skill/drlt_qingce1.mp3',
'audio/skill/drlt_qingce2.mp3',
'audio/skill/drlt_wanglie1.mp3',
'audio/skill/drlt_wanglie2.mp3',
'audio/skill/drlt_xiongluan1.mp3',
'audio/skill/drlt_xiongluan2.mp3',
'audio/skill/drlt_zhenggu1.mp3',
'audio/skill/drlt_zhenggu2.mp3',
'audio/skill/drlt_zhenrong1.mp3',
'audio/skill/drlt_zhenrong2.mp3',
'audio/skill/drlt_zhiti1.mp3',
'audio/skill/drlt_zhiti2.mp3',
'audio/skill/kongsheng1.mp3',
'audio/skill/kongsheng2.mp3',
'audio/skill/liangyin1.mp3',
'audio/skill/liangyin2.mp3',
'audio/skill/xinfu_dianhu1.mp3',
'audio/skill/xinfu_dianhu2.mp3',
'audio/skill/xinfu_jianji1.mp3',
'audio/skill/xinfu_jianji2.mp3',
'audio/skill/xinfu_lianpian1.mp3',
'audio/skill/xinfu_lianpian2.mp3',
'audio/skill/xinfu_xingzhao.mp3',
'audio/skill/xinfu_xingzhao2.mp3',
'audio/skill/xinfu_zuilun1.mp3',
'audio/skill/xinfu_zuilun2.mp3',
'audio/skill/xz_xunxun1.mp3',
'audio/skill/xz_xunxun2.mp3',
'image/character/chendao.jpg',
'image/character/guanqiujian.jpg',
'image/character/haozhao.jpg',
'image/character/huangjinleishi.jpg',
'image/character/lukang.jpg',
'image/character/old_zhugezhan.jpg',
'image/character/shen_ganning.jpg',
'image/character/shen_zhangliao.jpg',
'image/character/yl_yuanshu.jpg',
'image/character/zhangxiu.jpg',
'image/character/zhoufei.jpg',
'image/character/zhugezhan.jpg',
'image/character/re_yujin.jpg',
'image/character/baiwuchang.jpg',
'image/character/baosanniang.jpg',
'image/character/beimihu.jpg',
@ -1817,7 +1832,6 @@ window.noname_asset_list=[
'image/character/caozhen.jpg',
'image/character/caozhi.jpg',
'image/character/cenhun.jpg',
'image/character/chendao.jpg',
'image/character/chendong.jpg',
'image/character/chengong.jpg',
'image/character/chengpu.jpg',
@ -1880,7 +1894,6 @@ window.noname_asset_list=[
'image/character/gongsunyuan.jpg',
'image/character/gongsunzan.jpg',
'image/character/guanping.jpg',
'image/character/guanqiujian.jpg',
'image/character/guansuo.jpg',
'image/character/guanxingzhangbao.jpg',
'image/character/guanyinping.jpg',
@ -1951,7 +1964,6 @@ window.noname_asset_list=[
'image/character/hanba.jpg',
'image/character/handang.jpg',
'image/character/hanhaoshihuan.jpg',
'image/character/haozhao.jpg',
'image/character/heiwuchang.jpg',
'image/character/heqi.jpg',
'image/character/hetaihou.jpg',
@ -2081,7 +2093,6 @@ window.noname_asset_list=[
'image/character/huangfusong.jpg',
'image/character/huanggai.jpg',
'image/character/huanghao.jpg',
'image/character/huangjinleishi.jpg',
'image/character/huangyueying.jpg',
'image/character/huangzhong.jpg',
'image/character/huatuo.jpg',
@ -2125,7 +2136,6 @@ window.noname_asset_list=[
'image/character/liuzan.jpg',
'image/character/liyan.jpg',
'image/character/luji.jpg',
'image/character/lukang.jpg',
'image/character/lusu.jpg',
'image/character/luxun.jpg',
'image/character/luzhi.jpg',
@ -2203,7 +2213,6 @@ window.noname_asset_list=[
'image/character/old_xusheng.jpg',
'image/character/old_yuanshu.jpg',
'image/character/old_zhonghui.jpg',
'image/character/old_zhugezhan.jpg',
'image/character/old_zhuhuan.jpg',
'image/character/old_zhuran.jpg',
'image/character/old_zhuzhi.jpg',
@ -2314,14 +2323,12 @@ window.noname_asset_list=[
'image/character/re_zhugeliang.jpg',
'image/character/shamoke.jpg',
'image/character/shen_caocao.jpg',
'image/character/shen_ganning.jpg',
'image/character/shen_guanyu.jpg',
'image/character/shen_liubei.jpg',
'image/character/shen_luxun.jpg',
'image/character/shen_lvbu.jpg',
'image/character/shen_lvmeng.jpg',
'image/character/shen_simayi.jpg',
'image/character/shen_zhangliao.jpg',
'image/character/shen_zhaoyun.jpg',
'image/character/shen_zhouyu.jpg',
'image/character/shen_zhugeliang.jpg',
@ -2501,7 +2508,6 @@ window.noname_asset_list=[
'image/character/yanyan.jpg',
'image/character/yj_jushou.jpg',
'image/character/yl_luzhi.jpg',
'image/character/yl_yuanshu.jpg',
'image/character/yuanshao.jpg',
'image/character/yuanshu.jpg',
'image/character/yuejin.jpg',
@ -2525,6 +2531,7 @@ window.noname_asset_list=[
'image/character/yxs_kaisa.jpg',
'image/character/yxs_lanlinwang.jpg',
'image/character/yxs_libai.jpg',
'image/character/yxs_qinqiong.jpg',
'image/character/yxs_lishimin.jpg',
'image/character/yxs_luban.jpg',
'image/character/yxs_luobinhan.jpg',
@ -2536,7 +2543,6 @@ window.noname_asset_list=[
'image/character/yxs_mozi.jpg',
'image/character/yxs_nandinggeer.jpg',
'image/character/yxs_napolun.jpg',
'image/character/yxs_qinqiong.jpg',
'image/character/yxs_sunwu.jpg',
'image/character/yxs_tangbohu.jpg',
'image/character/yxs_wangzhaojun.jpg',
@ -2568,7 +2574,6 @@ window.noname_asset_list=[
'image/character/zhangren.jpg',
'image/character/zhangsong.jpg',
'image/character/zhangxingcai.jpg',
'image/character/zhangxiu.jpg',
'image/character/zhangyi.jpg',
'image/character/zhangzhang.jpg',
'image/character/zhaotongzhaoguang.jpg',
@ -2579,7 +2584,6 @@ window.noname_asset_list=[
'image/character/zhongyao.jpg',
'image/character/zhoucang.jpg',
'image/character/zhoufang.jpg',
'image/character/zhoufei.jpg',
'image/character/zhoutai.jpg',
'image/character/zhouyu.jpg',
'image/character/zhugedan.jpg',
@ -2587,7 +2591,6 @@ window.noname_asset_list=[
'image/character/zhugejin.jpg',
'image/character/zhugeke.jpg',
'image/character/zhugeliang.jpg',
'image/character/zhugezhan.jpg',
'image/character/zhuhuan.jpg',
'image/character/zhuling.jpg',
'image/character/zhuran.jpg',
@ -3146,7 +3149,7 @@ window.noname_skin_list={
guanyu:2,
guanzhang:2,
guohuai:2,
guojia:4,
guojia:3,
guosi:1,
guyong:2,
handang:2,
@ -3288,4 +3291,4 @@ window.noname_skin_list={
zhuran:1,
zhurong:3,
zuoci:4
};
};

View File

@ -1,22 +1,26 @@
window.noname_update={
version:'1.9.88',
update:'1.9.87',
version:'1.9.88.2',
update:'1.9.88.1',
changeLog:[
'修复BUG',
'恢复联机模式'
'部分武将技能调整和还原',
'players://["shen_guanyu","shen_caocao","re_yujin","liuzan","zhangchunhua","manchong"]',
],
files:[
'card/sp.js',
//'card/sp.js',
'card/extra.js',
'card/standard.js',
'character/extra.js',
'character/old.js',
'character/refresh.js',
'character/yxs.js',
//'character/refresh.js',
'character/shenhua.js',
'character/sp.js',
'character/standard.js',
//'character/standard.js',
'character/xinghuoliaoyuan.js',
'character/yijiang.js',
'game/asset.js',
'game/game.js',
'game/package.js'
//'game/asset.js',
//'game/game.js',
//'game/package.js'
]
};
};

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB