This commit is contained in:
Spmario233 2021-07-15 12:47:00 +08:00
parent 5ebaccf55c
commit 76247d1c44
30 changed files with 1064 additions and 160 deletions

Binary file not shown.

BIN
audio/skill/rejigong1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/rejigong2.mp3 Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -640,7 +640,8 @@ game.import('card',function(lib,game,ui,get,ai,_status){
muniu_skill7:{
trigger:{player:'loseEnd'},
firstDo:true,
silent:true,
forced:true,
//silent:true,
filter:function(event,player){
if(!event.ss||!event.ss.length||event.parent.name=='lose_muniu') return false;
var muniu=player.getEquip('muniu');
@ -950,6 +951,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
muniu:'木牛流马',
muniu_bg:'牛',
muniu_skill:'木牛',
muniu_skill7:'木牛流马',
muniu_skill_bg:'辎',
muniu_info:'出牌阶段限一次,你可以将一张手牌扣置于你装备区里的【木牛流马】下,若如此做,你可以将此装备移动到一名其他角色的装备区里;你可以将此装备牌下的牌如手牌般使用或打出。',
muniu_skill_info:'出牌阶段限一次,你可以将一张手牌扣置于你装备区里的【木牛流马】下,若如此做,你可以将此装备移动到一名其他角色的装备区里;你可以将此装备牌下的牌如手牌般使用或打出。',

View File

@ -2399,6 +2399,16 @@ game.import('card',function(lib,game,ui,get,ai,_status){
game.players[i].hideTimer();
}
'step 8'
if(event.wuxieresult&&event.wuxieresult2&&event.wuxieresult2.skill){
var info=get.info(event.wuxieresult2.skill);
if(info&&info.precontent&&!game.online){
var next=game.createEvent('pre_'+event.wuxieresult2);
next.setContent(info.precontent);
next.set('result',event.wuxieresult2);
next.set('player',event.wuxieresult);
}
}
'step 9'
if(event.wuxieresult){
var next=event.wuxieresult.useResult(event.wuxieresult2);
if(event.stateplayer&&event.statecard) next.respondTo=[event.stateplayer,event.statecard];
@ -2406,7 +2416,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
next.respondTo=[trigger.player,trigger.card];
}
}
'step 9'
'step 10'
if(event.wuxieresult){
if(result.wuxied){
event.nowuxie=result.nowuxie;

View File

@ -76,6 +76,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
key_kamome:['female','key',3,['kamome_yangfan','kamome_huanmeng','kamome_jieban']],
key_nao:['female','key',3,['nao_duyin','nao_wanxin','nao_shouqing']],
key_yuuki:['female','key',3,['yuuki_yicha']],
key_tenzen:['male','key',4,['tenzen_yixing','tenzen_lingyu']],
key_kyouko:['female','key',3,['kyouko_rongzhu','kyouko_gongmian']],
ns_huangchengyan:['male','shu',3,['nslongyue','nszhenyin']],
@ -186,7 +187,7 @@ 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_yijiang2:["key_yuuki","key_kyouko",
diy_yijiang2:["key_yuuki","key_tenzen","key_kyouko",
"ns_chentai","ns_huangwudie","ns_sunyi","ns_zhangning","ns_yanghu"],
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","ns_luyusheng"],
diy_fakenews:["diy_wenyang","ns_zhangwei","ns_caimao","ns_chengpu"],
@ -279,7 +280,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
key_kamome:'#b仿生纱',
key_nao:'#b潮鸣',
key_yuuki:'#b4399司命',
key_kyouko:'#g阿阿啊687',
key_kyouko:'#b阿阿阿687',
ns_huangchengyan:'#g竹邀月',
ns_sunchensunjun:'#gVenusjeu',
@ -451,6 +452,166 @@ game.import('character',function(lib,game,ui,get,ai,_status){
key_lucia:['key_shizuru'],
},
skill:{
tenzen_yixing:{
trigger:{
player:'damageEnd',
source:'damageSource',
},
logTarget:function(event,player){
if(player==event.player) return event.source;
return event.player;
},
filter:function(event,player){
if(!event.card||(event.card.name!='sha'&&event.card.name!='juedou')) return false;
var hairi=lib.skill.tenzen_yixing.logTarget(event,player);
return hairi&&hairi!=player&&hairi.isAlive()&&(hairi.name1!='key_shizuku'&&hairi.name2!='key_shizuku');
},
frequent:true,
content:function(){
'step 0'
player.draw();
'step 1'
if(player.countCards('he')>0){
player.chooseCard('he',true,'将一张牌作为“兴”置于武将牌上');
}
else event.finish();
'step 2'
if(result.bool){
var cards=result.cards;
player.lose(cards,ui.special,'toStorage');
player.markAuto('tenzen_yixing',cards);
game.log(player,'将',cards,'放在了武将牌上');
}
},
intro:{
content:'cards',
},
group:'tenzen_yixing_counter',
subSkill:{
counter:{
trigger:{target:'useCardToTargeted'},
filter:function(event,player){
if(player==event.player||!player.getStorage('tenzen_yixing').length) return false;
return event.targets.length==1&&(event.card.name=='sha'||get.type(event.card)=='trick');
},
prompt:function(event){
return '获得武将牌上的一张“兴”,并于'+get.translation(event.card)+'结算完成后视为对'+get.translation(event.player)+'使用一张同名牌';
},
check:function(event,player){
if(!player.storage.tenzen_lingyu&&player.getStorage('tenzen_yixing').length<3) return false;
var card={
name:event.card.name,
nature:event.card.nature,
isCard:true,
}
return player.canUse(card,event.player,false)&&get.effect(event.player,card,player,player)>0;
},
content:function(){
'step 0'
player.chooseButton(['选择获得一张“兴”',player.storage.tenzen_yixing],true);
'step 1'
if(result.bool){
player.gain(result.links,'gain2','fromStorage');
player.unmarkAuto('tenzen_yixing',result.links);
}
var next=game.createEvent('tenzen_yixing_insert');
event.next.remove(next);
trigger.getParent().after.push(next);
next.player=player;
next.target=trigger.player;
next.setContent(function(){
var card=event.getParent().card;
card={
name:card.name,
nature:card.nature,
isCard:true,
};
if(player.canUse(card,target,false)) player.useCard(card,target,false,'tenzen_yixing');
});
},
},
},
},
tenzen_lingyu:{
trigger:{player:'phaseZhunbeiBegin'},
forced:true,
juexingji:true,
skillAnimation:true,
animationColor:'water',
filter:function(event,player){
return player.getStorage('tenzen_yixing').length>1;
},
content:function(){
player.awakenSkill('tenzen_lingyu');
player.storage.tenzen_lingyu=true;
player.loseMaxHp();
if(player.isHealthy()) player.draw(2);
player.addSkill('tenzen_tianquan');
},
},
tenzen_tianquan:{
trigger:{player:'useCardToPlayered'},
filter:function(event,player){
return (event.card.name=='sha'||event.card.name=='juedou')&&event.targets.length==1&&player.getStorage('tenzen_yixing').length>0;
},
logTarget:'target',
usable:1,
check:function(event,player){
return get.attitude(player,event.target)<0;
},
content:function(){
'step 0'
player.viewHandcards(trigger.target);
'step 1'
player.chooseButton(['选择一张“兴”置于牌堆顶',player.storage.tenzen_yixing],true);
'step 2'
if(result.bool){
player.unmarkAuto('tenzen_yixing',result.links);
var cards=get.cards(5);
player.showCards(cards,get.translation(player)+'发动了【天全】');
game.cardsGotoOrdering(cards).relatedEvent=trigger.getParent();
ui.cardPile.insertBefore(result.links[0],ui.cardPile.firstChild);
var num=cards.filter(function(card){
return get.type(card,false)=='basic';
}).length;
if(num){
if(trigger.card.name=='sha'){
var id=trigger.target.playerid;
var map=trigger.getParent().customArgs;
if(!map[id]) map[id]={};
if(typeof map[id].shanRequired=='number'){
map[id].shanRequired+=num;
}
else{
map[id].shanRequired=1+num;
}
}
else{
var idt=trigger.target.playerid;
var map=trigger.getParent().customArgs;
if(!map[idt]) map[idt]={};
if(!map[idt].shaReq) map[idt].shaReq={};
if(!map[idt].shaReq[idt]) map[idt].shaReq[idt]=1;
map[idt].shaReq[idt]++;
}
}
if(num<5){
var next=game.createEvent('tenzen_lingyu_gain');
next.cards=cards;
next.player=player;
event.next.remove(next);
trigger.getParent().after.push(next);
next.setContent(function(){
if(player.getHistory('sourceDamage',function(evt){
return evt.card==event.parent.card;
}).length>0) player.gain(cards.filter(function(card){
return get.type(card,false)!='basic';
}),'gain2');
});
}
}
},
},
kyouko_rongzhu:{
trigger:{global:'gainEnd'},
filter:function(event,player){
@ -2963,7 +3124,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
else event.finish();
'step 3'
if(event.count&&game.hasPlayer(function(target){
return lib.skill.ryoichi_baoyi.filterTarget;
return lib.skill.ryoichi_baoyi.filterTarget(null,player,target);
})) event.goto(1);
},
},
@ -14811,6 +14972,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
kyouko_gongmian_use:'共勉',
kyouko_gongmian_exchange:'共勉',
kyouko_gongmian_info:'①出牌阶段你可以选择一名未以此法选择过的角色若其手牌大于你你获得其一张牌然后交给其一张牌小于你其交给你一张牌然后你交给其一张牌等于你你与其各摸一张牌。②出牌阶段结束时你可以获得一名其他角色区域内的至多X张牌然后交给其等量的牌。③弃牌阶段开始时若X不小于你的体力值你可以获得一名手牌数少于你的角色的所有手牌然后将手牌数的一半向上取整交给该角色。X为你本回合内发动过〖共勉①〗的次数',
key_tenzen:'加纳天善',
tenzen_yixing:'弈兴',
tenzen_yixing_info:'当你因【杀】或【决斗】而造成伤害后或受到伤害后,你可以摸一张牌,然后将一张牌置于武将牌上,称为“兴”。当你成为其他角色使用【杀】或普通锦囊牌的唯一目标后,你可以获得一张“兴”,并于此牌结算完成后视为对其使用一张名称相同的牌。',
//若对方为水织静久则无法触发〖弈兴〗
tenzen_lingyu:'领域',
tenzen_lingyu_info:'觉醒技准备阶段若你的“兴”超过一张则你减1点体力上限并获得技能〖天全〗。若你以此法失去了体力则你摸两张牌。',
tenzen_tianquan:'天全',
tenzen_tianquan_info:'每回合限一次,当你使用【杀】或【决斗】指定唯一目标后,你可以观看目标角色的手牌,将一张“兴”置于牌堆顶并展示牌堆顶的五张牌。这些牌中每有一张基本牌,响应此牌需要的【闪】/【杀】的数量便+1。此牌结算完成后若此牌造成过伤害则你获得这些牌中的非基本牌。',
noname:"小无",
noname_zhuyuan:"祝愿",

View File

@ -14,6 +14,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
extra_lei:['shen_ganning','shen_zhangliao'],
extra_key:['key_kagari','key_shiki','key_hina'],
extra_ol:['ol_zhangliao','shen_caopi','shen_zhenji'],
extra_mobile:['shen_guojia'],
extra_offline:['shen_diaochan','boss_zhaoyun'],
extra_mini:['mini_zhugeliang','mini_lvbu','mini_lvmeng'],
},
@ -23,6 +24,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
key_shiki:['female','shen','3/5',['shiki_omusubi'],['key']],
key_hina:['female','shen',3,['hina_shenxian','hina_mashu','hina_tieji'],['key','hiddenSkill']],
shen_guojia:['male','shen',3,['shuishi','stianyi','sghuishi']],
shen_diaochan:['female','shen',3,['meihun','huoxin'],['qun']],
shen_guanyu:['male','shen',5,['new_wuhun','wushen'],['shu']],
shen_zhaoyun:['male','shen',2,['xinjuejing','relonghun'],['shu']],
@ -33,10 +35,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
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"]],
"shen_luxun":["male","shen",4,["nzry_junlve","nzry_cuike","nzry_dinghuo"],["wu"]],
"shen_zhangliao":["male","shen",4,["drlt_duorui","drlt_zhiti"],["wei"]],
"shen_ganning":["male","shen","3/6",["drlt_poxi","drlt_jieying"],["wu"]],
shen_liubei:["male","shen",6,["nzry_longnu","nzry_jieying"],["shu"]],
shen_luxun:["male","shen",4,["nzry_junlve","nzry_cuike","nzry_dinghuo"],["wu"]],
shen_zhangliao:["male","shen",4,["drlt_duorui","drlt_zhiti"],["wei"]],
shen_ganning:["male","shen","3/6",["drlt_poxi","drlt_jieying"],["wu"]],
ol_zhangliao:['male','shen',4,['olduorui','olzhiti'],['wei']],
shen_caopi:['male','shen',5,['chuyuan','dengji'],['wei']],
shen_zhenji:['female','shen',4,['shenfu','qixian'],['wei']],
@ -228,6 +230,190 @@ game.import('character',function(lib,game,ui,get,ai,_status){
player.turnOver();
},
},
shuishi:{
enable:'phaseUse',
usable:1,
filter:function(event,player){
return player.maxHp<10;
},
filterTarget:true,
content:function(){
'step 0'
target.draw();
'step 1'
if(!result||!Array.isArray(result)||result.length!=1||get.itemtype(result[0])!='card'){
event.finish();
return;
}
var suit=get.suit(result[0]),hs=target.getCards('h');
for(var i of hs){
if(i!=result[0]&&get.suit(i,target)==suit){
player.loseMaxHp();
target.showHandcards();
event.finish();
return;
}
}
player.gainMaxHp();
'step 2'
if(player.maxHp<10){
player.chooseBool('是否继续发动【慧识】?');
}
else event.finish();
'step 3'
if(result.bool) event.goto(0);
},
ai:{
order:0.5,
result:{
target:0.2,
player:function(player,target){
var list=[],hs=target.getCards('h');
for(var i of hs) list.add(get.suit(i,target));
if(list.length==0) return 0;
if(list.length==1) return player.maxHp>2?0:-2;
if(list.length==2) return player.maxHp>3?0:-2;
return -2;
},
},
},
},
stianyi:{
trigger:{player:'phaseZhunbeiBegin'},
forced:true,
juexingji:true,
skillAnimation:true,
animationColor:'gray',
filter:function(event,player){
return !game.hasPlayer(function(current){
return current.getAllHistory('damage').length==0;
});
},
content:function(){
'step 0'
player.awakenSkill('stianyi');
player.gainMaxHp(2);
player.recover();
'step 1'
player.chooseTarget(true,'令一名角色获得技能〖佐幸〗').set('ai',function(target){
return get.attitude(_status.event.player,target);
});
'step 2'
if(result.bool){
var target=result.targets[0];
player.line(target,'green');
target.storage.zuoxing=player;
target.addSkill('zuoxing');
}
},
derivation:'zuoxing',
},
zuoxing:{
trigger:{player:'phaseZhunbeiBegin'},
filter:function(event,player){
var target=player.storage.zuoxing;
return target&&target.isAlive()&&target.maxHp>1;
},
logTarget:function(event,player){
return player.storage.zuoxing;
},
check:function(event,player){
var target=player.storage.zuoxing;
if(get.attitude(player,target)<=0) return true;
return target.maxHp>3&&!player.hasJudge('lebu');
},
content:function(){
player.storage.zuoxing.loseMaxHp();
player.addTempSkill('zuoxing2');
},
},
zuoxing2:{
enable:'phaseUse',
usable:1,
filter:function(event,player){
for(var i of lib.inpile){
if(get.type(i)=='trick'&&event.filterCard({name:i,isCard:true},player,event)) return true;
}
return false;
},
chooseButton:{
dialog:function(event,player){
var list=[];
for(var i of lib.inpile){
if(get.type(i)=='trick'&&event.filterCard({name:i,isCard:true},player,event)) list.push(['锦囊','',i]);
}
return ui.create.dialog('佐幸',[list,'vcard']);
},
check:function(button){
return _status.event.player.getUseValue({name:button.link[2],isCard:true});
},
backup:function(links,player){
return {
viewAs:{
name:links[0][2],
isCard:true,
},
filterCard:()=>false,
selectCard:-1,
popname:true,
precontent:function(){
player.logSkill('zuoxing');
//delete event.result.skill;
},
}
},
prompt:function(links,player){
return '请选择'+get.translation(links[0][2])+'的目标';
},
},
ai:{order:1,result:{player:1}},
},
sghuishi:{
enable:'phaseUse',
limited:true,
skillAnimation:true,
animationColor:'water',
filterTarget:lib.filter.notMe,
content:function(){
'step 0'
player.awakenSkill('sghuishi');
var list=target.getSkills(null,false,false).filter(function(skill){
var info=lib.skill[skill];
return info&&info.juexingji;
});
if(list.length){
target.addMark('sghuishi',1,false);
for(var i of list){
var info=lib.skill[i];
if(info.filter&&!info.charlotte&&!info.sghuishi_filter){
info.sghuishi_filter=info.filter;
info.filter=function(event,player){
if(player.hasMark('sghuishi')) return true;
return this.sghuishi_filter.apply(this,arguments);
}
}
}
}
else target.draw(4);
player.loseMaxHp(2);
},
intro:{content:'发动非Charlotte觉醒技时无视条件'},
ai:{
order:0.1,
expose:0.2,
result:{
target:function(player,target){
if(player.hasUnknown()||player.maxHp<5) return 0;
var list=target.getSkills(null,false,false).filter(function(skill){
var info=lib.skill[skill];
return info&&info.juexingji;
});
if(list.length||target.hasJudge('lebu')||target.hasSkillTag('nogain')) return 0;
return 4;
},
},
},
},
zhanjiang:{
trigger:{player:'phaseZhunbeiBegin'},
filter:function(event,player){
@ -4147,6 +4333,16 @@ game.import('character',function(lib,game,ui,get,ai,_status){
boss_juejing_info:'锁定技,摸牌阶段开始前,你跳过此阶段。当你获得牌/失去手牌后若你的手牌数大于4/小于4则你将手牌摸至4张/弃置至4张。',
zhanjiang:'斩将',
zhanjiang_info:'准备阶段开始时,如果其他角色的装备区内有【青釭剑】,你可以获得之',
shen_guojia:'神郭嘉',
shuishi:'慧识',
shuishi_info:'出牌阶段限一次若你的体力上限小于10则你可选择一名角色。你令其摸一张牌若其以此法获得的牌与该角色的其他手牌花色均不相同则你加1点体力上限若你的体力上限小于10则你可以重复此流程否则你减1点体力上限且其展示所有手牌。',
stianyi:'天翊',
stianyi_info:'觉醒技准备阶段若场上的所有存活角色均于本局游戏内受到过伤害则你加2点体力上限并回复1点体力然后令一名角色获得技能〖佐幸〗。',
zuoxing:'佐幸',
zuoxing2:'佐幸',
zuoxing_info:'准备阶段若令你获得〖佐幸〗的角色存活且体力上限大于1则你可以令其减1点体力上限然后你获得如下效果出牌阶段限一次你可以获得一张普通锦囊牌。',
sghuishi:'辉逝',
sghuishi_info:'限定技出牌阶段你可以选择一名其他角色若其有未发动过的觉醒技则你令其发动这些觉醒技时无视原有条件否则其摸四张牌。然后你减2点体力上限。',
key_kagari:'篝',
kagari_zongsi:'纵丝',
@ -4178,6 +4374,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
extra_lei:'神话再临·雷',
extra_key:'神话再临·论外',
extra_ol:'神话再临OL',
extra_mobile:'神话再临·始计篇',
extra_offline:'神话再临·线下',
extra_mini:'欢乐三国杀',
},

View File

@ -12,12 +12,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
mobile_shijixin:['wujing','sp_mifuren','sp_xinpi'],
mobile_sunben:["re_sunben"],
mobile_standard:["xin_xiahoudun","xin_zhangfei"],
mobile_shenhua:["re_pangtong","re_guanqiujian","xin_yuanshao","re_liushan","re_dongzhuo","re_sp_zhugeliang","re_sunjian","re_dengai"],
mobile_shenhua:["re_pangtong","re_guanqiujian","xin_yuanshao","re_liushan","re_dongzhuo","re_sp_zhugeliang","re_sunjian","re_dengai","re_jiangwei","re_zhurong"],
mobile_yijiang1:["re_jikang","old_bulianshi","xin_liaohua","xin_caozhang","re_xusheng","xin_chengpu","xin_jianyong","xin_gongsunzan","xin_zhuran","re_lingtong","re_liubiao","xin_guohuai","xin_panzhangmazhong","xin_fuhuanghou","re_handang"],
mobile_sp:["old_yuanshu","re_wangyun","re_baosanniang","re_weiwenzhugezhi","re_zhanggong","re_xugong","re_heqi","liuzan","xin_hansui"],
},
},
character:{
re_zhurong:['female','shu',4,['juxiang','relieren']],
re_jiangwei:['male','shu',4,['retiaoxin','zhiji']],
wujing:['male','wu',4,['heji']],
sp_mifuren:['female','shu',3,['spcunsi','spguixiu']],
sp_xinpi:['male','wei',3,['spyinju','spchijie']],
@ -341,6 +343,76 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
},
skill:{
relieren:{
shaRelated:true,
audio:2,
audioname:['boss_lvbu3'],
trigger:{player:'useCardToPlayered'},
filter:function(event,player){
return event.card.name=='sha'&&player.canCompare(event.target);
},
check:function(event,player){
return get.attitude(player,event.target)<0;
},
//priority:5,
content:function(){
"step 0"
player.chooseToCompare(trigger.target).clear=false;
"step 1"
if(result.bool){
if(trigger.target.countGainableCards(player,'he')) player.gainPlayerCard(trigger.target,true,'he');
ui.clear();
}
else{
var card1=result.player;
var card2=result.target;
if(get.position(card1)=='d') trigger.target.gain(card1,'gain2');
if(get.position(card2)=='d') player.gain(card2,'gain2');
}
}
},
retiaoxin:{
audio:'tiaoxin',
audioname:['sp_jiangwei','xiahouba','re_jiangwei'],
enable:'phaseUse',
usable:1,
filterTarget:function(card,player,target){
return target!=player&&target.countCards('he');
},
content:function(){
"step 0"
target.chooseToUse(function(card,player,event){
if(get.name(card)!='sha') return false;
return lib.filter.filterCard.apply(this,arguments);
},'挑衅:对'+get.translation(player)+'使用一张杀,或令其弃置你的一张牌').set('targetRequired',true).set('complexSelect',true).set('filterTarget',function(card,player,target){
if(target!=_status.event.sourcex&&!ui.selected.targets.contains(_status.event.sourcex)) return false;
return lib.filter.filterTarget.apply(this,arguments);
}).set('sourcex',player);
"step 1"
if(result.bool==false&&target.countCards('he')>0){
player.discardPlayerCard(target,'he',true);
}
else{
event.finish();
}
},
ai:{
order:4,
expose:0.2,
result:{
target:-1,
player:function(player,target){
if(!target.canUse('sha',player)) return 0;
if(target.countCards('h')==0) return 0;
if(target.countCards('h')==1) return -0.1;
if(player.hp<=2) return -2;
if(player.countCards('h','shan')==0) return -1;
return -0.5;
}
},
threaten:1.1
}
},
//狗剩
reduoji:{
audio:'duoji',
@ -8594,6 +8666,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
spchijie_info:'每回合限一次。当你成为其他角色使用牌的唯一目标时你可判定。若结果大于6则你取消此牌的所有目标。',
reduoji:'夺冀',
reduoji_info:'出牌阶段限一次,你可将一张牌置于其他角色的武将牌上,称为“冀”。当有装备牌因使用而进入一名角色的装备区后,若该角色有“冀”且其为使用者,则你获得此装备牌,其移去一个“冀”并摸一张牌。一名其他角色的回合结束后,若其有“冀”,则你获得其的所有“冀”。',
re_jiangwei:'界姜维',
retiaoxin:'挑衅',
retiaoxin_info:'出牌阶段限一次,你可以指定一名有牌的其他角色,该角色需对你使用一张【杀】,否则你弃置其一张牌。',
re_zhurong:'界祝融',
relieren:'烈刃',
relieren_info:'当你使用【杀】指定目标后,你可以和目标角色进行拼点。若你赢,你获得其一张牌。若你没赢,你获得对方的拼点牌,其获得你的拼点牌。',
mobile_standard:'手杀异构·标准包',
mobile_shenhua:'手杀异构·神话再临',

View File

@ -470,6 +470,8 @@ window.noname_character_rank={
'ns_chentai',
'ns_yanghu',
'ns_zhangning',
'huangchengyan',
'zhongyan',
],
bp:[
'chess_diaochan',
@ -674,6 +676,10 @@ window.noname_character_rank={
'nanhualaoxian',
'ns_sunyi',
'key_kyouko',
're_guotufengji',
'shen_guojia',
'ol_jiangwei',
'key_tenzen',
],
b:[
'diy_feishi',
@ -854,6 +860,7 @@ window.noname_character_rank={
'cheliji',
'shibao',
'zhangmiao',
'ol_zhurong',
],
bm:[
'diy_xizhenxihong',
@ -1067,6 +1074,7 @@ window.noname_character_rank={
'junk_simayi',
'key_youta',
'old_chenqun',
'duanwei',
],
rarity:{
legend:[
@ -1171,6 +1179,7 @@ window.noname_character_rank={
're_sunben',
'ol_dingyuan',
'wujing',
'shen_guojia',
'key_tomoya',
'key_masato',
'key_shiorimiyuki',
@ -1184,6 +1193,9 @@ window.noname_character_rank={
'key_shiroha',
'key_hina',
'key_sakuya',
'key_yuuki',
'key_kyouko',
'key_tenzen',
'noname',
],
epic:[
@ -1374,8 +1386,7 @@ window.noname_character_rank={
'key_chihaya',
'key_yukito',
'key_kotomi',
'key_yuuki',
'key_kyouko',
'zhongyan',
'kaisa',
],
rare:[
@ -1657,6 +1668,10 @@ window.noname_character_rank={
're_zhoucang',
'sp_mifuren',
'cheliji',
're_guotufengji',
'ol_jiangwei',
'ol_zhurong',
'huangchengyan',
],
junk:[
'sunshao',

View File

@ -7,20 +7,21 @@ game.import('character',function(lib,game,ui,get,ai,_status){
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','ol_zhurong'],
refresh_shan:['re_jiangwei','re_caiwenji','ol_liushan','re_zhangzhang','re_zuoci','re_sunce','ol_dengai'],
refresh_lin:['re_menghuo','ol_sunjian','re_caopi','re_xuhuang','ol_dongzhuo','ol_zhurong'],
refresh_shan:['ol_jiangwei','re_caiwenji','ol_liushan','re_zhangzhang','re_zuoci','re_sunce','ol_dengai'],
refresh_yijiang1:['re_wuguotai','re_gaoshun','re_caozhi','yujin_yujin','re_masu','xin_xusheng','re_fazheng','xin_lingtong','re_zhangchunhua'],
refresh_yijiang2:['old_madai','wangyi','guanzhang','xin_handang','re_zhonghui','re_liaohua','re_chengpu','re_caozhang','re_bulianshi','xin_liubiao'],
refresh_yijiang3:['re_jianyong','re_guohuai','re_zhuran','re_panzhangmazhong','re_yufan','re_liru','re_manchong','re_fuhuanghou'],
refresh_yijiang4:['re_sunluban','re_wuyi','re_hanhaoshihuan','re_caozhen','re_zhoucang','re_chenqun'],
refresh_yijiang5:['re_zhangyi','re_quancong','re_caoxiu','re_sunxiu','re_gongsunyuan'],
refresh_yijiang5:['re_zhangyi','re_quancong','re_caoxiu','re_sunxiu','re_gongsunyuan','re_guotufengji'],
},
},
connect:true,
character:{
re_chenqun:['math','wei',3,['redingpin','refaen']],
re_guotufengji:['male','qun',3,['rejigong','shifei']],
re_chenqun:['male','wei',3,['redingpin','refaen']],
re_zhoucang:['male','shu',4,['rezhongyong']],
ol_zhurong:['female','shu',4,['juxiang','lieren','changbiao'],['unseen']],
ol_zhurong:['female','shu',4,['juxiang','lieren','changbiao']],
re_zhangchunhua:['female','wei',3,['rejueqing','reshangshi']],
re_gongsunyuan:['male','qun',4,['rehuaiyi']],
re_caozhen:['male','wei',4,['residi']],
@ -57,7 +58,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
re_zhuran:['male','wu',4,['xindanshou']],
re_caozhi:['male','wei',3,['reluoying','rejiushi','chengzhang']],
ol_pangtong:['male','shu',3,['ollianhuan','olniepan'],[]],
re_zhangyi:['male','shu',4,['rewurong','shizhi']],
re_zhangyi:['male','shu',5,['rewurong','reshizhi']],
re_wuguotai:['female','wu',3,['reganlu','buyi']],
re_gaoshun:['male','qun',4,['rexianzhen','rejinjiu']],
re_caocao:['male','wei',4,['new_rejianxiong','hujia'],['zhu']],
@ -106,12 +107,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
re_dianwei:["male","wei",4,["reqiangxi"],[]],
re_yanwen:["male","qun",4,["reshuangxiong"],[]],
ol_yuanshao:['male','qun',4,['olluanji','olxueyi'],['zhu']],
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/5',['gzyinghun','wulie']],
re_caopi:['male','wei',3,['rexingshang','refangzhu','songwei'],['zhu']],
re_jiangwei:['male','shu',4,['retiaoxin','zhiji']],
ol_jiangwei:['male','shu',4,['oltiaoxin','olzhiji']],
re_caiwenji:['female','qun',3,['rebeige','duanchang']],
ol_liushan:['male','shu',3,['xiangle','olfangquan','olruoyu'],['zhu']],
re_zhangzhang:['male','wu',3,['rezhijian','guzheng']],
@ -134,6 +134,140 @@ game.import('character',function(lib,game,ui,get,ai,_status){
re_xushu:['zhaoyun','sp_zhugeliang'],
},
skill:{
//界姜维
oltiaoxin:{
audio:'tiaoxin',
audioname:['sp_jiangwei','xiahouba','re_jiangwei','gz_jiangwei','ol_jiangwei'],
enable:'phaseUse',
usable:2,
filter:function(event,player){
if(player.getStat('skill').oltiaoxin) return !player.hasSkill('oltiaoxin2');
return true;
},
filterTarget:function(card,player,target){
return target!=player&&target.inRange(player)&&target.countCards('he')>0;
},
content:function(){
"step 0"
target.chooseToUse(function(card,player,event){
if(get.name(card)!='sha') return false;
return lib.filter.filterCard.apply(this,arguments);
},'挑衅:对'+get.translation(player)+'使用一张杀,或令其弃置你的一张牌').set('targetRequired',true).set('complexSelect',true).set('filterTarget',function(card,player,target){
if(target!=_status.event.sourcex&&!ui.selected.targets.contains(_status.event.sourcex)) return false;
return lib.filter.filterTarget.apply(this,arguments);
}).set('sourcex',player);
"step 1"
if(result.bool&&player.getHistory('damage',function(evt){
return evt.getParent().type=='card'&&evt.getParent(4)==event;
}).length>0) player.addTempSkill('oltiaoxin2','phaseUseEnd');
else if(target.countDiscardableCards(player,'he')>0) player.discardPlayerCard(target,'he',true).boolline=true;
},
ai:{
order:4,
expose:0.2,
result:{
target:-1,
player:function(player,target){
if(target.countCards('h')==0) return 0;
if(target.countCards('h')==1) return -0.1;
if(player.hp<=2) return -2;
if(player.countCards('h','shan')==0) return -1;
return -0.5;
}
},
threaten:1.1
}
},
oltiaoxin2:{},
olzhiji:{
skillAnimation:true,
animationColor:'fire',
audio:2,
unique:true,
juexingji:true,
//priority:-10,
derivation:'reguanxing',
trigger:{player:['phaseZhunbeiBegin','phaseJieshuBegin']},
forced:true,
filter:function(event,player){
if(player.storage.zhiji) return false;
return player.countCards('h')==0;
},
content:function(){
"step 0"
player.awakenSkill('olzhiji');
player.chooseDrawRecover(2,true);
"step 1"
player.loseMaxHp();
player.storage.olzhiji=true;
player.addSkill('reguanxing');
}
},
//界郭图张嶷
rejigong:{
audio:2,
direct:true,
trigger:{player:'phaseUseBegin'},
content:function(){
'step 0'
player.chooseControl('一张','两张','三张','cancel2').set('prompt',get.prompt2('rejigong')).set('ai',()=>'三张');
'step 1'
if(result.control!='cancel2'){
player.logSkill('rejigong');
player.addTempSkill('rejigong2');
player.draw(1+result.index);
}
},
},
rejigong2:{
audio:'rejigong',
mod:{
maxHandcardBase:function(player){
if(game.online) return (player.getStat('damage')||0);
var num=0;
player.getHistory('sourceDamage',function(evt){
num+=evt.num;
});
return num;
},
},
trigger:{player:'phaseDiscardBegin'},
forced:true,
charlotte:true,
filter:function(event,player){
if(player.isHealthy()) return false;
var num=0;
player.getHistory('sourceDamage',function(evt){
num+=evt.num;
});
if(!num) return false;
var num2=0;
player.getHistory('gain',function(evt){
var evtx=evt.getParent(2);
if(evtx.name=='rejigong'&&evtx.player==player) num2+=evt.cards.length;
});
return num>=num2;
},
content:function(){
player.recover();
},
},
reshizhi:{
mod:{
cardname:function(card,player){
if(card.name=='shan'&&player.hp==1) return 'sha';
},
},
trigger:{source:'damageEnd'},
forced:true,
filter:function(event,player){
return event.card&&event.card.name=='sha'&&player.hp==1&&
event.cards&&event.cards.length==1&&event.cards[0].name=='shan';
},
content:function(){
player.recover();
},
},
//界陈群
redingpin:{
audio:2,
@ -1656,7 +1790,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
direct:true,
filter:function(event,player){
return game.hasPlayer(function(current){
return current!=player&&current.getHistory('lose').length>0;
return current!=player&&current.getHistory('lose',function(evt){
return evt.cards2&&evt.cards2.length>0;
}).length>0;
});
},
content:function(){
@ -1664,7 +1800,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
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;
return current!=player&&current.getHistory('lose',function(evt){
return evt.cards2&&evt.cards2.length>0;
}).length>0;
})).set('ai',function(target){
var player=_status.event.player;
return get.damageEffect(target,player,player);
@ -8586,48 +8724,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
nolose:true
}
},
retiaoxin:{
audio:'tiaoxin',
audioname:['sp_jiangwei','xiahouba','re_jiangwei'],
enable:'phaseUse',
usable:1,
filterTarget:function(card,player,target){
return target!=player&&target.countCards('he');
},
content:function(){
"step 0"
target.chooseToUse(function(card,player,event){
if(get.name(card)!='sha') return false;
return lib.filter.filterCard.apply(this,arguments);
},'挑衅:对'+get.translation(player)+'使用一张杀,或令其弃置你的一张牌').set('targetRequired',true).set('complexSelect',true).set('filterTarget',function(card,player,target){
if(target!=_status.event.sourcex&&!ui.selected.targets.contains(_status.event.sourcex)) return false;
return lib.filter.filterTarget.apply(this,arguments);
}).set('sourcex',player);
"step 1"
if(result.bool==false&&target.countCards('he')>0){
player.discardPlayerCard(target,'he',true);
}
else{
event.finish();
}
},
ai:{
order:4,
expose:0.2,
result:{
target:-1,
player:function(player,target){
if(!target.canUse('sha',player)) return 0;
if(target.countCards('h')==0) return 0;
if(target.countCards('h')==1) return -0.1;
if(player.hp<=2) return -2;
if(player.countCards('h','shan')==0) return -1;
return -0.5;
}
},
threaten:1.1
}
},
rebeige:{
audio:'beige',
audioname:['re_caiwenji'],
@ -8881,34 +8977,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
air:{},
},
},
relieren:{
shaRelated:true,
audio:2,
audioname:['boss_lvbu3'],
trigger:{player:'useCardToPlayered'},
filter:function(event,player){
return event.card.name=='sha'&&player.canCompare(event.target);
},
check:function(event,player){
return get.attitude(player,event.target)<0;
},
//priority:5,
content:function(){
"step 0"
player.chooseToCompare(trigger.target).clear=false;
"step 1"
if(result.bool){
if(trigger.target.countGainableCards(player,'he')) player.gainPlayerCard(trigger.target,true,'he');
ui.clear();
}
else{
var card1=result.player;
var card2=result.target;
if(get.position(card1)=='d') trigger.target.gain(card1,'gain2');
if(get.position(card2)=='d') player.gain(card2,'gain2');
}
}
},
rezaiqi:{
count:function(){
var num=0;
@ -9239,7 +9307,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
rehuashen_info:'游戏开始后,你随机获得三张未加入游戏的武将牌,选一张置于你面前并声明该武将牌的一项技能,你拥有该技能且同时将性别和势力属性变成与该武将相同直到该化身被替换。你的每个准备阶段和结束后,你可以选择一项:①弃置至多两张未展示的化身牌并重新获得等量化身牌;②更换所展示的化身牌或技能。(你不可声明限定技、觉醒技、隐匿技、主公技等特殊技能)。',
rexinsheng:'新生',
rexinsheng_info:'当你受到1点伤害后你可以获得一张新的化身牌。',
re_zhurong:'界祝融',
re_menghuo:'界孟获',
re_sunjian:'手杀孙坚',
re_caopi:'界曹丕',
@ -9251,18 +9318,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
rexingshang_info:'当其他角色死亡后你可以选择一项回复1点体力或获得其所有牌。',
refangzhu:'放逐',
refangzhu_info:'当你受到伤害后你可以令一名其他角色选择一项摸X张牌并将武将牌翻面或弃置X张牌并失去1点体力。X为你已损失的体力值',
relieren:'烈刃',
relieren_info:'当你使用【杀】指定目标后,你可以和目标角色进行拼点。若你赢,你获得其一张牌。若你没赢,你获得对方的拼点牌,其获得你的拼点牌。',
rezaiqi:'再起',
rezaiqi_info:'弃牌阶段结束时你可以令至多X名角色选择一项1.摸一张牌2.令你回复1点体力X为本回合进入弃牌堆的红色牌数',
re_jiangwei:'界姜维',
ol_jiangwei:'界姜维',
re_caiwenji:'界蔡文姬',
re_baosanniang:'手杀鲍三娘',
retuntian:'屯田',
retiaoxin:'挑衅',
rebeige:'悲歌',
retuntian_info:'当你于回合外失去牌时,你可以进行一次判定。若判定结果为♥,你获得此判定牌。否则你将此牌置于你的武将牌上,称之为【田】。锁定技,你计算与其他角色的距离时-XX为你武将牌上【田】的数目',
retiaoxin_info:'出牌阶段限一次,你可以指定一名有牌的其他角色,该角色需对你使用一张【杀】,否则你弃置其一张牌。',
rebeige_info:'当有角色受到【杀】造成的伤害后你可以弃一张牌并令其进行一次判定若判定结果为♥该角色回复X点体力(X为伤害点数);♦︎该角色摸三张牌;♣伤害来源弃两张牌;♠伤害来源将其武将牌翻面',
re_liushan:'手杀刘禅',
re_sunben:'界孙笨',
@ -9479,6 +9542,17 @@ game.import('character',function(lib,game,ui,get,ai,_status){
redingpin_info:'出牌阶段,你可以弃置一张本回合未使用过/弃置过的类型的牌并选择一名角色。其进行判定若结果为黑色其摸X张牌X为其体力值且至多为3且本回合内不能再成为〖定品〗的目标红桃你令此次弃置的牌不计入〖定品〗弃置牌合法性的检测方片你将武将牌翻面。',
refaen:'法恩',
refaen_info:'一名角色翻面或横置后,你可令其摸一张牌。',
reshizhi:'矢志',
reshizhi_info:'锁定技若你的体力值为1则你的【闪】视为【杀】且当你使用对应的实体牌为一张【闪】的非转化普通杀造成伤害后你回复1点体力。',
re_guotufengji:'界郭图逢纪',
rejigong:'急攻',
rejigong2:'急攻',
rejigong_info:'出牌阶段开始时你可以摸至多三张牌。若如此做你本回合的手牌上限基数改为X且弃牌阶段结束时若X不小于Y则你回复1点体力。X为你本回合内造成的伤害值之和Y为你本回合内因〖急攻〗摸牌而获得的牌的数量总和',
ol_jiangwei:'界姜维',
oltiaoxin:'挑衅',
oltiaoxin_info:'出牌阶段限一次,你可以选择一名攻击范围内包含你的角色。然后除非该角色对你使用一张【杀】且此【杀】对你造成伤害,否则你弃置其一张牌,然后将此技能于此出牌阶段内修改为出牌阶段限两次。 ',
olzhiji:'志继',
olzhiji_info:'觉醒技准备阶段或结束阶段若你没有手牌你回复1点体力或摸两张牌然后减1点体力上限获得〖观星〗。',
refresh_standard:'界限突破·标',
refresh_feng:'界限突破·风',

View File

@ -5571,11 +5571,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(card.name=='sha') return num+1;
}
},
charlotte:true,
},
tianyi3:{
mod:{
cardEnabled:function(card){if(card.name=='sha') return false}
}
},
charlotte:true,
},
shuangxiong:{
audio:true,
@ -7337,13 +7339,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
caopi:['caopi','re_caopi'],
xuhuang:['re_xuhuang','xuhuang'],
menghuo:['re_menghuo','menghuo'],
zhurong:['re_zhurong','zhurong'],
zhurong:['re_zhurong','ol_zhurong','zhurong'],
sunjian:['ol_sunjian','re_sunjian','sunjian'],
jiaxu:['jiaxu','ns_jiaxu'],
dongzhuo:['ol_dongzhuo','sp_dongzhuo','re_dongzhuo','dongzhuo'],
dengai:['re_dengai','ol_dengai','dengai'],
sp_zhanghe:['sp_zhanghe','yj_zhanghe'],
jiangwei:['re_jiangwei','mini_jiangwei','jiangwei'],
jiangwei:['ol_jiangwei','re_jiangwei','mini_jiangwei','jiangwei'],
liushan:['ol_liushan','re_liushan','liushan'],
sunce:['re_sunben','re_sunce','sunce'],
zhangzhang:['re_zhangzhang','zhangzhang'],

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","zhugejin","zhugeke","guanyinping","simalang","zhangxingcai","sp_sunshangxiang","caoang","sp_caoren","zhangbao","maliang","zhugedan","sp_jiangwei","sp_machao","sunhao","shixie","mayunlu","zhanglu","wutugu","sp_caiwenji","zhugeguo","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','wolongfengchu','ol_xinxianying','panshu','huangzu'],
sp_default:["caoying","simahui","yangxiu","chenlin","caohong","xiahouba","yuanshu","sp_diaochan","sp_zhaoyun","zhugejin","zhugeke","guanyinping","simalang","zhangxingcai","sp_sunshangxiang","caoang","sp_caoren","zhangbao","maliang","zhugedan","sp_jiangwei","sp_machao","sunhao","shixie","mayunlu","zhanglu","wutugu","sp_caiwenji","zhugeguo","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','wolongfengchu','ol_xinxianying','panshu','huangzu','huangchengyan'],
sp_tongque:["liuxie","lingju","fuwan","sp_fuwan","sp_fuhuanghou","sp_jiben"],
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"],
@ -18,6 +18,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
characterFilter:{},
character:{
huangchengyan:['male','qun',3,['guanxu','yashi']],
huangzu:['male','qun',4,['wangong']],
panshu:['female','wu',3,['weiyi','jinzhi']],
sp_jiben:['male','qun',3,['spduanzhi','spduyi']],
@ -161,6 +162,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
//kaisa:["male","western",4,["zhengfu"]],
},
characterIntro:{
huangchengyan:'黄承彦,生卒年不详,汉末三国时期沔阳名士,诸葛亮岳父,黄月英之父。南郡大士蔡讽的女婿,与襄阳名士上层社会圈子:庞统(凤雏)、庞德公、司马徽、徐庶等人交好。《襄阳记》:黄承彦者,高爽开列,为沔阳名士,谓诸葛孔明曰:“闻君择妇,身有丑女,黄头黑色,而才堪配。”孔明许,即载送之。时人以为笑乐,乡里为之谚曰:“莫作孔明择妇,正得阿承丑女。”',
panshu:'潘淑252年会稽句章今浙江省宁波市是吴大帝孙权的皇后吴少帝孙亮的母亲。和孙权是中国历代帝后中年龄差距较大的一对。潘淑少时与姐姐俱没入织室容媚有宠拜为夫人生有一子孙亮。赤乌十三年250年孙权立孙亮为皇太子翌年251年立潘淑为皇后。神凤元年252年暴崩合葬蒋陵。世称潘淑为江东绝色有神女之称。',
jiben:'吉本—218年东汉末年太医令。建安二十三年春正月时金祎自以世为汉臣睹汉祚将移谓可季兴乃喟然发愤遂与太医令本、少府耿纪、司直韦晃、本子邈、邈弟穆等结谋攻许杀曹公长史王必南援刘备。后必营必与典农中郎将严匡讨斩之。在《三国演义》中吉本在此为吉平或吉太因字称平故又唤作吉平。曾参与董承等人刺杀曹操的计划并企图在为曹操治病时毒死曹操但被曹操识破而遭处刑。之后其子吉邈和吉穆都参与了由耿纪和韦晃等人所发动的反叛曹操的行动但都失败被杀。',
zongyu:'宗预264年字德艳 荆州南阳郡安众县今河南省南阳市人。三国时期蜀汉官员、将领。曾随张飞入蜀助平益州又受辟为丞相诸葛亮手下主簿升任参军、右中郎将。诸葛亮逝世后宗预受命出使孙吴得到孙权的赞赏。迁后将军出督永安又升任征西大将军并受封关内侯。公元258年景耀元年因病回成都受任镇军大将军。蜀汉灭亡后宗预随后主刘禅徙往洛阳在中途病逝。宗预为人坦率耿直多次出使孙吴并深得孙权的敬重为吴、汉两国同盟的巩固作出了一定的贡献。',
@ -427,6 +429,151 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
},
skill:{
//黄承彦
guanxu:{
enable:'phaseUse',
usable:1,
filter:function(event,player){
return game.hasPlayer((current)=>lib.skill.guanxu.filterTarget(null,player,current));
},
filterTarget:function(card,player,target){
return target!=player&&target.countCards('h')>0;
},
content:function(){
'step 0'
var cards=get.cards(5);
for(var i=cards.length-1;i>=0;i--){
ui.cardPile.insertBefore(cards[i],ui.cardPile.firstChild);
}
game.updateRoundNumber();
var hs=target.getCards('h');
var dialog=['观虚:选择要操作的牌','<div class="text center">'+get.translation(target)+'的手牌</div>',hs,'<div class="text center">牌堆顶</div>',cards];
player.chooseButton(dialog,2).set('filterButton',function(button){
if(ui.selected.buttons.length) return get.position(button.link)!=get.position(ui.selected.buttons[0].link);
return true;
}).set('cards1',hs).set('cards2',cards).set('ai',function(button){
var card=button.link,cards1=_status.event.cards1.slice(0);
var cards2=_status.event.cards2.slice(0),target=_status.event.getParent().target;
if(!ui.selected.buttons.length){
if(!cards1.contains(card)) return 0;
cards1.remove(card);
var suits=cards2.map(function(i){
return get.suit(i,target);
});
for(var i of lib.suit){
var num=cards1.filter(function(c){
return get.suit(c,target)==i;
}).length;
if(num>2||(num>1&&suits.contains(i))) return 20+get.value(card);
}
return get.value(card);
}
cards1.remove(ui.selected.buttons[0].link);
cards1.push(card);
for(var i of lib.suit){
if(cards1.filter(function(c){
return get.suit(c,target)==i;
}).length>2) return 20-get.value(card);
return get.value(ui.selected.buttons[0].link)-get.value(card);
}
});
'step 1'
if(result.bool){
var cards=result.links;
if(get.position(cards[0])!='h') cards.reverse();
var next=target.lose(cards[0],ui.cardPile);
next.insert_index_card=cards[1];
next.insert_index=function(event){
return event.insert_index_card;
}
target.gain(cards[1],'draw');
}
else event.finish();
'step 2'
game.updateRoundNumber();
var suits=[],map={},hs=target.getCards('h');
if(hs.length){
for(var i of hs){
if(!lib.filter.canBeDiscarded(i,player,target,'guanxu')) continue;
var suit=get.suit(i,target);
if(!map[suit]) map[suit]=1;
else map[suit]++;
if(map[suit]>2) suits.add(suit);
}
var next=player.discardPlayerCard(target,3,'visible','h');
next.set('suits',suits);
next.set('filterButton',function(button){
var suit=get.suit(button.link);
if(!ui.selected.buttons.length) return _status.event.suits.contains(suit);
return suit==get.suit(ui.selected.buttons[0].link)
});
if(suits.length) next.set('forced',true);
}
},
ai:{
order:9,
result:{
target:function(player,target){
if(target.countCards('h')>3) return -5;
if(target.countCards('h')==3) return -3;
return -0.5;
},
},
},
},
yashi:{
trigger:{player:'damageEnd'},
direct:true,
filter:function(event,player){
if(event.source&&event.source.isAlive()) return true;
return game.hasPlayer((current)=>lib.skill.guanxu.filterTarget(null,player,current));
},
content:function(){
'step 0'
event.addIndex=0;
var choiceList=[];
if(trigger.source&&trigger.source.isAlive()){
choiceList.push('令'+get.translation(trigger.source)+'的所有非锁定技失效');
}
else event.addIndex++;
if(game.hasPlayer((current)=>lib.skill.guanxu.filterTarget(null,player,current))) choiceList.push('发动一次〖观虚〗');
player.chooseControl('cancel2').set('prompt',get.prompt('yashi')).set('choiceList',choiceList).set('ai',function(){
var player=_status.event.player,source=_status.event.getTrigger().source,index=_status.event.getParent().index;
if(game.hasPlayer(function(current){
return current!=player&&current.countCards('h')>3&&get.attitude(player,current)<0;
})) return 1-index;
if(source&&source.isAlive()&&get.attitude(player,source)<0&&!source.hasSkill('fengyin')) return 0;
if(game.hasPlayer(function(current){
return current!=player&&current.countCards('h')>0&&get.attitude(player,current)<0;
})) return 1-index;
return 'cancel2';
});
'step 1'
if(result.control!='cancel2'){
if(result.index+event.addIndex==0){
var target=trigger.source;
player.logSkill('yashi',target);
target.removeSkill('fengyin');
target.addTempSkill('fengyin',{player:'phaseBegin'});
event.finish();
}
else player.chooseTarget(true,'请选择〖观虚〗的目标',lib.skill.guanxu.filterTarget).set('ai',function(target){
var player=_status.event.player;
return get.effect(target,'guanxu',player,player);
});
}
else event.finish();
'step 2'
if(result.bool){
var target=result.targets[0];
player.logSkill('yashi',target);
var next=game.createEvent('yashi_guanxu');
next.player=player;
next.target=target;
next.setContent(lib.skill.guanxu.content);
}
},
},
//黄祖
wangong:{
audio:2,
@ -11387,7 +11534,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
unique:true,
juexingji:true,
audio:2,
derivation:'retiaoxin',
derivation:'oltiaoxin',
trigger:{player:'dying'},
//priority:10,
forced:true,
@ -11402,7 +11549,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
player.recover(2-player.hp);
}
"step 2"
player.addSkill('retiaoxin');
player.addSkill('oltiaoxin');
player.storage.kunfen=true;
player.awakenSkill('fengliang');
},
@ -14163,7 +14310,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
var list=[];
if(player.hp<=3){
//if(trigger.num!=undefined&&trigger.num<0&&player.hp-trigger.num>1) player.logSkill('baobian');
list.push('retiaoxin');
list.push('oltiaoxin');
}
if(player.hp<=2){
list.push('olpaoxiao');
@ -14175,13 +14322,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
player.addAdditionalSkill('baobian',list);
}
},
derivation:['retiaoxin','olpaoxiao','xinshensu'],
derivation:['oltiaoxin','olpaoxiao','xinshensu'],
content:function(){
player.removeAdditionalSkill('baobian');
var list=[];
if(player.hp<=3){
if(trigger.num!=undefined&&trigger.num<0&&player.hp-trigger.num>1) player.logSkill('baobian');
list.push('retiaoxin');
list.push('oltiaoxin');
}
if(player.hp<=2){
list.push('olpaoxiao');
@ -17148,6 +17295,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
wangong:'挽弓',
wangong2:'挽弓',
wangong_info:'锁定技,当你使用基本牌时,你获得如下效果:当你使用下一张牌时,若此牌为【杀】,则此牌无次数和距离限制且伤害+1。',
huangchengyan:'黄承彦',
guanxu:'观虚',
guanxu_info:'出牌阶段限一次你可以观看一名其他角色的手牌然后你可将其中一张手牌与牌堆顶5张牌中的一张交换。若如此做你弃置其手牌中3张花色相同的牌。',
yashi:'雅士',
yashi_info:'当你受到一次伤害后你可选择一项1. 令伤害来源的非锁定技无效直到其下个回合开始2. 对一名其他角色发动〖观虚〗。',
sp_default:"常规",
sp_tongque:"铜雀台",

View File

@ -4,6 +4,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
name:'sp2',
connect:true,
character:{
duanwei:['male','qun',4,['langmie']],
re_niujin:['male','wei',4,['recuorui','reliewei']],
zhangmiao:['male','qun',4,['mouni','zongfan']],
liangxing:['male','qun',4,['lulve','lxzhuixi'],['unseen']],
@ -97,7 +98,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
sp_huangjin:['liuhong','zhujun','re_hejin','re_hansui','liubian'],
sp_fadong:['ol_dingyuan','wangrong','re_quyi','hanfu'],
sp_xuzhou:['re_taoqian','caosong'],
sp_decade:['wulan','leitong','huaman','wangshuang','wenyang','re_liuzan','re_sunluyu','caobuxing','ol_yujin','re_maliang','xin_baosanniang','re_xinxianying','dongxie','guozhao','fanyufeng','zhaozhong','ruanyu','liangxing','zhangmiao','re_niujin'],
sp_decade:['wulan','leitong','huaman','wangshuang','wenyang','re_liuzan','re_sunluyu','caobuxing','ol_yujin','re_maliang','xin_baosanniang','re_xinxianying','dongxie','guozhao','fanyufeng','zhaozhong','ruanyu','liangxing','zhangmiao','re_niujin','duanwei'],
sp_mini:["mini_sunquan","mini_zuoci","mini_jiangwei","mini_diaochan","mini_zhangchunhua"],
sp_luanwu:["ns_lijue","ns_zhangji","ns_fanchou"],
sp_yongjian:["ns_chendao","yj_caoang"],
@ -105,6 +106,50 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
},
skill:{
//狼灭
langmie:{
trigger:{global:'phaseUseEnd'},
forced:true,
filter:function(event,player){
if(player==event.player) return false;
var map={};
var list=event.player.getHistory('useCard',function(evt){
var evt2=evt.getParent('phaseUse');
return evt2==event;
});
for(var i of list){
var name=i.card.name;
if(!map[name]) map[name]=true;
else return true;
}
},
frequent:true,
logTarget:'player',
content:function(){
player.draw();
},
group:'langmie_damage',
},
langmie_damage:{
audio:'langmie',
trigger:{global:'phaseEnd'},
direct:true,
filter:function(event,player){
return event.player!=player&&event.player.getHistory('sourceDamage',function(evt){
return evt.num>1;
}).length>0&&player.countCards('he')>0;
},
content:function(){
'step 0'
player.chooseToDiscard('he',get.prompt('langmie',trigger.player),'弃置一张牌并对其造成1点伤害').set('goon',get.damageEffect(trigger.player,player,player)>0).set('ai',function(card){
if(!_status.event.goon) return 0;
return 7-get.value(card);
}).logSkill=['langmie_damage',trigger.player];
'step 1'
if(result.bool) trigger.player.damage();
},
ai:{expose:0.2},
},
//牛金
recuorui:{
audio:'cuorui',
@ -7885,28 +7930,20 @@ game.import('character',function(lib,game,ui,get,ai,_status){
delay:false,
lose:false,
prompt:function(){
return '选择一名角色并将任意张手牌置于处理区,然后将这些牌放置于牌堆中'+get.cnNumber(game.players.length)+'倍数的位置(先选择的牌在上)';
return '选择一名角色并将任意张手牌放置于牌堆中'+get.cnNumber(game.players.length)+'倍数的位置(先选择的牌在上)';
},
content:function(){
'step 0'
player.lose(cards,ui.ordering).noOrdering=true;
player.$throw(cards.length);
player.storage.xinfu_qianxin=cards.slice(0);
player.storage.xinfu_qianxin2=target;
'step 1'
event.cards.reverse();
var num1=game.players.length;
var num2=ui.cardPile.childElementCount;
for(var i=0;i<event.cards.length;i++){
event.cards[i].fix();
//cards.reverse();
player.lose(cards,ui.cardPile).insert_index=function(event,card){
var num1=game.players.length,i=event.cards.indexOf(card);
var num3=num1*(i+1)-1;
if(num3<num2){
ui.cardPile.insertBefore(cards[i],ui.cardPile.childNodes[num3]);
}
else{
ui.cardPile.appendChild(cards[i]);
}
}
return ui.cardPile.childNodes[num3];
};
'step 1'
game.updateRoundNumber();
game.log(player,'把',get.cnNumber(cards.length),'张牌放在了牌堆里');
game.delayx();
@ -8463,6 +8500,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
ruanyu:'阮瑀约165—212年字元瑜陈留尉氏今河南开封市尉氏县是东汉末年文学家建安七子之一。阮瑀所作章表书记很出色当时军国书檄文字多为阮瑀与陈琳所拟。名作有《为曹公作书与孙权》。诗有《驾出北郭门行》描写孤儿受后母虐待的苦难遭遇比较生动形象。年轻时曾受学于蔡邕蔡邕称他为“奇才”。后徙为丞相仓曹掾属。诗歌语言朴素往往能反映出一般的社会问题。阮瑀的音乐修养颇高他的儿子阮籍孙子阮咸皆当时名人位列“竹林七贤”妙于音律。明人辑有《阮元瑜集》。',
liangxing:'梁兴(?-212年武威郡姑臧人也东汉末年凉州军阀之一。与张横、贾诩、段煨是同乡曾斩杀李傕。建安十六年同韩遂、马超联合起兵反抗曹操。梁兴率步骑五千夜袭曹军先头部队徐晃被击退。联军战败后梁兴逃到蓝田劫掠周围郡县。夏侯渊进攻蓝田联合郑浑征讨梁兴梁兴战败不知所终。',
zhangmiao:'张邈195年字孟卓东平寿张今山东东平县人。东汉大臣、名士“八厨”之一。举孝廉出身授骑都尉出任陈留太守。参与讨伐董卓参加汴水之战归附于曹操。兴平元年194年趁着曹操讨伐徐州牧陶谦联合陈宫发动叛乱迎立吕布为兖州牧。受到曹操讨伐兵败投奔徐州牧刘备。兴平二年张邈向袁术借兵途中被部下所杀。',
duanwei:'段煨209年字忠明武威郡姑臧今甘肃省武威市人也。东汉末年将领东汉太尉段颎同族兄弟与太尉贾诩、张济、宣威侯张绣乃是同乡。原为董卓帐下将领奉命屯兵华阴勤劳农业。兴平二年195年迎接汉献帝刘协东归洛阳供给衣食补给与护驾将领杨定不和引发激战十余天听从汉献帝刘协劝解。东汉建安三年198年攻打黄白城击杀李傕夷其三族封为镇远将军、闅乡亭侯、北地太守累迁大鸿胪、金光禄大夫。建安十四年209年寿终正寝。',
},
characterTitle:{
wulan:'#b对决限定武将',
@ -8571,7 +8609,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
"xinfu_zhenxing":"镇行",
"xinfu_zhenxing_info":"结束阶段开始时或当你受到伤害后,你可以观看牌堆顶的至多三张牌,然后你获得其中与其余牌花色均不相同的一张牌。",
"xinfu_qianxin":"遣信",
"xinfu_qianxin_info":"出牌阶段限一次,若牌堆中没有“信”,你可以选择一名角色并将任意张手牌置于处理区,然后将这些牌放置于牌堆中X倍数的位置X为存活人数称为“信”。该角色的弃牌阶段开始时若其手牌区内有于本回合内获得过的“信”其选择一项令你将手牌摸至四张本回合手牌上限-2。",
"xinfu_qianxin_info":"出牌阶段限一次,若牌堆中没有“信”,你可以选择一名角色并将任意张手牌放置于牌堆中X倍数的位置X为存活人数称为“信”。该角色的弃牌阶段开始时若其手牌区内有于本回合内获得过的“信”其选择一项令你将手牌摸至四张本回合手牌上限-2。",
"qianxin_effect":"遣信",
"qianxin_effect_info":"",
"xinfu_qianxin2":"遣信",
@ -9005,6 +9043,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
recuorui_info:'你的第一个回合开始时你可以依次获得至多X名角色的各一张手牌X为你的体力值。',
reliewei:'裂围',
reliewei_info:'每回合限X次X为你的体力值当有其他角色因你造成伤害而进入濒死状态时你可以摸一张牌。',
duanwei:'段煨',
langmie:'狼灭',
langmie_damage:'狼灭',
langmie_info:'其他角色的出牌阶段结束时若其本阶段内使用过的牌中有名称相同的牌则你可以摸一张牌其他角色的结束阶段开始时若其本回合内一次性造成过大于1点的伤害则你可以弃置一张牌并对其造成1点伤害。',
sp_whlw:"文和乱武",
sp_zlzy:"逐鹿中原",

View File

@ -6189,6 +6189,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
shifei:{
audio:2,
audioname:['re_guotufengji'],
enable:['chooseToRespond','chooseToUse'],
filter:function(event,player){
if(!_status.currentPhase||event.shifei) return false;
@ -12113,6 +12114,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
xinxianying:['re_xinxianying','xinxianying','ol_xinxianying','sp_xinxianying'],
gongsunyuan:['re_gongsunyuan','gongsunyuan'],
zhoucang:['re_zhoucang','zhoucang'],
guotufengji:['re_guotufengji','guotufengji'],
},
translate:{
old_huaxiong:'华雄',

View File

@ -4,6 +4,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
name:'yingbian',
connect:true,
character:{
zhongyan:['female','jin',3,['bolan','yifa']],
weiguan:['male','jin',3,['zhongyun','shenpin']],
cheliji:['male','qun',4,['chexuan','qiangshou']],
simazhou:['male','jin',4,['caiwang','naxiang']],
@ -24,9 +25,116 @@ game.import('character',function(lib,game,ui,get,ai,_status){
yingbian_pack1:['jin_simayi','jin_zhangchunhua','ol_lisu','simazhou','cheliji'],
yingbian_pack2:['jin_simashi','jin_xiahouhui','zhanghuyuechen','shibao','jin_yanghuiyu'],
yingbian_pack3:['jin_simazhao','jin_wangyuanji','duyu','weiguan'],
yingbian_pack4:['zhongyan'],
},
},
skill:{
bolan:{
audio:2,
initList:function(player){
var list,skills=[];
if(get.mode()=='guozhan'){
list=[];
for(var i in lib.characterPack.mode_guozhan) list.push(i);
}
else if(_status.connectMode) list=get.charactersOL();
else{
list=[];
for(var i in lib.character){
if(lib.filter.characterDisabled2(i)||lib.filter.characterDisabled(i)) continue;
list.push(i);
}
}
for(var i of list){
if(i.indexOf('gz_jun')==0) continue;
for(var j of lib.character[i][3]){
if(j=='bolan') continue;
var skill=lib.skill[j];
if(!skill||skill.zhuSkill) continue;
if(skill.init||skill.ai&&(skill.ai.combo||skill.ai.notemp||skill.ai.neg)) continue;
var info=lib.translate[j+'_info'];
if(info&&info.indexOf('出牌阶段限一次')!=-1) skills.add(j);
}
}
player.storage.bolan=skills;
},
trigger:{global:'phaseUseBegin'},
direct:true,
frequent:true,
filter:function(event,player){
return player==event.player||player.hasSkill('bolan');
},
content:function(){
'step 0'
if(player==trigger.player){
var next=player.chooseBool(get.prompt('bolan'),'选择获得一个出牌阶段限一次的技能');
if(player.hasSkill('bolan')) next.set('frequentSkill','bolan');
}
else{
trigger.player.chooseBool(get.prompt('bolan'),'失去1点体力然后获得'+get.translation(player)+'选择的一个出牌阶段限一次的技能').set('ai',function(){
var player=_status.event.player,target=_status.event.getParent().player;
return player.hp>2&&get.attitude(player,target)>0;
});
}
'step 1'
if(result.bool){
player.logSkill('bolan',trigger.player);
if(player!=trigger.player) trigger.player.loseHp();
}
else event.finish();
'step 2'
if(player.isIn()&&trigger.player.isIn()){
if(!player.storage.bolan) lib.skill.bolan.initList(player);
var list=player.storage.bolan.randomGets(3);
if(!list.length){
event.finish();
return;
}
event.videoId=lib.status.videoId++;
var func=function(skills,id){
var dialog=ui.create.dialog('forcebutton');
dialog.videoId=id;
dialog.add('博览:选择一个技能');
for(var i=0;i<skills.length;i++){
dialog.add('<div class="popup pointerdiv" style="width:80%;display:inline-block"><div class="skill">【'+get.translation(skills[i])+'】</div><div>'+lib.translate[skills[i]+'_info']+'</div></div>');
}
dialog.addText(' <br> ');
}
if(player.isOnline()) player.send(func,list,event.videoId);
else if(player==game.me) func(list,event.videoId);
player.chooseControl(list);
}
else event.finish();
'step 3'
game.broadcastAll('closeDialog',event.videoId);
trigger.player.addTempSkill(result.control,'phaseUseEnd');
},
},
yifa:{
audio:2,
trigger:{target:'useCardToTargeted'},
forced:true,
logTarget:'player',
filter:function(event,player){
return player!=event.player&&(event.card.name=='sha'||
get.color(event.card)=='black'&&get.type(event.card)=='trick');
},
content:function(){
var target=trigger.player;
target.addTempSkill('yifa2');
target.addMark('yifa2',1,false);
},
},
yifa2:{
charlotte:true,
onremove:true,
intro:{content:'手牌上限-#'},
mod:{
maxHandcard:function(player,num){
return num-player.countMark('yifa2');
},
},
},
buchen:{
audio:2,
trigger:{player:'showCharacterAfter'},
@ -446,7 +554,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
equipSkill:true,
filter:function(event,player){
return player!=event.player&&event.player.getHistory('useCard',function(card){
return get.type(card)!='basic';
return get.type(card.card)!='basic';
}).length>0&&event.player.countCards('he')>0&&player.getEquip('cheliji_feilunzhanyu');
},
logTarget:'player',
@ -485,6 +593,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return get.attitude(player,lib.skill.caiwang.logTarget(event,player))<=0;
},
content:function(){
if(player!=game.me&&!player.isOnline()) game.delayx();
var target=lib.skill.caiwang.logTarget(trigger,player);
player[player.getStorage('naxiang2').contains(target)?'gainPlayerCard':'discardPlayerCard'](target,'he',true);
},
@ -743,7 +852,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
},
cardUsable:function(card,player,target){
if(!card.cards||get.type(card)!='basic'||!(game.online?player==_status.currentPhase:player.isPhaseUsing())) return;
if(!card.cards||get.mode()=='guozhan'||get.type(card)!='basic'||!(game.online?player==_status.currentPhase:player.isPhaseUsing())) return;
for(var i of card.cards){
if(i.hasGaintag('zhuosheng')) return Infinity;
}
@ -829,7 +938,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
silent:true,
firstDo:true,
filter:function(event,player){
if(event.name=='useCard') return get.type(event.card)=='basic'&&lib.skill.zhuosheng.filterx(event,player)&&event.addCount!==false;
if(event.name=='useCard') return get.mode()!='guozhan'&&get.type(event.card)=='basic'&&lib.skill.zhuosheng.filterx(event,player)&&event.addCount!==false;
return true;
},
content:function(){
@ -1858,6 +1967,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
huangzu:'黄祖208年东汉末年将领。刘表任荆州牧时黄祖出任江夏太守。初平二年191年黄祖在与长沙太守孙坚交战时其部下将孙坚射死因此与孙家结下仇怨。之后黄祖多次率部与东吴军队交战射杀凌操、徐琨等人。建安十三年208年在与孙权的交战中兵败被杀。',
cheliji:'彻里吉是历史小说《三国演义》中的虚构人物,西羌国王。蜀相诸葛亮伐魏,魏都督曹真驰书赴羌,国王彻里吉即命雅丹丞相与越吉元帅起羌兵一十五万、并战车直扣西平关。后军大败,越吉亡,雅丹被俘,亮将所获羌兵及车马器械,尽给还雅丹,俱放回国。彻里吉感蜀恩义,与之结盟。正史中没有关于彻里吉的记载。',
weiguan:'卫瓘220年291年字伯玉。河东郡安邑县今山西省夏县人。三国曹魏后期至西晋初年重臣、书法家曹魏尚书卫觊之子。卫瓘出身官宦世家年轻时仕官于曹魏历任尚书郎、散骑常侍、侍中、廷尉等职。后以镇西军司、监军身份参与伐蜀战争。蜀汉亡后与钟会一道逮捕邓艾钟会谋反时又成功平息叛乱命田续杀邓艾父子。回师后转任督徐州诸军事、镇东将军封菑阳侯。西晋建立后历任青州、幽州刺史、征东大将军等职成功化解北方边境威胁因功进爵菑阳公。后入朝为尚书令、侍中又升任司空领太子少傅。后逊位拜太保。晋惠帝即位后与贾皇后对立终在政变中满门遇害享年七十二岁。卫瓘善隶书及章草。不仅兼工各体还能学古人之长是颇有创意的书法家。唐朝张怀瓘《书断》中评其章草为“神品”。',
zhongyan:' 钟琰 (?—?年)颍川人,王浑之妻。生卒年不详,约魏末晋初间前后在世。王浑的妻子钟琰,是颍川人,为魏太傅钟繇的曾孙女,父亲钟徽,为黄门郎。她平时广泛阅读各种书籍,因此几岁的时候就能撰写文章。她聪慧弘雅,善于啸咏,她的礼仪法度,为中表所推崇,她写有文集五卷。',
},
characterTitle:{},
perfectPair:{},
@ -1954,6 +2064,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
shibao:'石苞',
zhuosheng:'擢升',
zhuosheng_info:'出牌阶段,①你使用本轮内获得的基本牌时无次数和距离限制。②你使用本轮内获得的普通锦囊牌选择目标后,可令此牌的目标数+1或-1。③你使用本轮内获得的装备牌时可以摸一张牌以此法获得的牌不能触发〖擢升〗。',
zhuosheng_info_guozhan:'出牌阶段,①你使用本轮内获得的基本牌时无距离限制。②你使用本轮内获得的普通锦囊牌选择目标后,可令此牌的目标数+1或-1。③你使用本轮内获得的装备牌时可以摸一张牌以此法获得的牌不能触发〖擢升〗。',
jin_yanghuiyu:'晋羊徽瑜',
jin_yanghuiyu_ab:'羊徽瑜',
gz_jin_yanghuiyu:'羊徽瑜',
@ -1989,10 +2100,17 @@ game.import('character',function(lib,game,ui,get,ai,_status){
zhongyun_info:'锁定技。每名角色的回合限一次,你受伤/回复体力后若你的体力值与手牌数相等你回复一点体力或对你攻击范围内的一名角色造成1点伤害每名角色的回合限一次你获得手牌或失去手牌后若你的体力值与手牌数相等你摸一张牌或弃置一名其他角色一张牌。',
shenpin:'神品',
shenpin_info:'当一名角色的判定牌生效前,你可以打出一张与判定牌颜色不同的牌代替之。',
zhongyan:'钟琰',
bolan:'博览',
bolan_info:'出牌阶段开始时你可从三个描述中包含“出牌阶段限一次”的技能中选择一个获得直到此阶段结束其他角色的出牌阶段限一次其可以失去1点体力令你从三个描述中包含“出牌阶段限一次”的技能中选择一个其获得此技能直到此阶段结束。',
yifa:'仪法',
yifa2:'仪法',
yifa_info:'锁定技,其他角色使用【杀】或黑色普通锦囊牌指定你为目标后,其手牌上限-1直到回合结束。',
yingbian_pack1:'文德武备·理',
yingbian_pack2:'文德武备·备',
yingbian_pack3:'文德武备·果',
yingbian_pack4:'文德武备·戒',
},
};
});

View File

@ -1,5 +1,5 @@
window.noname_asset_list=[
'v1.9.110.7.1',
'v1.9.110.8',
'audio/background/aozhan_chaoming.mp3',
'audio/background/aozhan_online.mp3',
'audio/background/aozhan_rewrite.mp3',
@ -728,6 +728,7 @@ window.noname_asset_list=[
'audio/die/re_chenqun.mp3',
'audio/die/ruanyu.mp3',
'audio/die/zhangmiao.mp3',
'audio/die/re_guotufengji.mp3',
'audio/skill/decadezishou1.mp3',
'audio/skill/decadezishou2.mp3',
@ -3214,6 +3215,10 @@ window.noname_asset_list=[
'audio/skill/zhangu2.mp3',
'audio/skill/zongfan1.mp3',
'audio/skill/zongfan2.mp3',
'audio/skill/rejigong1.mp3',
'audio/skill/rejigong2.mp3',
'audio/skill/shifei_re_guotufengji1.mp3',
'audio/skill/shifei_re_guotufengji2.mp3',
'audio/voice/male/0.mp3',
'audio/voice/male/1.mp3',
@ -4065,6 +4070,14 @@ window.noname_asset_list=[
'image/character/key_kyouko.jpg',
'image/character/key_yuuki.jpg',
'image/character/re_niujin.jpg',
'image/character/duanwei.jpg',
'image/character/huangchengyan.jpg',
'image/character/key_tenzen.jpg',
'image/character/ol_jiangwei.jpg',
'image/character/ol_zhurong.jpg',
'image/character/re_guotufengji.jpg',
'image/character/shen_guojia.jpg',
'image/character/zhongyan.jpg',
'image/character/baiwuchang.jpg',
'image/character/baosanniang.jpg',

View File

@ -12103,7 +12103,7 @@
}
event.buttoned=event.result.skill;
}
else if(info&&info.precontent&&!game.online){
else if(info&&info.precontent&&!game.online&&!event.nouse){
var next=game.createEvent('pre_'+event.result.skill);
next.setContent(info.precontent);
next.set('result',event.result);
@ -13719,7 +13719,7 @@
if(event.prompt2){
event.dialog.addText(event.prompt2);
}
var directh=!lib.config.unauto_choose;
var directh=(!lib.config.unauto_choose&&!event.complexSelect);
for(var i=0;i<event.position.length;i++){
if(event.position[i]=='h'){
var hs=target.getDiscardableCards(player,'h');
@ -13864,7 +13864,7 @@
if(event.prompt2){
event.dialog.addText(event.prompt2);
}
var directh=!lib.config.unauto_choose;
var directh=(!lib.config.unauto_choose&&!event.complexSelect);
for(var i=0;i<event.position.length;i++){
if(event.position[i]=='h'){
var hs=target.getGainableCards(player,'h');
@ -15335,7 +15335,11 @@
_status.discarded.remove(cards[i]);
}
}
if(event.insert_card){
if(event.insert_index){
event.position.insertBefore(cards[i],event.insert_index(event,cards[i]));
cards[i].fix();
}
else if(event.insert_card){
event.position.insertBefore(cards[i],event.position.firstChild);
cards[i].fix();
}
@ -16875,7 +16879,7 @@
if(!info[4]){
info[4]=[];
}
var skills=info[3];
var skills=info[3].slice(0);
this.clearSkills(true);
this.classList.add('fullskin');
if(!game.minskin&&get.is.newLayout()&&!info[4].contains('minskin')){
@ -16987,7 +16991,7 @@
this.storage.nohp=true;
skills.add('g_hidden_ai');
}
else skills.addArray(info2[3]);
else skills=skills.concat(info2[3]);
this.node.name2.innerHTML=get.slimName(character2);
}

View File

@ -1,28 +1,29 @@
window.noname_update={
version:'1.9.110.7.1',
update:'1.9.110.7',
version:'1.9.110.8',
update:'1.9.110.7.1.1',
changeLog:[
'冰室忧希、伊座并杏子',
'自定义在线扩展源',
'牛金',
'加纳天善',
'神郭嘉',
'界姜维、界祝融、钟琰、黄承彦',
'界郭图逢纪、段煨',
'bug修复',
],
files:[
//'card/extra.js',
'card/extra.js',
//'card/gujian.js',
'card/guozhan.js',
//'card/guozhan.js',
//'card/gwent.js',
//'card/huanlekapai.js',
//'card/mtg.js',
//'card/sp.js',
//'card/standard.js',
'card/standard.js',
//'card/swd.js',
//'card/yunchou.js',
//'card/yingbian.js',
//'card/zhenfa.js',
//'card/zhulu.js',
'character/diy.js',
//'character/extra.js',
'character/extra.js',
//'character/hearth.js',
//'character/gujian.js',
//'character/gwent.js',
@ -42,7 +43,7 @@ window.noname_update={
//'character/xianjian.js',
//'character/xinghuoliaoyuan.js',
'character/yingbian.js',
//'character/yijiang.js',
'character/yijiang.js',
//'character/yxs.js',
//'extension/boss/extension.js',
//'layout/default/layout.css',
@ -61,7 +62,7 @@ window.noname_update={
'game/game.js',
//'game/keyWords.js',
//'game/NoSleep.js',
'game/config.js',
//'game/config.js',
//'game/package.js',
//'game/asset.js',
//'game/source.js',

BIN
image/character/duanwei.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 171 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 197 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 121 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 155 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 174 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 171 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 192 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 199 KiB

After

Width:  |  Height:  |  Size: 163 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 163 KiB

View File

@ -295,8 +295,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
'gz_weiyan','gz_huangyueying','gz_zhugeliang',
'gz_lingtong','gz_sunshangxiang','gz_sunce',
'gz_re_yuanshao','gz_yuanshu','gz_hetaihou',
'gz_jin_simashi','gz_sp_duyu','gz_miheng',
'gz_shibao',
'gz_jin_simashi','gz_sp_duyu',
],
'6':[
'gz_zhenji','gz_guojia','gz_yujin',
@ -311,7 +310,8 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
'gz_re_lusu','gz_sunquan','gz_ganning',
'gz_zhangxiu','gz_liqueguosi','gz_huatuo',
'gz_zhanghuyuechen','gz_re_xushu','gz_mifangfushiren',
'gz_wujing','gz_weiguan',
'gz_wujing','gz_weiguan','gz_miheng',
'gz_shibao',
],
'4':[
'gz_dianwei','gz_dengai','gz_xunyu',
@ -490,7 +490,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
gz_huaxin:['male','wei',3,['wanggui','xibing']],
gz_luyusheng:['female','wu',3,['zhente','zhiwei']],
gz_zongyu:['male','shu',3,['zyqiao','chengshang']],
gz_miheng:['male','qun',3,['gzkuangcai','gzshejian'],['gzskin']],
gz_miheng:['male','qun',3,['gzrekuangcai','gzshejian'],['gzskin']],
gz_cuimao:['male','wei',3,['gzzhengbi','gzfengying'],[]],
gz_yujin:['male','wei',4,['gzjieyue'],['gzskin']],
@ -514,6 +514,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
gz_simazhou:['male','jin',4,['caiwang','naxiang']],
gz_shibao:['male','jin',4,['zhuosheng']],
gz_weiguan:['male','jin',3,['zhongyun','shenpin']],
gz_zhongyan:['female','jin',3,['bolan','yifa']],
gz_key_ushio:['female','key',3,['ushio_huanxin','ushio_xilv'],['doublegroup:key:wei:shu:wu:qun:jin']],
}
@ -913,6 +914,35 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
if(event.list.length) event.goto(1);
},
},
gzrekuangcai:{
audio:'kuangcai',
forced:true,
trigger:{player:'phaseDiscardBegin'},
filter:function(event,player){
return player.getHistory('useCard').length&&!player.getHistory('sourceDamage').length;
},
content:function(){
player.addTempSkill('gzrekuangcai_less');
},
mod:{
targetInRange:function(card,player){
if(player==_status.currentPhase) return true;
},
cardUsable:function(card,player){
if(player==_status.currentPhase) return Infinity;
},
},
subSkill:{
less:{
mod:{
maxHandcard:function(player,num){
return num-1;
},
},
charlotte:true,
},
},
},
gzkuangcai:{
audio:'kuangcai',
trigger:{player:'useCard1'},
@ -1373,14 +1403,10 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
else if(target.isIn()&&player.countCards('he',function(card){
return !card.hasGaintag('gzwenji');
})){
player.chooseCard('he','交给'+get.translation(target)+'一张其他牌,或弃置“问计”牌',function(card){
player.chooseCard('he','交给'+get.translation(target)+'一张其他牌,或令其摸一张牌',function(card){
return !card.hasGaintag('gzwenji');
}).set('ai',function(card){
var player=_status.event.player,target=_status.event.getParent().target,val=get.value(card,target),hs=player.getCards('h',function(card){
return card.hasGaintag('gzwenji');
})[0];
if(get.attitude(player,target)>0||(hs&&get.value(hs)>val)) return 1/Math.min(0.1,val);
return 0;
return 5-get.value(card);
});
}
else event.finish();
@ -1390,10 +1416,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
player.removeGaintag('gzwenji');
}
else{
var cards=player.getCards('h',function(card){
return card.hasGaintag('gzwenji');
});
if(cards.length) player.discard(cards);
target.draw();
}
},
subSkill:{
@ -9007,7 +9030,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
liangfan2:'量反',
liangfan_info:'锁定技准备阶段开始时若你的武将牌上有“函”则你获得这些牌然后失去1点体力。当你于此回合内因使用实体牌中包含“函”的牌且执行这些牌的效果而对目标角色造成伤害时你可以获得目标角色的一张牌。',
gzwenji:'问计',
gzwenji_info:'出牌阶段开始时,你可令一名其他角色交给你一张牌。然后若该角色:未确定势力或势力与你相同,则你于本回合内使用实体牌包含“问计”牌的牌无距离和次数限制,且不可被其他角色响应。与你势力不同,则你交给其一张不为“问计”牌的牌或弃置“问计”牌。',
gzwenji_info:'出牌阶段开始时,你可令一名其他角色交给你一张牌。然后若该角色:未确定势力或势力与你相同,则你于本回合内使用实体牌包含“问计”牌的牌无距离和次数限制,且不可被其他角色响应。与你势力不同,则你交给其一张不为“问计”牌的牌或令其摸一张牌。',
gztunjiang:'屯江',
gztunjiang_info:'结束阶段若你于本回合的出牌阶段内使用过牌且这些牌均未指定其他角色为目标则你可摸X张牌X为势力数。',
gzbushi:'布施',
@ -9022,6 +9045,8 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
gzlixia_info:'与你势力不同的角色的准备阶段开始时其可弃置你装备区内的一张牌然后其选择一项①弃置两张手牌。②失去1点体力。③令你摸两张牌。',
mffengshi:'锋势',
mffengshi_info:'当你使用牌指定唯一目标后,或成为其他角色使用牌的唯一目标后,若此牌使用者的手牌数大于此牌目标的手牌数,则此牌的使用者可令你弃置自己和对方的各一张牌,并令此牌的伤害值+1。',
gzrekuangcai:'狂才',
gzrekuangcai_info:'锁定技,你于回合内使用牌无距离和次数限制;弃牌阶段开始时,若你本回合内使用过牌但未造成过伤害,则你的手牌上限-1。',
gzkuangcai:'狂才',
gzkuangcai_info:'锁定技,你的回合内,你使用牌无距离和次数限制,无视防具且不能被【无懈可击】响应;弃牌阶段开始时,若你本回合使用过牌但没造成伤害,本回合你的手牌上限-2若你本回合造成的伤害点数不小于你使用的牌数你将手牌摸至体力上限且本回合手牌上限+2。',
gzshejian:'舌箭',