v1.9.93(Part 3)

This commit is contained in:
Spmario233 2019-09-20 23:19:26 +08:00 committed by GitHub
parent 31213874d5
commit b2269521a3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 450 additions and 41 deletions

View File

@ -5,6 +5,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
connect:true,
connectBanned:['diy_tianyu','diy_yangyi','diy_lukang','ns_huamulan','ns_yuji','ns_duangui','ns_liuzhang'],
character:{
diy_wenyang:['male','wei','4/6',['lvli','choujue']],
// diy_caocao:['male','wei',4,['xicai','diyjianxiong','hujia']],
// diy_hanlong:['male','wei',4,['siji','ciqiu']],
diy_feishi:['male','shu',3,['shuaiyan','moshou']],
@ -88,6 +89,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
diy_tianyu:'字国让,渔阳雍奴(今天津市武清区东北)人。三国时期曹魏将领。初从刘备,因母亲年老回乡,后跟随公孙瓒,公孙瓒败亡,劝说鲜于辅加入曹操。曹操攻略河北时,田豫正式得到曹操任用,历任颖阴、郎陵令、弋阳太守等。',
},
characterTitle:{
diy_wenyang:'最粗的梦想XD',
ns_zuoci:'#bskystarwuwei',
ns_lvzhi:'#bskystarwuwei',
ns_wangyun:'#rSukincen',

View File

@ -1355,6 +1355,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
yeyan:{
unique:true,
forceDie:true,
enable:'phaseUse',
audio:3,
animationColor:'metal',
@ -1405,7 +1406,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return targets.contains(target)
}).set('ai',function(target){
return 1;
});
}).set('forceDie',true);
}
"step 3"
if(event.num<targets.length){
@ -1419,7 +1420,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
"step 4"
player.chooseControl("2点","3点").set('prompt','请选择伤害点数').set('ai',function(){
return "3点";
});
}).forceDie=true;
"step 5"
targets[0].damage('fire',result.control=="2点"?2:3,'nocard');
},

View File

