A bunch of updates

This commit is contained in:
Spmario233 2020-10-26 19:03:09 +08:00
parent 2eef0b2196
commit dd807e5a3d
45 changed files with 789 additions and 259 deletions

BIN
audio/die/dingyuan.mp3 Normal file

Binary file not shown.

BIN
audio/die/re_liru.mp3 Normal file

Binary file not shown.

BIN
audio/die/re_manchong.mp3 Normal file

Binary file not shown.

BIN
audio/die/re_yufan.mp3 Normal file

Binary file not shown.

BIN
audio/die/xin_jianyong.mp3 Normal file

Binary file not shown.

BIN
audio/skill/beizhu1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/beizhu2.mp3 Normal file

Binary file not shown.

BIN
audio/skill/beizhu3.mp3 Normal file

Binary file not shown.

BIN
audio/skill/rejuece1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/rejuece2.mp3 Normal file

Binary file not shown.

BIN
audio/skill/rejunxing1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/rejunxing2.mp3 Normal file

Binary file not shown.

BIN
audio/skill/remieji1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/remieji2.mp3 Normal file

Binary file not shown.

BIN
audio/skill/rezongxuan1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/rezongxuan2.mp3 Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -135,7 +135,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
characterFilter:{
key_yuu:function(mode){
return mode=='identity'||mode=='doudizhu'||mode=='single'||(mode=='versus'&&_status.mode!='standard');
return mode=='identity'||mode=='doudizhu'||mode=='single'||(mode=='versus'&&_status.mode!='standard'&&_status.mode!='three');
},
key_tomoya:function(mode){
return mode!='chess'&&mode!='tafang'&&mode!='stone';
@ -154,7 +154,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
diy:{
diy_yijiang:["key_kud","key_misuzu","key_kamome","key_nao",
"ns_huangchengyan","ns_sunchensunjun","ns_yuanxi","ns_caoshuang"],
diy_tieba:["diy_wenyang","ns_zuoci","ns_lvzhi","ns_wangyun","ns_nanhua","ns_nanhua_left","ns_nanhua_right","ns_huamulan","ns_huangzu","ns_jinke","ns_yanliang","ns_wenchou","ns_caocao","ns_caocaosp","ns_zhugeliang","ns_wangyue","ns_yuji","ns_xinxianying","ns_guanlu","ns_simazhao","ns_sunjian","ns_duangui","ns_zhangbao","ns_masu","ns_zhangxiu","ns_lvmeng","ns_shenpei","ns_yujisp","ns_yangyi","ns_liuzhang","ns_xinnanhua","ns_zhangwei"],
diy_tieba:["ns_zuoci","ns_lvzhi","ns_wangyun","ns_nanhua","ns_nanhua_left","ns_nanhua_right","ns_huamulan","ns_huangzu","ns_jinke","ns_yanliang","ns_wenchou","ns_caocao","ns_caocaosp","ns_zhugeliang","ns_wangyue","ns_yuji","ns_xinxianying","ns_guanlu","ns_simazhao","ns_sunjian","ns_duangui","ns_zhangbao","ns_masu","ns_zhangxiu","ns_lvmeng","ns_shenpei","ns_yujisp","ns_yangyi","ns_liuzhang","ns_xinnanhua"],
diy_fakenews:["diy_wenyang","ns_zhangwei"],
diy_default:["diy_feishi","diy_liuyan","diy_yuji","diy_caiwenji","diy_lukang","diy_zhenji","diy_liufu","diy_xizhenxihong","diy_liuzan","diy_zaozhirenjun","diy_yangyi","diy_tianyu"],
diy_key:["key_lucia","key_kyousuke","key_yuri","key_haruko","key_umi","key_rei","key_komari","key_yukine","key_yusa","key_misa","key_masato","key_iwasawa","key_kengo","key_yoshino","key_yui","key_tsumugi","key_saya","key_harukakanata","key_inari","key_shiina","key_sunohara","key_rin","key_sasami","key_akane","key_doruji","key_yuiko","key_riki","key_hisako","key_hinata","key_noda","key_tomoya","key_nagisa","key_ayato","key_ao","key_yuzuru","sp_key_kanade","key_mio","key_midori","key_kyoko","key_shizuru","key_shiorimiyuki","key_miki","key_shiori","key_kaori","sp_key_yuri","key_akiko","key_abyusa","key_godan","key_yuu"],
diy_yongjian:["ns_chendao","yj_caoang"],
@ -1069,8 +1070,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
misuzu_zhongxing:{
trigger:{
player:'loseAfter',
source:'gainAfter',
global:['equipAfter','addJudgeAfter'],
global:['equipAfter','addJudgeAfter','gainAfter'],
},
direct:true,
filter:function(event,player){
@ -1104,8 +1104,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
kamome_yangfan:{
trigger:{
player:['loseAfter','enterGame'],
source:'gainAfter',
global:['equipAfter','addJudgeAfter','gameDrawAfter'],
global:['equipAfter','addJudgeAfter','gameDrawAfter','gainAfter'],
},
forced:true,
filter:function(event,player){
@ -11051,6 +11050,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
diy_key:'论外',
diy_yongjian:'用间篇',
diy_yijiang:'设计比赛2020',
diy_fakenews:'假新闻',
},
};
});

View File

@ -51,7 +51,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
characterFilter:{
shen_diaochan:function(mode){
return mode=='identity'||mode=='doudizhu'||mode=='single'||(mode=='versus'&&_status.mode!='standard');
return mode=='identity'||mode=='doudizhu'||mode=='single'||(mode=='versus'&&_status.mode!='standard'&&_status.mode!='three');
},
},
skill:{

View File

@ -6,17 +6,20 @@ game.import('character',function(lib,game,ui,get,ai,_status){
connect:true,
characterSort:{
mobile:{
mobile_default:["miheng","taoqian","lingcao","sunru","lifeng","zhuling","liuye","zhaotongzhaoguang","majun","simazhao","wangyuanji","pangdegong","shenpei","hujinding","zhangyì","jiakui","yangbiao","chendeng","dongcheng","yangyi","dengzhi","zhengxuan","sp_sufei","furong"],
mobile_default:["miheng","taoqian","lingcao","sunru","lifeng","zhuling","liuye","zhaotongzhaoguang","majun","simazhao","wangyuanji","pangdegong","shenpei","hujinding","zhangyì","jiakui","yangbiao","chendeng","dongcheng","yangyi","dengzhi","zhengxuan","sp_sufei","furong","dingyuan"],
mobile_yijiang:["yj_zhanghe","yj_zhangliao","yj_xuhuang","yj_ganning"],
mobile_sunben:["re_sunben"],
mobile_standard:["xin_xiahoudun"],
mobile_shenhua:["re_pangtong","re_guanqiujian","xin_yuanshao","re_liushan","re_dongzhuo","re_sp_zhugeliang","re_sunjian"],
mobile_yijiang1:["re_jikang","old_bulianshi","xin_liaohua","xin_caozhang","re_xusheng","xin_chengpu"],
mobile_yijiang1:["re_jikang","old_bulianshi","xin_liaohua","xin_caozhang","re_xusheng","xin_chengpu","xin_jianyong","xin_gongsunzan"],
mobile_sp:["old_yuanshu","re_wangyun","re_baosanniang","re_weiwenzhugezhi","re_zhanggong","re_xugong","re_heqi","liuzan"],
mobile_trashbin:['old_jiakui'],
},
},
character:{
xin_gongsunzan:['male','qun',4,['xinyicong','qiaomeng']],
dingyuan:['male','qun',4,['beizhu']],
xin_jianyong:['male','shu',3,['xinqiaoshui','xinjyzongshi']],
old_jiakui:['male','wei',4,['tongqu','xinwanlan']],
xin_caozhang:['male','wei',4,['rejiangchi']],
xin_liaohua:['male','shu',4,['redangxian','refuli']],
@ -75,6 +78,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
re_sunben:['male','wu',4,['jiang','rehunzi','zhiba'],['zhu']],
},
characterIntro:{
dingyuan:'丁原—189年字建阳兖州泰山郡南城县山东省平邑县郑城镇人。东汉末年军阀官拜执金吾、并州刺史。任并州刺史期间他亲近、善待主簿吕布又调遣部下张杨、张辽等名将到洛阳任职。汉灵帝驾崩后带兵进入洛阳担任执金吾并与大将军何进谋划诛杀十常侍但不久事情败露何进被宦官杀死。在宦官被诛灭之后丁原与军阀董卓在废帝问题上意见不合产生矛盾于是董卓诱使吕布将其杀害其势力亦被吞并。',
furong:'傅肜róng222年义阳今湖北枣阳三国时蜀汉将领。刘备攻伐吴国时傅肜为别督。后刘备被陆逊击败傅肜率部断后奋战至死。死前怒斥道“吴狗何有汉将军降者”',
zhengxuan:'郑玄127年200年字康成。北海郡高密县今山东省高密市人。东汉末年儒家学者、经学大师。郑玄曾入太学攻《京氏易》、《公羊春秋》及《三统历》、《九章算术》又从张恭祖学《古文尚书》、《周礼》和《左传》等最后从马融学古文经。游学归里之后复客耕东莱聚徒授课弟子达数千人家贫好学终为大儒。党锢之祸起遭禁锢杜门注疏潜心著述。晚年守节不仕却遭逼迫从军最终病逝于元城年七十四。郑玄治学以古文经学为主兼采今文经学。他遍注儒家经典以毕生精力整理古代文化遗产使经学进入了一个“小统一时代”。著有《天文七政论》、《中侯》等书共百万余言世称“郑学”为汉代经学的集大成者。唐贞观年间列郑玄于二十二“先师”之列配享孔庙。宋代时被追封为高密伯。后人建有郑公祠以纪念。',
dengzhi:'邓芝178年251年字伯苗。义阳郡新野县今河南新野人。东汉名将邓禹之后三国时期蜀汉重臣。邓芝早年曾被预言能位至大将后被刘备任为郫令升迁为广汉太守。因任官公廉且有治绩被征入朝为尚书。刘备逝世后奉命出使吴国成功修复两国关系并深为吴大帝孙权所赏识。建兴六年228年丞相诸葛亮策划北伐命邓芝与大将赵云佯攻郿城以吸引魏国曹真军主力。建兴十二年234年迁前军师、前将军领兖州刺史封阳武亭侯不久督领江州。延熙六年243年迁车骑将军后授假节。又率军平定涪陵叛乱。延熙十四年251年邓芝病逝。邓芝性格正直、简单不刻意修饰情绪。他为将二十多年赏罚明断体恤士卒。身上的衣食取自官府从未经营过私产妻儿甚至还有忍饥挨饿之时死时家中也没有多余财物。',
@ -297,6 +301,175 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
characterFilter:{},
skill:{
//丁原
//程序员和设计师至少有一个脑子有坑
beizhu:{
audio:3,
enable:'phaseUse',
usable:1,
filterTarget:function(card,player,target){
return target!=player&&target.countCards('h')>0;
},
content:function(){
'step 0'
player.addTempSkill('beizhu_draw');
player.viewHandcards(target);
'step 1'
var cards=target.getCards('h','sha');
if(cards.length){
event.cards=cards;
event.goto(4);
}
else player.discardPlayerCard('he',target,true);
'step 2'
player.chooseBool('是否令'+get.translation(target)+'获得一张【杀】?').set('ai',function(){
var evt=status.event.getParent();
return get.attitude(evt.player,evt.target)>0;
});
'step 3'
if(result.bool){
var card=get.cardPile2(function(card){
return card.name=='sha';
});
if(card) target.gain(card,'gain2');
}
else event.finish();
'step 4'
game.updateRoundNumber();
event.finish();
'step 5'
var hs=target.getCards('h');
cards=cards.filter(function(card){
return hs.contains(card)&&get.name(card,target)=='sha'&&target.canUse({
name:'sha',
isCard:true,
cards:[card],
},player,false);
});
if(cards.length){
var card=cards.randomRemove(1)[0];
target.useCard(player,false,{
name:'sha',
isCard:true,
},[card]).card.beizhu=true;
event.redo();
}
},
},
beizhu_draw:{
trigger:{player:'damageEnd'},
forced:true,
popup:false,
filter:function(event,player){
return event.card&&event.card.beizhu;
},
content:function(){
player.draw(trigger.num);
},
},
//新简雍
xinqiaoshui:{
audio:2,
enable:'phaseUse',
usable:1,
filterTarget:function(card,player,target){
return player.canCompare(target);
},
filter:function(event,player){
return player.countCards('h')>0;
},
content:function(){
'step 0'
player.chooseToCompare(target);
'step 1'
if(result.bool) player.addTempSkill('qiaoshui3','phaseUseEnd');
else{
player.addTempSkill('qiaoshui2','phaseUseEnd');
}
},
ai:{
order:function(item,player){
if(player.countCards('h',function(card){
return player.hasValueTarget(card);
})) return 10;
return 1;
},
result:{
target:function(player,target){
if(player.countCards('h',function(card){
return player.hasValueTarget(card);
})){
if(player.hasSkill('qiaoshui3')) return 0;
var nd=!player.needsToDiscard();
if(player.hasCard(function(card){
if(get.position(card)!="h") return false;
var val=get.value(card)
if(nd&&val<0) return true;
if(val<=5){
return card.number>=12;
}
if(val<=6){
return card.number>=13;
}
return false;
})) return -1;
return 0;
}
return -1;
},
},
},
},
xinjyzongshi:{
audio:2,
trigger:{
player:['chooseToCompareAfter','compareMultipleAfter'],
target:['chooseToCompareAfter','compareMultipleAfter']
},
filter:function(event,player){
return !event.preserve;
},
frequent:true,
content:function(){
'step 0'
var str='<div class="text center">牌堆顶';
var cards=get.cards();
if(player==trigger.player){
if(trigger.num1>trigger.num2&&get.position(trigger.card2,true)=='o'){
str+='/拼点牌';
cards.push(trigger.card2)
}
else if(trigger.num1<trigger.num2&&get.position(trigger.card1,true)=='o'){
str+='/拼点牌';
cards.push(trigger.card1);
}
}
else{
if(trigger.num1<trigger.num2&&get.position(trigger.card,true)=='o'){
str+='/拼点牌';
cards.push(trigger.card1);
}
else if(trigger.num1>trigger.num2&&get.position(trigger.card,true)=='o'){
str+='/拼点牌';
cards.push(trigger.card2);
}
}
str+='</div>';
event.cards=cards;
player.chooseButton(['纵适:选择要获得的牌',str,cards],true).set('ai',get.buttonValue);
'step 1'
if(result.bool){
var draw=result.links[0]==cards[0];
player.gain(result.links,draw?'draw':'gain2').log=false;
game.log(player,'获得了',draw?'牌堆顶的一张牌':result.links);
if(!draw){
cards[0].fix();
ui.cardPile.insertBefore(cards[0],ui.cardPile.firstChild);
game.updateRoundNumber();
}
}
}
},
//通渠张恭
rezhenxing:{
audio:'xinfu_zhenxing',
@ -5926,12 +6099,22 @@ game.import('character',function(lib,game,ui,get,ai,_status){
"rejiangchi_info":"出牌阶段开始时你可以选择一项1、摸一张牌若如此做你本阶段内不能使用【杀】。 2、弃置一张牌若如此做此阶段你使用【杀】无距离限制且你可以额外使用一张【杀】。",
rezhenxing:"镇行",
rezhenxing_info:"结束阶段开始时或当你受到伤害后,你可以观看牌堆顶的三张牌,然后你获得其中与其余牌花色均不相同的一张牌。",
xin_jianyong:'手杀简雍',
xinqiaoshui:'巧说',
xinqiaoshui_info:'出牌阶段限一次,你可以和一名其他角色拼点。若你赢,则你本阶段内使用的下一张基本牌或普通锦囊牌可以增加减少一个目标。若你没赢,你本阶段内不能使用锦囊牌。',
xinjyzongshi:'纵适',
xinjyzongshi_info:'当你拼点后,你可以观看牌堆顶的一张牌,然后选择一项:获得此牌,或获得两张拼点牌中点数较小的一张。',
dingyuan:'丁原',
beizhu:'备诛',
beizhu_draw:'备诛',
beizhu_info:'出牌阶段限一次你可以观看一名其他角色的手牌。若其中没有【杀】你弃置其一张牌然后你可令其获得牌堆中的一张【杀】有【杀】其依次对你使用这些【杀】当你因此受到1点伤害后你摸一张牌。',
mobile_standard:'手杀异构·标准包',
mobile_shenhua:'手杀异构·神话再临',
mobile_yijiang1:'手杀异构·一将成名',
mobile_sp:'手杀异构·SP',
mobile_trashbin:'通厕所的',
old_jiakui:'贾逵重制',
xin_gongsunzan:'手杀公孙瓒',
}
};
});

View File

@ -4,21 +4,25 @@ game.import('character',function(lib,game,ui,get,ai,_status){
name:'refresh',
characterSort:{
refresh:{
refresh_standard:["re_caocao","re_simayi","re_guojia","re_lidian","re_zhangliao","re_xuzhu","re_xiahoudun","re_zhangfei","re_zhaoyun","re_guanyu","re_machao","re_xushu","re_zhouyu","re_lvmeng","re_ganning","re_luxun","re_daqiao","re_huanggai","re_lvbu","re_huatuo","re_liubei","re_diaochan","re_huangyueying","re_sunquan","re_sunshangxiang","re_zhenji","re_zhugeliang","re_huaxiong"],
refresh_standard:["re_caocao","re_simayi","re_guojia","re_lidian","re_zhangliao","re_xuzhu","re_xiahoudun","re_zhangfei","re_zhaoyun","re_guanyu","re_machao","re_xushu","re_zhouyu","re_lvmeng","re_ganning","re_luxun","re_daqiao","re_huanggai","re_lvbu","re_huatuo","re_liubei","re_diaochan","re_huangyueying","re_sunquan","re_sunshangxiang","re_zhenji","re_zhugeliang","re_huaxiong",'re_gongsunzan'],
refresh_feng:['caoren','ol_xiahouyuan','re_huangzhong','ol_weiyan','ol_xiaoqiao','zhoutai','re_zhangjiao','xin_yuji'],
refresh_huo:["ol_sp_zhugeliang","re_xunyu","re_dianwei","re_yanwen","ol_pangtong","ol_yuanshao","ol_pangde","re_taishici"],
refresh_lin:['re_zhurong','re_menghuo','ol_sunjian','re_caopi','re_xuhuang','ol_dongzhuo'],
refresh_shan:['re_dengai','re_jiangwei','re_caiwenji','ol_liushan','re_zhangzhang','re_zuoci','re_sunce'],
refresh_shan:['re_dengai','re_jiangwei','re_caiwenji','ol_liushan','re_zhangzhang','re_zuoci','re_sunce','ol_dengai'],
refresh_yijiang1:['re_wuguotai','re_gaoshun','re_caozhi','yujin_yujin','re_lingtong','re_masu','xin_xusheng','xin_fazheng'],
refresh_yijiang2:['old_madai','wangyi','guanzhang','re_handang','re_zhonghui','re_liaohua','re_chengpu','re_caozhang','re_liubiao','re_bulianshi','xin_gongsunzan'],
refresh_yijiang3:['re_jianyong','re_guohuai','re_zhuran','re_panzhangmazhong'],
refresh_yijiang2:['old_madai','wangyi','guanzhang','re_handang','re_zhonghui','re_liaohua','re_chengpu','re_caozhang','re_liubiao','re_bulianshi'],
refresh_yijiang3:['re_jianyong','re_guohuai','re_zhuran','re_panzhangmazhong','re_yufan','re_liru','re_manchong'],
refresh_yijiang4:['re_sunluban','re_wuyi','re_hanhaoshihuan'],
refresh_yijiang5:['re_zhangyi','re_quancong'],
},
},
connect:true,
character:{
xin_gongsunzan:['male','qun',4,['xinyicong','qiaomeng']],
ol_dengai:['male','wei',4,['oltuntian','olzaoxian'],['unseen']],
re_gongsunzan:['male','qun',4,['reqiaomeng','reyicong']],
re_manchong:['male','wei',3,['rejunxing','yuce']],
re_liru:['male','qun',3,['rejuece','remieji','xinfencheng']],
re_yufan:['male','wu',3,['zhiyan','rezongxuan']],
re_bulianshi:['female','wu',3,['reanxu','zhuiyi']],
re_hanhaoshihuan:['male','wei',4,['reshenduan','reyonglve']],
re_panzhangmazhong:['male','wu',4,['reduodao','reanjian']],
@ -96,7 +100,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
re_zhurong:['female','shu',4,['juxiang','relieren']],
re_menghuo:['male','shu',4,['huoshou','rezaiqi']],
ol_dongzhuo:['male','qun',8,['oljiuchi','roulin','benghuai','olbaonue'],['zhu']],
ol_sunjian:['male','wu',4,['gzyinghun','wulie']],
ol_sunjian:['male','wu','4/5',['gzyinghun','wulie']],
re_caopi:['male','wei',3,['rexingshang','refangzhu','songwei'],['zhu']],
re_dengai:['male','wei',4,['retuntian','zaoxian']],
re_jiangwei:['male','shu',4,['retiaoxin','zhiji']],
@ -121,6 +125,183 @@ game.import('character',function(lib,game,ui,get,ai,_status){
sunben:['zhouyu','taishici','daqiao'],
},
skill:{
oltuntian:{
inherit:'tuntian',
filter:function(event,player){
if(player==_status.currentPhase){
return event.name=='lose'&&event.type=='discard'&&event.getParent('phaseDiscard').player==player&&
event.cards2.filter(function(card){
return get.name(card,event.hs.contains(card)?player:false)=='sha';
}).length>0;
};
if(event.name=='gain'&&event.player==player) return false;
var evt=event.getl(player);
return evt&&evt.cards2&&evt.cards2.length>0;
},
},
olzaoxian:{
inherit:'zaoxian',
content:function(){
player.loseMaxHp();
player.addSkill('jixi');
player.storage.olzaoxian=true;
player.awakenSkill('olzaoxian');
player.insertPhase();
}
},
rejunxing:{
enable:'phaseUse',
audio:2,
usable:1,
filterCard:true,
selectCard:[1,Infinity],
filter:function(event,player){
return player.countCards('h')>0;
},
check:function(card){
if(ui.selected.cards.length) return -1;
return 6-get.value(card);
},
filterTarget:function(card,player,target){
return player!=target;
},
content:function(){
"step 0"
target.chooseToDiscard(cards.length,'弃置'+get.cnNumber(cards.length)+'张牌并失去1点体力或点取消将武将牌翻面并摸'+get.cnNumber(cards.length)+'张牌').set('ai',function(card){
var player=_status.event.player;
if(player.isTurnedOver()) return -1;
return (player.hp*player.hp)-get.value(card);
});
"step 1"
if(!result.bool){
target.turnOver();
target.draw(cards.length);
}
else target.loseHp();
},
ai:{
order:2,
expose:0.3,
threaten:1.8,
result:{
target:function(player,target){
if(target.hasSkillTag('noturn')) return 0;
if(target.isTurnedOver()) return 2;
return -1/(target.countCards('h')+1);
}
}
}
},
rejuece:{
audio:2,
trigger:{player:'phaseJieshuBegin'},
direct:true,
filter:function(event,player){
return game.hasPlayer(function(current){
return current!=player&&current.getHistory('lose').length>0;
});
},
content:function(){
'step 0'
player.chooseTarget(get.prompt('rejuece'),'对一名本回合失去过牌的其他角色造成1点伤害',function(card,player,target){
return _status.event.targets.contains(target);
}).set('targets',game.filterPlayer(function(current){
return current!=player&&current.getHistory('lose').length>0;
}));
'step 1'
if(result.bool){
var target=result.targets[0];
player.logSkill('rejuece',target);
target.damage();
}
},
},
remieji:{
audio:2,
enable:'phaseUse',
usable:1,
filter:function(event,player){
return player.countCards('h',{type:['trick','delay'],color:'black'});
},
filterCard:function(card){
return get.color(card)=='black'&&get.type(card,'trick')=='trick';
},
filterTarget:function(card,player,target){
return target!=player&&target.countCards('he')>0;
},
discard:false,
delay:false,
check:function(card){
return 8-get.value(card);
},
content:function(){
'step 0'
player.showCards(cards);
'step 1'
cards[0].fix();
ui.cardPile.insertBefore(cards[0],ui.cardPile.firstChild);
game.updateRoundNumber();
'step 2'
target.chooseCard('he',true).set('prompt','选择交给'+get.translation(player)+'一张锦囊牌,或依次弃置两张非锦囊牌。');
'step 3'
if(result.cards&&result.cards.length){
if(get.type2(result.cards[0])=='trick'){
player.gain(result.cards,target,'giveAuto');
event.finish();
}
else target.discard(result.cards);
}
else event.finish();
'step 4'
if(target.countCards('he',function(card){
return get.type2(card)!='trick';
})) target.chooseToDiscard('he',true,function(card){
return get.type2(card)!='trick';
});
},
ai:{
order:9,
result:{
target:-1
}
}
},
rezongxuan:{
inherit:'zongxuan',
group:'rezongxuan_place',
},
rezongxuan_place:{
audio:'rezongxuan',
enable:'phaseUse',
usable:1,
content:function(){
'step 0'
player.draw();
'step 1'
player.chooseCard('he',true,'将一张牌置于牌堆顶');
'step 2'
if(result&&result.cards){
event.card=result.cards[0];
player.lose(result.cards,ui.special);
game.log(player,'将',(get.position(event.card)=='h'?'一张牌':event.card),'置于牌堆顶');
game.broadcastAll(function(player){
var cardx=ui.create.card();
cardx.classList.add('infohidden');
cardx.classList.add('infoflip');
player.$throw(cardx,1000,'nobroadcast');
},player);
}
else event.finish();
'step 3'
card.fix();
ui.cardPile.insertBefore(card,ui.cardPile.firstChild);
game.updateRoundNumber();
},
ai:{
order:1,
result:{player:1},
},
},
decadelihuo:{
trigger:{player:'useCard1'},
filter:function(event,player){
@ -128,6 +309,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return false;
},
audio:'lihuo',
prompt2:function(event){
return '将'+get.translation(event.card)+'改为火属性';
},
audioname:['re_chengpu'],
check:function(event,player){
return event.baseDamage>1&&game.hasPlayer(function(current){
@ -528,7 +712,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
audio:'rezishou',
trigger:{
source:'damageBegin2',
player:'phaseJieshuBegin',
//player:'phaseJieshuBegin',
},
forced:true,
filter:function(event,player){
@ -702,6 +886,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(player!=event.player) return event.player;
return event.targets||event.target;
},
prompt2:function(event,player){
return '令其改为使用随机的手牌进行拼点'
},
check:function(trigger,player){
var num=0;
var targets=player==trigger.player?(trigger.targets?trigger.targets.slice(0):[trigger.target]):[trigger.player];
@ -720,6 +907,42 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(hs.length) trigger.fixedResult[target.playerid]=hs.randomGet();
}
},
group:'hanzhan_gain',
subfrequent:['gain'],
},
hanzhan_gain:{
trigger:{
player:['chooseToCompareAfter','compareMultipleAfter'],
target:['chooseToCompareAfter','compareMultipleAfter']
},
audio:'hanzhan',
filter:function(event,player){
if(event.preserve) return false;
return [event.card1,event.card2].filter(function(card){
return card.name=='sha'&&get.position(card,true)=='o';
}).length>0;
},
frequent:true,
prompt2:function(trigger,player){
var cards=[trigger.card1,trigger.card2].filter(function(card){
return card.name=='sha'&&get.position(card,true)=='o';
});
cards.sort(function(a,b){
return b.number-a.number;
});
if(cards.length>1&&cards[0].number>cards[1].number) cards.splice(1);
return '获得'+get.translation(cards);
},
content:function(){
var cards=[trigger.card1,trigger.card2].filter(function(card){
return card.name=='sha'&&get.position(card,true)=='o';
});
cards.sort(function(a,b){
return b.number-a.number;
});
if(cards.length>1&&cards[0].number>cards[1].number) cards.splice(1);
player.gain(cards,'gain2');
},
},
rejianchu:{
shaRelated:true,
@ -1210,8 +1433,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
audioname:['boss_lvbu3','re_heqi','re_lingtong'],
trigger:{
player:['loseAfter','phaseDiscardEnd'],
source:'gainAfter',
global:['equipAfter','addJudgeAfter'],
global:['equipAfter','addJudgeAfter','addJudgeAfter'],
},
direct:true,
filter:function(event,player){
@ -5835,8 +6057,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
audio:2,
trigger:{
player:'loseAfter',
source:'gainAfter',
global:['equipAfter','addJudgeAfter'],
global:['equipAfter','addJudgeAfter','gainAfter'],
},
direct:true,
filter:function(event,player){
@ -6326,7 +6547,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
content:function (){},
mod:{
globalFrom:function(from,to,current){
if(from.hp>2) return current-1;
return current-1;
},
globalTo:function(from,to,current){
if(to.hp<=2) return current+1;
@ -6336,32 +6557,47 @@ game.import('character',function(lib,game,ui,get,ai,_status){
threaten:0.8
}
},
reqiaomeng:{
audio:'qiaomeng',
trigger:{source:'damageSource'},
direct:true,
filter:function(event,player){
if(event._notrigger.contains(event.player)) return false;
return event.card&&event.card.name=='sha'&&event.player.countDiscardableCards(player,'hej');
},
content:function(){
"step 0"
player.discardPlayerCard(get.prompt('reqiaomeng',trigger.player),'hej',trigger.player).set('logSkill',['reqiaomeng',trigger.player]);
"step 1"
if(result.bool){
var card=result.cards[0];
if(get.position(card)=='d'){
if(get.subtype(card)=='equip3'||get.subtype(card)=='equip4'){
player.gain(card,player,'gain2');
}
}
}
}
},
qiaomeng:{
audio:2,
trigger:{source:'damageSource'},
direct:true,
filter:function(event){
filter:function(event,player){
if(event._notrigger.contains(event.player)) return false;
return event.card&&event.card.name=='sha'&&event.cards&&
get.color(event.cards)=='black'&&event.player.countCards('e');
get.color(event.cards)=='black'&&event.player.countDiscardableCards(player,'hej');
},
content:function(){
"step 0"
player.choosePlayerCard('e',trigger.player);
player.discardPlayerCard(get.prompt('qiaomeng',trigger.player),'e',trigger.player).set('logSkill',['qiaomeng',trigger.player]);
"step 1"
if(result.bool){
player.logSkill('qiaomeng');
trigger.player.discard(result.links[0]);
event.card=result.links[0];
}
else{
event.finish();
}
"step 2"
var card=result.cards[0];
if(get.position(card)=='d'){
if(get.subtype(card)=='equip3'||get.subtype(card)=='equip4'){
player.gain(card,trigger.player);
player.$gain2(card);
player.gain(card,player,'gain2');
}
}
}
}
@ -7102,17 +7338,21 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return true;
},
prompt:'将一张黑桃手牌当酒使用',
check:function(cardx){
check:function(cardx,player){
if(player&&player==cardx.player) return true;
if(_status.event.type=='dying') return 1;
var player=_status.event.player;
var shas=player.getCards('h','sha');
var shas=player.getCards('h',function(card){
return card!=cardx&&get.name(card,player)=='sha';
});
if(!shas.length) return -1;
if(shas.length>1&&(player.getCardUsable('sha')>1||player.countCards('h','zhuge'))){
return 0;
}
shas.sort(function(a,b){
return get.order(b)-get.order(a);
});
var card;
var card=false;
if(shas.length){
for(var i=0;i<shas.length;i++){
if(shas[i]!=cardx&&lib.filter.filterCard(shas[i],player)){
@ -7136,7 +7376,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return 4-get.value(cardx);
}
}
return 0;
return -1;
},
ai:{
skillTagFilter:function(player){
@ -7146,12 +7386,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
save:true,
},
trigger:{source:'damageEnd'},
forced:true,
locked:true,
direct:true,
filter:function(event,player){
if(event.name=='chooseToUse') return player.countCards('h',{suit:'spade'})>0;
return event.card&&event.card.name=='sha'&&event.getParent(2).jiu==true&&!player.hasSkill('oljiuchi_air');
},
content:function(){
player.logSkill('oljiuchi');
player.addTempSkill('oljiuchi_air');
},
subSkill:{
@ -7471,8 +7713,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
jianyan_info:'出牌阶段限一次,你可以声明一种牌的类别或颜色,并亮出牌库中第一张符合你声明的牌,然后你令一名男性角色获得此牌',
rekurou_info:'出牌阶段限一次你可以弃置一张牌然后失去1点体力。',
zhaxiang_info:'锁定技 每当你失去1点体力后你摸三张牌。然后若此时是你的出牌阶段则直到回合结束你使用红色【杀】无距离限制且不能被【闪】响应你可以额外使用一张【杀】。',
qiaomeng_info:'当你使用黑色【杀】对一名角色造成伤害后,你可以弃置该角色装备区里的一张牌,若此牌是坐骑牌,你于此牌置入弃牌堆时获得之。',
reyicong_info:'锁定技,只要你的体力值大于2点你的进攻距离+1只要你的体力值为2点或更低你的防御距离+1',
qiaomeng_info:'当你使用黑色【杀】对一名角色造成伤害后,你可以弃置该角色装备区里的一张牌,若此牌是坐骑牌,你于此牌置入弃牌堆时获得之。',
reyicong_info:'锁定技,你计算与其他角色的距离时-1。若你的体力值不大于2则其他角色计算与你的距离时+1。',
refankui_info:'每当你受到1点伤害后你可以获得伤害来源的一张牌。',
retieji_info:'当你使用【杀】指定一名角色为目标后,你可以进行一次判定并令该角色的非锁定技失效直到回合结束,除非该角色弃置一张与判定结果花色相同的牌,否则不能使用【闪】抵消此【杀】。',
yijue_info:'出牌阶段限一次,你可以与一名其他角色拼点,若你赢,则直到回合结束,该角色不能使用或打出手牌且其非锁定技失效,若你没赢,你可令该角色回复一点体力。',
@ -7630,7 +7872,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
rejianchu_info:'当你使用【杀】指定一名角色为目标后,你可以弃置其一张牌,若以此法弃置的牌不为基本牌,此【杀】不可被【闪】响应且你本回合使用【杀】的次数上限+1为基本牌该角色获得此【杀】',
re_taishici:'界太史慈',
hanzhan:'酣战',
hanzhan_info:'当你发起拼点时,或成为拼点的目标时,你可以令对方选择拼点牌的方式改为随机选择一张手牌。',
hanzhan_gain:'酣战',
hanzhan_info:'当你发起拼点时,或成为拼点的目标时,你可以令对方选择拼点牌的方式改为随机选择一张手牌。当你拼点结束后,你可以获得双方拼点牌中点数最大的【杀】。',
re_jianyong:'界简雍',
xin_xusheng:'界徐盛',
decadepojun:'破军',
@ -7643,7 +7886,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
re_liubiao:'界刘表',
rezishou:'自守',
rezishou2:'自守',
rezishou_info:'摸牌阶段你可以多摸X张牌。若如此做本回合你对其他角色造成伤害时防止此伤害且结束阶段若你本回合没有使用牌指定其他角色为目标则你可以将场上的一张装备牌移动到自己的装备区。X为场上势力数',
//rezishou_info:'摸牌阶段你可以多摸X张牌。若如此做本回合你对其他角色造成伤害时防止此伤害且结束阶段若你本回合没有使用牌指定其他角色为目标则你可以将场上的一张装备牌移动到自己的装备区。X为场上势力数',
rezishou_info:'摸牌阶段你可以多摸X张牌。若如此做本回合你对其他角色造成伤害时防止此伤害。',
rezongshi:'宗室',
rezongshi_info:'锁定技,你的手牌上限+XX为势力数。准备阶段若你的手牌数大于体力值则你本回合内使用【杀】无次数限制。',
ol_dongzhuo:'界董卓',
@ -7654,7 +7898,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
re_bulianshi:'界步练师',
reanxu:'安恤',
reanxu_info:'出牌阶段限一次,你可以选择两名其他角色,令其中一名角色获得另一名角色的一张牌。若以此法移动的牌不来自装备区,则你摸一张牌。然后你可以令二者中手牌数较少的一名角色摸一张牌。',
xin_gongsunzan:'界公孙瓒',
xinyicong:'义从',
xinyicong_info:'锁定技,你计算与其他角色的距离时-X其他角色计算与你的距离时+Y。X为你的体力值-1Y为你的已损失体力值-1',
oltianxiang:'天香',
@ -7666,10 +7909,30 @@ game.import('character',function(lib,game,ui,get,ai,_status){
decadelihuo:'疠火',
decadelihuo2:'疠火',
decadelihuo3:'疠火',
decadelihuo_info:'当你声明使用普【杀】时,你可以将此【杀】改为火【杀】。你使用的火【杀】结算完成后若此【杀】的目标数大于1且你因此【杀】造成过伤害则你失去1点体力。',
decadelihuo_info:'当你声明使用普【杀】时,你可以将此【杀】改为火【杀】。当你使用火【杀】选择目标时,可以选择一个额外目标。你使用的火【杀】结算完成后若此【杀】的目标数大于1且你因此【杀】造成过伤害则你失去1点体力。',
decadechunlao:'醇醪',
decadechunlao2:'醇醪',
decadechunlao_info:'你可以对其他角色使用【酒使用方法②】。当你需要使用【酒】时若你的武将牌未横置则你可以将武将牌横置然后视为使用【酒】。当你受到或造成伤害后若伤害值大于1且你的武将牌横置则你可以重置武将牌。',
re_yufan:'界虞翻',
rezongxuan:'纵玄',
rezongxuan_place:'纵玄',
rezongxuan_info:'当你的牌因弃置而进入弃牌堆后,你可以将其以任意顺序置于牌堆顶。出牌阶段限一次,你可以摸一张牌,然后将一张牌置于牌堆顶。',
re_liru:'界李儒',
rejuece:'绝策',
rejuece_info:'结束阶段你可以对一名本回合内失去过牌的角色造成1点伤害。',
remieji:'灭计',
remieji_info:'出牌阶段限一次,你可以将一张黑色锦囊牌置于牌堆顶,然后令一名有牌的其他角色选择一项:交给你一张锦囊牌,或依次弃置两张非锦囊牌。',
re_manchong:'界满宠',
rejunxing:'峻刑',
rejunxing_info:'出牌阶段限一次你可以弃置任意张手牌并选择一名其他角色。该角色选择一项1.弃置X张牌并失去1点体力。2.翻面并摸X张牌。X为你弃置的牌数',
re_gongsunzan:'界公孙瓒',
reqiaomeng:'趫猛',
reqiaomeng_info:'当你使用【杀】对一名角色造成伤害后,你可以弃置该角色区域内的一张牌。若此牌是坐骑牌,你于此牌置入弃牌堆时获得之。',
ol_dengai:'界邓艾',
oltuntian:'屯田',
olzaoxian:'凿险',
oltuntian_info:'当你于回合外失去牌后,或于弃牌阶段因弃置而失去【杀】后,你可以进行判定。若判定结果不为♥,则你将此牌置于你的武将牌上,称之为【田】。锁定技,你计算与其他角色的距离时-XX为你武将牌上【田】的数目',
olzaoxian_info:'觉醒技准备阶段若你武将牌上【田】的数量达到3张或更多则你减1点体力上限并获得技能〖急袭〗。你于当前回合结束后进行一个额外的回合。',
refresh_standard:'界限突破·标',
refresh_feng:'界限突破·风',

View File

@ -3150,12 +3150,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
audioname:['gz_dengai'],
trigger:{
player:'loseAfter',
source:'gainAfter',
global:['equipAfter','addJudgeAfter'],
global:['equipAfter','addJudgeAfter','gainAfter'],
},
frequent:true,
filter:function(event,player){
if(player==_status.currentPhase) return false;
if(event.name=='gain'&&event.player==player) return false;
var evt=event.getl(player);
return evt&&evt.cards2&&evt.cards2.length>0;
},
@ -3303,7 +3303,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
jixi:{
audio:2,
audioname:['re_dengai','gz_dengai'],
audioname:['re_dengai','gz_dengai','ol_dengai'],
enable:'phaseUse',
filter:function(event,player){
return player.storage.tuntian.length>0&&event.filterCard({name:'shunshou'},player,event);

View File

@ -5,7 +5,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
connect:true,
characterSort:{
sp:{
sp_default:["caoying","simahui","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","tadun","yanbaihu","chengyu","wanglang","sp_pangde","sp_jiaxu","litong","mizhu","buzhi","caochun","dongbai","zhaoxiang","mazhong","dongyun","kanze","heqi","wangyun","sunqian","xizhicai","quyi","luzhi","xujing","yuantanyuanshang","sunshao","zhangling",'guansuo','baosanniang','ol_zhangchangpu','caoshuang'],
sp_default:["caoying","simahui","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","tadun","yanbaihu","chengyu","wanglang","sp_pangde","sp_jiaxu","litong","mizhu","buzhi","caochun","dongbai","zhaoxiang","mazhong","dongyun","kanze","heqi","wangyun","sunqian","xizhicai","quyi","luzhi","xujing","yuantanyuanshang","sunshao","zhangling",'guansuo','baosanniang','ol_zhangchangpu','caoshuang','sp_zhangliao'],
sp_zhongdan:["cuiyan","huangfusong"],
sp_star:["sp_xiahoushi","jsp_zhaoyun","huangjinleishi","sp_pangtong","sp_daqiao","sp_ganning","sp_xiahoudun","sp_lvmeng","sp_zhangfei","sp_liubei"],
sp_sticker:['sp_gongsunzan','sp_simazhao','sp_wangyuanji','sp_xinxianying','sp_liuxie'],
@ -17,7 +17,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
characterFilter:{},
character:{
caoshuang:['male','wei',4,['tuogu','shanzhuan']],
sp_zhangliao:['male','qun',4,['mubing','ziqu','diaoling']],
caoshuang:['male','wei',4,['retuogu','shanzhuan']],
ol_zhangchangpu:['female','wei',3,['yanjiao','olxingshen']],
zhangling:['male','qun',4,['zlhuji','zlshoufu'],['unseen']],
caiyang:['male','qun',1,['yinka'],['forbidai','unseen']],
@ -50,7 +51,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
yuanshu:['male','qun',4,['yongsi','weidi']],
sp_diaochan:['female','qun',3,['lihun','rebiyue']],
sp_zhaoyun:['male','qun',3,['ollongdan','chongzhen']],
jsp_zhaoyun:['male','qun',3,['chixin','yicong','suiren']],
jsp_zhaoyun:['male','qun',3,['chixin','reyicong','suiren']],
liuxie:['male','qun',3,['tianming','mizhao']],
zhugejin:['male','wu',3,['hongyuan','huanshi','mingzhe']],
zhugeke:['male','wu',3,['aocai','duwu']],
@ -596,6 +597,45 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},result.control);
},
},
retuogu:{
audio:2,
trigger:{global:'die'},
filter:function(event,player){
return event.player.getStockSkills('仲村由理','天下第一').filter(function(skill){
var info=get.info(skill);
return info&&!info.juexingji&&!info.zhuSkill&&!info.charlotte&&!info.limited;
}).length>0;
},
logTarget:'player',
content:function(){
'step 0'
var list=trigger.player.getStockSkills('仲村由理','天下第一').filter(function(skill){
var info=get.info(skill);
return info&&!info.juexingji&&!info.zhuSkill&&!info.charlotte&&!info.limited;
});
if(!list.length) event._result={control:list[0]};
else trigger.player.chooseControl(list).set('prompt','选择令'+get.translation(player)+'获得一个技能').set('forceDie',true).set('ai',function(){
return list.randomGet();
});
'step 1'
if(player.storage.retuogu) player.removeSkill(player.storage.retuogu);
player.storage.retuogu=result.control;
player.markSkill('retuogu');
player.addSkillLog(result.control);
game.broadcastAll(function(skill){
var list=[skill];
game.expandSkills(list);
for(var i of list){
var info=lib.skill[i];
if(!info) continue;
if(!info.audioname2) info.audioname2={};
info.audioname2.caoshuang='tuogu';
}
},result.control);
},
mark:true,
intro:{content:'当前托孤技能:$'},
},
shanzhuan:{
trigger:{source:'damageSource'},
audio:2,
@ -6115,8 +6155,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
audio:2,
trigger:{
player:['loseAfter','gainAfter'],
source:'gainAfter',
global:['equipAfter','addJudgeAfter'],
global:['equipAfter','addJudgeAfter','gainAfter'],
},
direct:true,
filter:function(event,player){
@ -11681,13 +11720,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
sijian:{
trigger:{
player:'loseAfter',
source:'gainAfter',
global:['equipAfter','addJudgeAfter'],
global:['equipAfter','addJudgeAfter','gainAfter'],
},
direct:true,
audio:2,
filter:function(event,player){
if(player.countCards('h')) return false;
if(event.name=='gain'&&event.player==player) return false;
var evt=event.getl(player);
return evt&&evt.hs&&evt.hs.length>0;
},
@ -13175,7 +13214,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
player.storage.suiren=true;
player.awakenSkill('suiren');
player.logSkill('suiren',result.targets);
player.removeSkill('yicong');
player.removeSkill('reyicong');
player.gainMaxHp();
player.recover();
result.targets[0].draw(3);
@ -15365,6 +15404,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
caoshuang:'曹爽',
tuogu:'托孤',
tuogu_info:'限定技,一名角色死亡时,你可以令其选择其武将牌上的一个技能(主公技,限定技,觉醒技等特殊技能除外),然后你获得其选择的技能。',
retuogu:'托孤',
retuogu_info:'一名角色死亡时,你可以令其选择其武将牌上的一个技能(主公技,限定技,觉醒技等特殊技能除外),然后你获得其选择的技能并失去上次因〖托孤〗获得的技能。',
shanzhuan:'擅专',
shanzhuan_info:'当你对其他角色造成伤害后,若其判定区没有牌,则你你可以将其的一张牌置于其的判定区。若此牌不为延时锦囊牌且此牌为:红色,此牌视为【乐不思蜀】;黑色,此牌视为【兵粮寸断】。回合结束时,若你本回合内未造成伤害,你可摸一张牌。',
spniluan:'逆乱',

View File

@ -13,7 +13,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
ol_yujin:['male','wei',4,['rezhenjun']],
ol_xinxianying:['female','wei',3,['caishi','zhongjian']],
caobuxing:['male','wu',3,['moying','juanhui'],[]],
//sp_zhangliao:['male','qun',4,['mubing','diaoling']],
re_sunluyu:['female','wu',3,['remeibu','remumu']],
re_liuzan:['male','wu',4,['refenyin','liji']],
wenyang:['male','wei',5,['xinlvli','choujue']],
@ -398,12 +397,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
audio:2,
trigger:{
player:'loseAfter',
source:'gainAfter',
global:['equipAfter','addJudgeAfter'],
global:['equipAfter','addJudgeAfter','gainAfter'],
},
direct:true,
filter:function(event,player){
if(player==_status.currentPhase||event.getParent().name=='useCard') return false;
if(event.name=='gain'&&event.player==player) return false;
var evt=event.getl(player);
return evt&&evt.cards2&&evt.cards2.length==1&&
['equip','trick'].contains(get.type2(evt.cards2[0],(evt.type=='discard'&&evt.hs.contains(evt.cards2[0]))?player:false))&&
@ -855,6 +854,22 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return event.player!=player&&!player.getStorage('ziqu').contains(event.player)&&
event.player.countCards('he')>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(event.num>1) return false;
var cards=target.getCards('he');
for(var i=0;i<cards.length;i++){
if(get.number(cards[i])>10) return true;
}
return false;
},
logTarget:'player',
content:function(){
'step 0'
@ -870,7 +885,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
'step 1'
if(result.bool&&result.cards&&result.cards.length) player.gain(result.cards,trigger.player,'giveAuto');
},
intro:{content:'已对#发动过'},
intro:{content:'已对$发动过'},
},
mubing_rewrite:{
mark:true,
@ -1099,7 +1114,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return (player.getStat().skill.liji||0)<(event.liji_num||0);
},
onChooseToUse:function(event){
if(game.online) return
if(game.online) return;
var num=0;
var evt2=event.getParent();
if(!evt2.liji_all) evt2.liji_all=(game.players.length>4?8:4);
@ -4402,8 +4417,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
player.storage.guju++;
player.markSkill('guju');
'step 1'
if(player.hasZhuSkill('bingzhao',trigger.player)&&trigger.player.group==player.storage.bingzhao){
trigger.player.chooseBool(get.prompt2('bingzhao',player)).ai=function(){
if(player.hasZhuSkill('bingzhao',trigger.player)&&trigger.player.group==player.storage.bingzhao&&trigger.player.isAlive()){
trigger.player.chooseBool('是否对'+get.translation(player)+'发动【秉诏】?').ai=function(){
return get.attitude(trigger.player,player)>1;
};
}
@ -5791,7 +5806,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
remumu:'穆穆',
remumu_info:'出牌阶段开始时你可以选择一项1.弃置一名其他角色装备区里的一张牌,然后你本回合可使用【杀】的次数+12.获得一名角色装备区里的一张防具牌,然后你本回合可使用【杀】的次数-1。',
sp_zhangliao:'SP张辽',
//这技能给SP仲村由理毫无违和感好吗
//这技能给SP仲村由理毫无违和感好吗
mubing:'募兵',
mubing_info:'出牌阶段开始时,你可以展示牌堆顶的三张牌。你可弃置任意张手牌,并可获得任意张点数之和不大于你弃置的牌点数之和的牌。',
ziqu:'资取',

View File

@ -2065,8 +2065,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
audio:2,
trigger:{
player:'loseAfter',
source:'gainAfter',
global:['equipAfter','addJudgeAfter'],
global:['equipAfter','addJudgeAfter','gainAfter'],
},
frequent:true,
filter:function(event,player){
@ -2097,8 +2096,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
audioname:['sp_sunshangxiang','re_sunshangxiang'],
trigger:{
player:'loseAfter',
source:'gainAfter',
global:['equipAfter','addJudgeAfter'],
global:['equipAfter','addJudgeAfter','gainAfter'],
},
frequent:true,
filter:function(event,player){

View File

@ -441,8 +441,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
audio:'qinguo_use',
trigger:{
player:'loseAfter',
source:'gainAfter',
global:['equipAfter','addJudgeAfter'],
global:['equipAfter','addJudgeAfter','gainAfter'],
},
prompt:'是否发动【勤国】回复1点体力',
filter:function (event,player){

View File

@ -7,7 +7,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
characterSort:{
yijiang:{
yijiang_2011:['caozhi','re_yujin','zhangchunhua','fazheng','xin_masu','xin_xushu','xusheng','lingtong','wuguotai','chengong','gaoshun'],
yijiang_2012:['old_wangyi','xunyou','zhonghui','madai','liaohua','old_guanzhang','bulianshi','handang','chengpu','liubiao','old_huaxiong','caozhang','re_gongsunzan'],
yijiang_2012:['old_wangyi','xunyou','zhonghui','madai','liaohua','old_guanzhang','bulianshi','handang','chengpu','liubiao','old_huaxiong','caozhang'],
yijiang_2013:['manchong','guohuai','caochong','guanping','liufeng','jianyong','yufan','panzhangmazhong','zhuran','xin_liru','fuhuanghou'],
yijiang_2014:['hanhaoshihuan','chenqun','caozhen','zhangsong','wuyi','zhoucang','zhuhuan','guyong','sunluban','yj_jushou','caifuren'],
yijiang_2015:['caoxiu','caorui','zhongyao','xiahoushi','liuchen','zhangyi','zhuzhi','quancong','sunxiu','gongsunyuan','guotufengji'],
@ -16,7 +16,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
},
character:{
re_gongsunzan:['male','qun',4,['qiaomeng','reyicong']],
fazheng:['male','shu',3,['enyuan','xuanhuo']],
old_guanzhang:['male','shu',4,['old_fuhun']],
old_wangyi:['female','wei',3,['oldzhenlie','oldmiji']],
@ -42,7 +41,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
jianyong:['male','shu',3,['qiaoshui','jyzongshi']],
madai:['male','shu',4,['mashu','oldqianxi']],
liufeng:['male','shu',4,['xiansi']],
manchong:['male','wei',3,['xinjunxing','yuce']],
manchong:['male','wei',3,['junxing','yuce']],
chenqun:['male','wei',3,['pindi','faen']],
sunluban:['female','wu',3,['chanhui','jiaojin']],
guyong:['male','wu',3,['shenxing','bingyi']],
@ -290,8 +289,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
audio:'shangshi',
trigger:{
player:['loseAfter','changeHp','gainMaxHpAfter','loseMaxHpAfter'],
source:'gainAfter',
global:['equipAfter','addJudgeAfter'],
global:['equipAfter','addJudgeAfter','gainAfter'],
},
frequent:true,
prompt:function(event,player){
@ -4809,6 +4807,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
skillAnimation:'epic',
animationColor:'gray',
audio:2,
audioname:['re_liru'],
enable:'phaseUse',
filter:function(event,player){
return !player.storage.xinfencheng;
@ -10076,8 +10075,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
return false;
},
frequent:true,
popup:false,
direct:true,
content:function(){
"step 0"
var cards=[];
@ -10095,13 +10093,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
while(cards.length){
ui.cardPile.insertBefore(cards.pop(),ui.cardPile.firstChild);
}
player.logSkill('zongxuan');
player.logSkill(event.name);
}
},
},
zhiyan:{
audio:2,
audioname:['gexuan'],
audioname:['gexuan','re_yufan'],
trigger:{player:'phaseJieshuBegin'},
direct:true,
content:function(){
@ -10906,8 +10904,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
audioname:['boss_lvbu3','re_heqi'],
trigger:{
player:['loseAfter','phaseDiscardEnd'],
source:'gainAfter',
global:['equipAfter','addJudgeAfter'],
global:['equipAfter','addJudgeAfter','gainAfter'],
},
direct:true,
filter:function(event,player){
@ -11526,6 +11523,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
yuce:{
audio:2,
audioname:['re_manchong'],
trigger:{player:'damageAfter'},
direct:true,
filter:function(event,player){
@ -12676,7 +12674,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
reshangshi:'伤逝',
reshangshi_2nd:'伤逝',
reshangshi_info:'当你受到伤害时你可以弃置一张牌。当你的手牌数小于X时你可以将手牌摸至X张。X为你已损失的体力值',
re_gongsunzan:'公孙瓒',
rejingce:'精策',
rejingce2:'精策',
rejingce_add:'精策',

View File

@ -1,5 +1,5 @@
window.noname_asset_list=[
'v1.9.105.5',
'v1.9.105.6',
'audio/background/aozhan_chaoming.mp3',
'audio/background/aozhan_online.mp3',
'audio/background/aozhan_rewrite.mp3',
@ -626,6 +626,11 @@ window.noname_asset_list=[
'audio/die/sunqian.mp3',
'audio/die/wuxian.mp3',
'audio/die/re_liuzan.mp3',
'audio/die/dingyuan.mp3',
'audio/die/re_liru.mp3',
'audio/die/re_manchong.mp3',
'audio/die/re_yufan.mp3',
'audio/die/xin_jianyong.mp3',
'audio/skill/anguo1.mp3',
'audio/skill/anguo2.mp3',
@ -2756,6 +2761,27 @@ window.noname_asset_list=[
'audio/skill/liji2.mp3',
'audio/skill/refenyin1.mp3',
'audio/skill/refenyin2.mp3',
'audio/skill/beizhu1.mp3',
'audio/skill/beizhu2.mp3',
'audio/skill/beizhu3.mp3',
'audio/skill/rejuece1.mp3',
'audio/skill/rejuece2.mp3',
'audio/skill/rejunxing1.mp3',
'audio/skill/rejunxing2.mp3',
'audio/skill/remieji1.mp3',
'audio/skill/remieji2.mp3',
'audio/skill/rezongxuan1.mp3',
'audio/skill/rezongxuan2.mp3',
'audio/skill/xinfencheng_re_liru1.mp3',
'audio/skill/xinfencheng_re_liru2.mp3',
'audio/skill/xinjyzongshi1.mp3',
'audio/skill/xinjyzongshi2.mp3',
'audio/skill/xinqiaoshui1.mp3',
'audio/skill/xinqiaoshui2.mp3',
'audio/skill/yuce_re_manchong1.mp3',
'audio/skill/yuce_re_manchong2.mp3',
'audio/skill/zhiyan_re_yufan1.mp3',
'audio/skill/zhiyan_re_yufan2.mp3',
'font/huangcao.ttf',
'font/shousha.ttf',
@ -3387,6 +3413,13 @@ window.noname_asset_list=[
'image/character/key_godan.jpg',
'image/character/shen_diaochan.jpg',
'image/character/key_yuu.jpg',
'image/character/dingyuan.jpg',
'image/character/re_liru.jpg',
'image/character/re_manchong.jpg',
'image/character/re_yufan.jpg',
'image/character/sp_zhangliao.jpg',
'image/character/xin_jianyong.jpg',
'image/character/zhangyì.jpg',
'image/character/baiwuchang.jpg',
'image/character/baosanniang.jpg',

View File

@ -1,13 +1,14 @@
window.noname_update={
version:'1.9.105.5.1',
update:'1.9.105.5',
version:'1.9.105.6',
update:'1.9.105.5.1',
changeLog:[
'SP仲村由理调整',
'界满宠、手杀简雍、界虞翻、界李儒、丁原、SP张辽',
'曹爽、刘表、界孙坚、界太史慈、界公孙瓒调整',
'bug修复',
],
files:[
'card/extra.js',
//'card/extra.js',
//'card/huanlekapai.js',
//'card/sp.js',
//'card/standard.js',
@ -18,9 +19,9 @@ window.noname_update={
//'card/gwent.js',
//'card/yunchou.js',
//'card/zhenfa.js',
'card/zhulu.js',
//'card/zhulu.js',
'character/diy.js',
//'character/extra.js',
'character/extra.js',
//'character/hearth.js',
//'character/gujian.js',
//'character/gwent.js',
@ -29,14 +30,14 @@ window.noname_update={
//'character/mtg.js',
//'character/old.js',
'character/refresh.js',
//'character/shenhua.js',
'character/shenhua.js',
'character/sp.js',
'character/sp2.js',
//'character/tw.js',
'character/standard.js',
//'character/swd.js',
//'character/xianjian.js',
//'character/xinghuoliaoyuan.js',
'character/xinghuoliaoyuan.js',
'character/yijiang.js',
//'character/yxs.js',
//'extension/boss/extension.js',
@ -44,16 +45,16 @@ window.noname_update={
//'layout/nova/layout.css',
//'mode/identity.js',
//'mode/doudizhu.js',
'mode/guozhan.js',
//'mode/guozhan.js',
//'mode/chess.js',
//'mode/tafang.js',
//'mode/single.js',
//'mode/stone.js',
//'mode/brawl.js',
//'mode/versus.js',
'mode/versus.js',
//'mode/boss.js',
'game/game.js',
'game/keyWords.js',
//'game/keyWords.js',
//'game/server.js',
//'game/NoSleep.js',
//'game/config.js',

Binary file not shown.

After

Width:  |  Height:  |  Size: 152 KiB

BIN
image/character/re_liru.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 154 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 146 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 186 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 151 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 181 KiB

View File

@ -2597,7 +2597,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
_status.firstAct=game.falseZhu;
game.delay(0,5000);
"step 1"
event.falseList=['xunyu','xunyou','re_guojia','re_zhangliao','re_xuhuang','yujin_yujin','caohong','jsp_guanyu','liuye','litong','zangba','manchong','hanhaoshihuan','chengyu','caoren'].filter(function(name){
event.falseList=['xunyu','xunyou','re_guojia','re_zhangliao','re_xuhuang','yujin_yujin','caohong','jsp_guanyu','liuye','litong','zangba','re_manchong','re_hanhaoshihuan','chengyu','caoren'].filter(function(name){
if(!Array.isArray(lib.character[name])) return false;
lib.character[name][1]='wei';
return true;
@ -2673,7 +2673,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
},evt);
game.me.chooseControl('ok').set('prompt','###本局特殊事件:'+get.translation(evt)+'###'+get.translation(evt+'_info'));
'step 1'
event.falseList=['xunyu','xunyou','re_guojia','re_zhangliao','re_xuhuang','yujin_yujin','caohong','jsp_guanyu','liuye','litong','zangba','manchong','hanhaoshihuan','chengyu','caoren'].filter(function(name){
event.falseList=['xunyu','xunyou','re_guojia','re_zhangliao','re_xuhuang','yujin_yujin','caohong','jsp_guanyu','liuye','litong','zangba','re_manchong','re_hanhaoshihuan','chengyu','caoren'].filter(function(name){
if(!Array.isArray(lib.character[name])) return false;
lib.character[name][1]='wei';
return true;