@ -4,14 +4,20 @@ game.import('character',function(lib,game,ui,get,ai,_status){
name:'old',
characterSort:{
old:{
old_shenhua:["yuji","zhangjiao","old_zhugezhan"],
old_yijiang:["masu","xushu","fazheng","liru","yujin","xin_yujin","old_zhonghui","old_xusheng","old_zhuran","old_lingtong","old_madai","old_caoxiu","old_wangyi","old_caozhen","old_quancong","old_chenqun","old_zhuhuan","old_zhuzhi"],
old_sp:["old_lingju","old_maliang","old_machao","zhangliang"],
old_shenhua:["yuji","zhangjiao","old_zhugezhan","old_zhoutai","old_caoren"],
old_refresh:["old_zhangfei","old_huatuo"],
old_yijiang:["masu","xushu","fazheng","liru","yujin","xin_yujin","old_zhonghui","old_xusheng","old_zhuran","old_lingtong","old_madai","old_caoxiu","old_wangyi","old_caozhen","old_quancong","old_chenqun","old_zhuhuan","old_zhuzhi","old_guanzhang"],
old_sp:["old_lingju","old_maliang","old_machao","zhangliang","jsp_caoren"],
},
},
character:{
yuji:['male','qun',3,['old_guhuo'],['forbidai']],
zhangjiao:['male','qun',3,['leiji','guidao','huangtian'],['zhu']],
old_zhoutai:['male','wu',4,['gzbuqu']],
old_caoren:['male','wei',4,['moon_jushou','jiewei']],
old_zhangfei:['male','shu',4,['paoxiao','retishen']],
old_huatuo:['male','qun',3,['jijiu','chulao']],
jsp_caoren:['male','wei',4,['kuiwei','yanzheng']],
masu:['male','shu',3,['xinzhan','huilei']],
xushu:['male','shu',3,['wuyan','jujian']],
fazheng:['male','shu',3,['enyuan','xuanhuo']],
@ -38,6 +44,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
old_machao:['male','qun',4,['zhuiji','cihuai']],
old_zhugezhan:["male","shu",3,["old_zuilun","old_fuyin"]],
zhangliang:["male","qun",4,["old_jijun","old_fangtong"]],
old_guanzhang:['male','shu',4,['old_fuhun']],
},
characterFilter:{
old_lingju:function(mode){
@ -45,6 +52,24 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
},
skill:{
old_fuhun:{
audio:'fuhun',
trigger:{player:'phaseDrawBefore'},
content:function(){
'step 0'
trigger.cancel();
'step 1'
var cards=get.cards(2);
event.cards=cards;
player.showCards(cards);
'step 2'
player.gain(cards,'gain2');
if(get.color(cards[0])!=get.color(cards[1])){
player.addTempSkill('wusheng');
player.addTempSkill('paoxiao');
}
},
},
"old_guhuo":{
group:["old_guhuo_guess","old_guhuo_respond","old_guhuo_wuxie"],
enable:"chooseToUse",
@ -812,7 +837,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){
old_zhugezhan:"旧诸葛瞻",
zhangliang:'SP张梁',
yuji:'旧于吉',
old_zhoutai:'旧周泰',
old_caoren:'旧曹仁',
old_guanzhang:'旧关兴张苞',
old_zhangfei:'旧张飞',
old_huatuo:'旧华佗',
jsp_caoren:'☆SP曹仁',
old_fuhun:'父魂',
old_fuhun_info:'摸牌阶段开始时,你可以放弃摸牌,改为从牌堆顶亮出两张牌并获得之,若亮出的牌颜色不同,你获得技能“武圣”、“咆哮”,直到回合结束。',
"old_guhuo":"蛊惑",
"old_guhuo_info":"你可以说出任何一种基本牌或普通锦囊牌并正面朝下使用或打出一张手牌。体力值不为0的其他角色依次选择是否质疑。若无角色质疑则该牌按你所述之牌结算。若有角色质疑则亮出验明若为真质疑者各失去1点体力若为假质疑者各摸一张牌。无论真假弃置被质疑的牌。仅当被质疑的牌为红桃花色且为真时该牌仍然可以进行结算。",
"old_guhuo_guess":"蛊惑",
@ -846,6 +879,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
oldxuanfeng_info:'每当你失去一次装备区里的牌时你可以执行下列两项中的一项1.视为对任意一名其他角色使用一张【杀】此【杀】不计入每回合的使用限制2.对与你距离1以内的一名其他角色造成一点伤害',
old_shenhua:'神话再临',
old_refresh:'界限突破',
old_yijiang:'一将成名',
old_sp:'SP',
}

View File

@ -367,7 +367,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(result.targets){
player.line(result.targets,'green');
result.targets[0].gain(event.card,'gain2');
if(!event.same) player.chooseToDiscard(true);
if(!event.same) player.chooseToDiscard(true,'he');
}
},
ai:{

View File

@ -5268,17 +5268,19 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
jiewei:{
trigger:{player:'turnOverEnd'},
direct:true,
//direct:true,
frequent:true,
audio:2,
content:function(){
'step 0'
player.draw();
player.chooseToUse(function(card){
if(!lib.filter.cardEnabled(card,_status.event.player,_status.event)){
return false;
}
var type=get.type(card,'trick');
return type=='trick'||type=='equip';
},'是否使用一张锦囊牌或装备牌?').set('logSkill','jiewei');
},'是否使用一张锦囊牌或装备牌?');
'step 1'
if(result.bool){
var type=get.type(result.card||result.cards[0]);
@ -5512,6 +5514,21 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
},
},
moon_jushou:{
audio:'jushou',
trigger:{player:'phaseEnd'},
content:function(){
player.draw();
player.turnOver();
},
ai:{
effect:{
target:function(card,player,target){
if(card.name=='guiyoujie') return [0,1];
}
}
},
},
liegong:{
audio:2,
trigger:{player:'shaBegin'},
@ -6088,7 +6105,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
mod:{
maxHandcard:function(player,num){
if(player.storage.buqu&&player.storage.buqu.length) return num-player.hp+player.storage.buqu.length;
if(get.mode()!='guozhan'&&player.storage.buqu&&player.storage.buqu.length) return num-player.hp+player.storage.buqu.length;
},
},
ai:{save:true},
@ -6684,6 +6701,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
shensu2:'神速',
shensu4:'神速',
jushou:'据守',
moon_jushou:'据守',
liegong:'烈弓',
kuanggu:'狂骨',
tianxiang:'天香',
@ -6706,16 +6724,18 @@ game.import('character',function(lib,game,ui,get,ai,_status){
gzbuqu_info:'当你扣减1点体力时若你的体力值为0你可以将牌堆顶的一张牌置于你的武将牌上若此牌的点数与你武将牌上的其他牌均不同你不会死亡若你的武将牌上有点数相同的牌你进入濒死状态',
xinkuanggu_info:'当你对距离1以内的一名角色造成1点伤害后你可以回复1点体力或摸一张牌。',
xinliegong_info:'你使用【杀】可以选择你距离不大于此【杀】点数的角色为目标当你使用【杀】指定一个目标后你可以根据下列条件执行相应的效果1.其手牌数小于等于你的手牌数此【杀】不可被【闪】响应2.其体力值大于等于你的体力值,此【杀】伤害+1。',
jiewei_info:'当你的武将牌翻面后,你可以使用一张锦囊牌或装备牌。若如此做,此牌结算后,你可以弃置场上一张同类型的牌',
jiewei_info:'当你的武将牌翻面后,你可以摸一张牌。然后你可以使用一张锦囊牌或装备牌,并可以在此牌结算后弃置场上一张同类型的牌',
releiji_info:'当你使用或打出一张【闪】时,你可令一名其他角色进行一次判定:若结果为梅花,其受到一点雷电伤害,然后你回复一点体力;若结果为黑桃,其受到两点雷电伤害。',
tiangong_info:'锁定技,你防止即将受到的雷电伤害。每当你造成雷电伤害时,你摸一张牌。',
shensu_info:'你可以跳过判定阶段和摸牌阶段,或跳过出牌阶段并弃置一张装备牌。若如此做,则你可以视为对任意一名角色使用一张无距离限制的【杀】',
jushou_info:'结束阶段你可以摸3张牌并将武将牌翻面。',
moon_jushou_info:'结束阶段,你可以摸一张牌,并将武将牌翻面。',
liegong_info:'当你使用【杀】时,若目标的手牌数大于等于你的体力值,或小于等于你的攻击范围,你可令此【杀】不能被闪避。',
kuanggu_info:'锁定技当你造成一点伤害后若受伤角色与你的距离不大于1你回复一点体力。',
tianxiang_info:'当你即将受到伤害时你可以弃置一张♥手牌将伤害转移给一名其他角色然后该角色摸X张牌X为其已损失的体力值。',
hongyan_info:'锁定技,你区域内的黑桃牌和黑桃判定牌均视为红桃。',
buqu_info:'锁定技当你处于濒死状态时你亮出牌堆顶的一张牌并置于你的武将牌上称之为“创”。若此牌的点数与你武将牌上已有的“创”点数均不同则你回复至1体力。若点数相同则将此牌置入弃牌堆。只要你的武将牌上有“创”你的手牌上限便与“创”的数量相等。',
buqu_info_guozhan:'锁定技当你处于濒死状态时你亮出牌堆顶的一张牌并置于你的武将牌上称之为“创”。若此牌的点数与你武将牌上已有的“创”点数均不同则你回复至1体力。若点数相同则将此牌置入弃牌堆。',
leiji_info:'当你使用或打出一张【闪】时,你可令任意一名角色进行一次判定。若结果为黑桃,其受到两点雷电伤害',
guidao_info:'一名角色的判定牌生效前,你可以打出一张黑色牌替换之。',
huangtian_info:'主公技,其他群势力角色的出牌阶段限一次,其可以交给你一张【闪】或【闪电】。',

View File

@ -5,7 +5,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
connect:true,
characterSort:{
sp:{
sp_default:["caoying","simahui","baosanniang","yangxiu","chenlin","caohong","xiahouba","yuanshu","sp_diaochan","sp_zhaoyun","liuxie","zhugejin","zhugeke","guanyinping","simalang","zhangxingcai","fuwan","sp_sunshangxiang","caoang","sp_caoren","zhangbao","maliang","zhugedan","sp_jiangwei","sp_machao","sunhao","shixie","mayunlu","zhanglu","wutugu","sp_caiwenji","zhugeguo","lingju","jsp_guanyu","jsp_huangyueying","sunluyu","zumao","wenpin","daxiaoqiao","guansuo","tadun","yanbaihu","chengyu","wanglang","sp_pangde","sp_jiaxu","litong","mizhu","buzhi","caochun","dongbai","zhaoxiang","mazhong","dongyun","kanze","heqi","wangyun","sunqian","xizhicai","quyi","luzhi"],
sp_default:["caoying","simahui","baosanniang","yangxiu","chenlin","caohong","xiahouba","yuanshu","sp_diaochan","sp_zhaoyun","liuxie","zhugejin","zhugeke","guanyinping","simalang","zhangxingcai","fuwan","sp_sunshangxiang","caoang","sp_caoren","zhangbao","maliang","zhugedan","sp_jiangwei","sp_machao","sunhao","shixie","mayunlu","zhanglu","wutugu","sp_caiwenji","zhugeguo","lingju","jsp_guanyu","jsp_huangyueying","sunluyu","zumao","wenpin","daxiaoqiao","guansuo","tadun","yanbaihu","chengyu","wanglang","sp_pangde","sp_jiaxu","litong","mizhu","buzhi","caochun","dongbai","zhaoxiang","mazhong","dongyun","kanze","heqi","wangyun","sunqian","xizhicai","quyi","luzhi","wenyang"],
sp_whlw:["xurong","lijue","zhangji","fanchou","guosi"],
sp_zlzy:["zhangqiying","lvkai","zhanggong","weiwenzhugezhi","beimihu"],
sp_longzhou:["xf_tangzi","xf_huangquan","xf_sufei","sp_liuqi"],
@ -18,6 +18,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
},
character:{
wenyang:['male','wei',5,['xinlvli','choujue']],
mangyachang:["male","qun",4,["spjiedao"],[]],
xugong:["male","wu",3,["biaozhao","yechou"],[]],
zhangchangpu:["female","wei",3,["yanjiao","xingshen"],[]],
@ -154,6 +155,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
//kaisa:["male","western",4,["zhengfu"]],
},
characterIntro:{
wenyang:"文俶238年—291年一作文淑字次骞小名阿鸯世称文鸯谯郡今安徽亳州市人。魏末晋初名将曹魏扬州刺史文钦之子。骁勇善战依附大将军曹爽效忠于王室。司马师废黜皇帝曹芳后随父联合毌丘俭于淮南起兵勤王。兵败之后向南投奔吴国。诸葛诞发动淮南叛乱奉命率军驰援。双方发生内讧父亲为诸葛诞所害遂降于司马昭封关内侯。西晋建立后任平虏护军。咸宁三年277年拜平西将军、都督凉秦雍州三州军事大破鲜卑首领秃发树机能名震天下迁使持节、护东夷校尉、监辽东军事。八王之乱中为诸葛诞外孙、东安王司马繇所诬杀惨遭灭族时年五十四岁。",
jianggan:"蒋干,字子翼,汉末三国时期的人物,九江(治今安徽寿县)人。历史上的蒋干是当时的名士、辩论家。而罗贯中在历史小说《三国演义》中则将蒋干刻画成了被周瑜所愚弄的小丑形象。",
zhangchangpu:"钟会的母亲。《母夫人张氏传》:夫人张氏,字昌蒲,太原兹氏人,太傅定陵成侯之命妇也。",
xugong:"许贡是东汉末官吏。先后任吴郡都尉、太守欲送密信给曹操要曹操注意孙策却被孙策发现而被杀。许贡生前招揽了一些门客当中有三人不忘故主千方百计想要手刃仇人。建安五年公元200年广陵太守陈登派人秘密联系孙策治下的山贼余党企图颠覆孙策在江东的统治。孙策决定讨伐陈登行军到丹徒时许贡门客终于找到了机会。因为孙策有单骑出猎在野外思考的习惯三门客趁孙策轻装外出打猎时放冷箭射中孙策面颊。这些门客后来在与孙策的搏斗中被赶到的侍卫杀死。孙策此后因为伤口感染并且俊美的容貌被毁终于不治身亡去世时年仅26岁。",
@ -530,7 +532,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
ai:{
equipValue:function (card,player){
if(!game.hasPlayer(function(current){
return player.canUse('sha',current)&&get.effect(current,{name:'sha'},player,player)<0;
return player.canUse('sha',current)&&get.effect(current,{name:'sha'},player,player)>0;
})){
return 1;
}
@ -554,8 +556,336 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
},
skill:{
//蒋干
weicheng:{
//文鸯
xinlvli:{
audio:'lvli',
trigger:{player:'damageEnd',source:'damageEnd'},
filter:function(event,player){
if(player.hp==player.countCards('h')) return false;
if(player.hp<player.countCards('h')&&player.isHealthy()) return false;
if(event.source!=player&&!player.storage.beishui) return false;
if(player.storage.lvli>1) return false;
if(player.storage.lvli>0&&(player!=_status.currentPhase||!player.storage.choujue)) return false;
return true;
},
content:function(){
'step 0'
player.storage.lvli++;
var num=player.hp-player.countCards('h');
if(num>0) player.draw(num);
else player.recover(-num);
'step 1'
if(player==trigger.source&&player==trigger.player&&lib.skill.xinlvli.filter(trigger,player)){
player.chooseBool(get.prompt2('xinlvli'));
}
else event.finish();
'step 2'
if(result.bool) event.goto(0);
},
group:'lvli3',
},
lvli:{
audio:2,
enable:'chooseToUse',
filter:function(event,player){
if(player.storage.lvli>1) return false;
if(player.storage.lvli>0&&(player!=_status.currentPhase||!player.storage.choujue)) return false;
return event.type!='wuxie';
},
chooseButton:{
dialog:function(event,player){
var list=[];
for(var i=0;i<lib.inpile.length;i++){
var name=lib.inpile[i];
if(name=='wuxie') continue;
if(name=='sha'){
list.push(['基本','','sha']);
list.push(['基本','','sha','fire']);
list.push(['基本','','sha','thunder']);
}
else if(get.type(name)=='trick') list.push(['锦囊','',name]);
else if(get.type(name)=='basic') list.push(['基本','',name]);
}
return ui.create.dialog(event.lvli6?get.prompt('lvli'):'膂力',[list,'vcard']);
},
filter:function(button,player){
return lib.filter.filterCard({name:button.link[2]},player,_status.event.getParent());
},
check:function(button){
var player=_status.event.player;
var players=game.filterPlayer();
if(player.countCards('h',button.link)) return 0;
if(button.link[2]=='wuzhong'){
if(player.countCards('h')<player.hp){
return 3+Math.random();
}
return 0;
}
if(button.link[2]=='tao'){
return 3+Math.random();
}
if(button.link[2]=='sha'){
return 2+Math.random();
}
if(button.link[2]=='juedou'){
return 2+Math.random();
}
if(button.link[2]=='guohe'){
return 2+Math.random();
}
if(button.link[2]=='shunshou'){
for(var i=0;i<players.length;i++){
if(player.canUse('shunshou',players[i])&&get.attitude(player,players[i])<0){
return 2+Math.random();
}
}
return 0;
}
if(button.link[2]=='tiesuo'){
return 1+Math.random();
}
if(button.link[2]=='jiu'){
if(get.effect(player,{name:'jiu'})>0){
return 1+Math.random();
}
return 0;
}
if(button.link[2]=='nanman'||button.link[2]=='wanjian'||button.link[2]=='taoyuan'||button.link[2]=='wugu'){
var eff=0;
for(var i=0;i<players.length;i++){
if(players[i]!=player){
eff+=get.effect(players[i],{name:button.link[2]},player,player);
}
}
if(eff>0){
return eff+Math.random();
}
return 0;
}
return Math.random();
},
backup:function(links,player){
return {
filterCard:function(){return false;},
audio:'lvli',
selectCard:-1,
check:function(card){
return 1;
},
viewAs:{name:links[0][2],nature:links[0][3]},
}
},
prompt:function(links,player){
return '请选择'+(get.translation(links[0][3])||'')+get.translation(links[0][2])+'的目标';
}
},
ai:{
order:4,
result:{
player:1,
},
threaten:2.9,
},
group:['lvli2','lvli3','lvli4','lvli5','lvli6']
},
lvli2:{
trigger:{player:['useCardBefore','respondBefore']},
forced:true,
popup:false,
priority:35,
filter:function(event,player){
return event.skill=='lvli_backup'||event.skill=='lvli5'||event.skill=='lvli4';
},
content:function(){
'step 0'
player.logSkill('lvli');
player.storage.lvli++;
player.popup(trigger.card.name,trigger.name=='useCard'?'metal':'wood');
'step 1'
var random=0.5+player.countCards('e')*0.1;
if(random>=Math.random()){
player.popup('洗具');
}
else{
player.popup('杯具');
trigger.cancel();
if(trigger.name=='respond'){
var evt=trigger.getParent();
if(evt&&evt.result) evt.result.bool=false;
}
game.broadcastAll(function(str){
var dialog=ui.create.dialog(str);
dialog.classList.add('center');
setTimeout(function(){
dialog.close();
},1000);
},get.translation(player)+'声明的'+get.translation(trigger.card.name)+'并没有生效');
game.log('然而什么都没有发生');
game.delay(2);
}
},
},
lvli3:{
trigger:{global:'phaseBefore'},
forced:true,
silent:true,
popup:false,
content:function(){
player.storage.lvli=0;
},
},
lvli4:{
log:false,
enable:'chooseToRespond',
filter:function(event,player){
if(player.storage.lvli>1) return false;
if(player.storage.lvli>0&&(player!=_status.currentPhase||!player.storage.choujue)) return false;
return (event.parent.name=='sha');
},
filterCard:function(){return false},
selectCard:-1,
viewAs:{name:'shan'},
ai:{
skillTagFilter:function(player){
if(player.storage.lvli>1) return false;
if(player.storage.lvli>0&&(player!=_status.currentPhase||!player.storage.choujue)) return false;
return true;
},
threaten:1.5,
respondShan:true,
}
},
lvli5:{
log:false,
enable:'chooseToUse',
filter:function(event,player){
if(player.storage.lvli>1) return false;
if(player.storage.lvli>0&&(player!=_status.currentPhase||!player.storage.choujue)) return false;
return true;
},
filterCard:function(){return false},
selectCard:-1,
viewAs:{name:'wuxie'},
},
lvli6:{
trigger:{player:'damageEnd'},
direct:true,
filter:function(event,player){
if(!player.storage.beishui) return false;
if(player.storage.lvli>1) return false;
if(player.storage.lvli>0&&(player!=_status.currentPhase||!player.storage.choujue)) return false;
return true;
},
content:function(){
var next=player.chooseToUse();
next.set('norestore',true);
next.set('_backupevent','lvli');
next.backup('lvli');
next.lvli6=true;
},
},
choujue:{
derivation:['beishui','qingjiao'],
trigger:{global:'phaseAfter'},
audio:2,
skillAnimation:true,
animationColor:'water',
unique:true,
juexingji:true,
forced:true,
init:function(player,skill){
if(!player.storage[skill]) player.storage[skill]=false;
},
filter:function(event,player){
if(player.storage.choujue) return false;
return Math.abs(player.hp-player.countCards('h'))>=3;
},
content:function(){
player.awakenSkill('choujue');
player.storage.choujue=true;
player.loseMaxHp();
player.addSkill('beishui');
},
},
beishui:{
trigger:{player:'phaseBegin'},
audio:2,
skillAnimation:'epic',
animationColor:'thunder',
unique:true,
juexingji:true,
forced:true,
init:function(player,skill){
if(!player.storage[skill]) player.storage[skill]=false;
},
filter:function(event,player){
if(player.storage.beishui) return false;
return Math.min(player.hp,player.countCards('h'))<2;
},
content:function(){
player.awakenSkill('beishui');
player.storage.beishui=true;
player.loseMaxHp();
player.addSkill('qingjiao');
},
},
qingjiao:{
trigger:{player:'phaseUseBegin'},
filter:function(event,player){
return player.countCards('h')&&(ui.cardPile.hasChildNodes()||ui.discardPile.hasChildNodes());
},
check:function(event,player){
return player.countCards('h')<=player.hp;
},
content:function(){
'step 0'
player.discard(player.getCards('h'));
'step 1'
var evt=trigger.getParent();
if(evt&&evt.getParent&&!evt.qingjiao){
evt.qingjiao=true;
var next=game.createEvent('qingjiao_discard',false,evt.getParent());
next.player=player;
next.setContent(function(){
var hs=player.getCards('he');
if(hs.length) player.discard(hs);
});
}
'step 2'
var list=[];
var typelist=[];
var getType=function(card){
var sub=get.subtype(card);
if(sub) return sub;
return card.name;
};
for(var i=0;i<ui.cardPile.childElementCount;i++){
var node=ui.cardPile.childNodes[i];
var typex=getType(node);
if(!typelist.contains(typex)){
list.push(node);
typelist.push(typex);
if(list.length>=8) break;
}
}
if(list.length<8){
for(var i=0;i<ui.discardPile.childElementCount;i++){
var node=ui.discardPile.childNodes[i];
var typex=getType(node);
if(!typelist.contains(typex)){
list.push(node);
typelist.push(typex);
if(list.length>=8) break;
}
}
}
player.gain(list,'gain2');
'step 3'
game.updateRoundNumber();
},
},
//蒋干
weicheng:{
audio:2,
trigger:{global:'gainEnd'},
forced:true,
@ -598,13 +928,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
else{
player.addTempSkill('daoshu_used','phaseUseAfter');
if(player.countCards('h',function(card){return get.suit(card)!=event.suit})==0){
if(player.countCards('h',function(card){return get.suit(card)!=suit2})==0){
player.showHandcards();
event.finish();
}
else player.chooseCard('h',true,function(card){
return get.suit(card)!=event.suit
},'交给'+get.translation(target)+'一张不为'+get.translation(event.suit)+'花色的牌');
return get.suit(card)!=suit2
},'交给'+get.translation(target)+'一张不为'+get.translation(suit2)+'花色的牌');
}
}
else event.finish();
@ -9458,31 +9788,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
},
zhoufu2:{
trigger:{player:'judge'},
trigger:{player:'judgeBegin'},
forced:true,
priority:10,
mark:'card',
content:function(){
"step 0"
player.$throw(player.storage.zhoufu2);
game.broadcastAll(function(card){
if(card.clone){
card.clone.classList.add('thrownhighlight');
}
},player.storage.zhoufu2);
if(player.judging[0].clone){
player.judging[0].clone.classList.remove('thrownhighlight');
game.broadcast(function(card){
if(card.clone){
card.clone.classList.remove('thrownhighlight');
}
},player.judging[0]);
game.addVideo('deletenode',player,get.cardsInfo([player.judging[0].clone]));
}
player.judging[0]=player.storage.zhoufu2;
trigger.position.appendChild(player.storage.zhoufu2);
game.log(player,'的判定牌改为',player.storage.zhoufu2);
game.delay(2);
trigger.directresult=player.storage.zhoufu2;
player.removeSkill('zhoufu2');
delete player.storage.zhoufu2;
delete player.storage.zhoufu2_markcount;
@ -12153,7 +12465,21 @@ game.import('character',function(lib,game,ui,get,ai,_status){
xugong:"许贡",
zhangchangpu:"张昌蒲",
jianggan:"蒋干",
wenyang:'文鸯',
diy_wenyang:'文鸯',
xinlvli:'膂力',
xinlvli_info:'每回合限一次当你造成伤害后你可选择1若你的体力值大于你的手牌数你摸张牌2若你的手牌数大于你的体力值且你已受伤你回复点体力为你的手牌数与体力值之差。',
lvli:'膂力',
lvli4:'膂力',
lvli5:'膂力',
lvli_info:'每名角色的回合限一次, 你可以声明一个基本牌或普通锦囊牌的牌名,有随机概率视为使用之(装备区里的牌数越多成功概率越大) ',
choujue:'仇决',
choujue_info:'觉醒技每个回合结束时若你的手牌数和体力值相差3或更多你减1点体力上限并获得技能“背水”然后“膂力”改为“在自己的回合时每回合限两次”。',
beishui:'背水',
beishui_info:'觉醒技准备阶段若你的手牌数或体力值小于2你减1点体力 上限并获得技能“清剿”,然后“膂力”改为受到伤害后也可发动。',
qingjiao:'清剿',
qingjiao_info:'出牌阶段开始时,你可以弃置所有手牌,然后从牌堆或弃牌堆中随机获得八张牌名各不相同且副类别不同的牌。若如此做,结束阶段,你弃置所有牌。',
spjiedao:"截刀",
"spjiedao_info":"当你每回合第一次造成伤害时,你可令此伤害至多+XX为你损失的体力值。然后若受到此伤害的角色没有死亡你弃置等同于此伤害加值的牌。",
biaozhao:"表召",

View File

@ -612,10 +612,18 @@ game.import('character',function(lib,game,ui,get,ai,_status){
trigger:{
player:["damageEnd","phaseEnd"],
},
frequent:true,
direct:true,
content:function (){
'step 0'
event.cards=get.cards(3);
player.chooseControl('一张','两张','三张','cancel2').set('prompt',get.prompt2('xinfu_zhenxing')).set('',function(){return 0});
'step 1'
if(result.control=='cancel2') event.finish();
else{
player.logSkill('xinfu_zhenxing');
event.num={一张:1,两张:2,三张:3}[result.control];
};
'step 2'
event.cards=get.cards(num);
player.chooseButton(['【镇行】:请选择要获得的牌',event.cards]).set('filterButton',function(button){
for(var i=0;i<event.cards.length;i++){
if(button.link!=event.cards[i]&&get.suit(event.cards[i])==get.suit(button.link)) return false;
@ -624,7 +632,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}).set('ai',function(button){
return get.value(button.link);
});
'step 1'
'step 3'
var tothrow=[];
for(var i=event.cards.length-1;i>=0;i--){
if(result.bool&&result.links.contains(event.cards[i])){
@ -2230,7 +2238,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
player.line(trigger.player);
player.popup(result.control);
game.log(player,'将判定结果改为了','#y'+result.control);
trigger.player.addTempSkill(result.control=='黑桃5'?'zhenyi_spade_black':'zhenyi_spade_red','judgeAfter')
trigger.fixedResult={
suit:result.control=='黑桃5'?'spade':'heart',
color:result.control=='黑桃5'?'black':'red',
number:5,
};
}
else{
event.finish();
@ -4535,6 +4547,20 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
},
},
trigger:{
player:['phaseBegin','phaseEnd'],
},
forced:true,
audio:2,
group:'xinfu_pdgyingshi2',
priority:Infinity,
content:function(){
event.getParent('arrangeTrigger').list=[];
game.log(player,'跳过了',event.triggername=='phaseBegin'?'准备阶段':'结束阶段');
},
},
xinfu_pdgyingshi2:{
popup:false,
trigger:{
player:"phaseJudgeBefore",
},