v1.9.114.3

This commit is contained in:
Spmario233 2022-07-06 21:38:15 +08:00
parent 3968db58cb
commit e598454179
93 changed files with 1730 additions and 251 deletions

BIN
audio/die/caomao.mp3 Normal file

Binary file not shown.

BIN
audio/die/dc_gaolan.mp3 Normal file

Binary file not shown.

BIN
audio/die/dc_luotong.mp3 Normal file

Binary file not shown.

BIN
audio/die/dc_zhuling.mp3 Normal file

Binary file not shown.

BIN
audio/die/guanning.mp3 Normal file

Binary file not shown.

BIN
audio/die/ol_caiwenji.mp3 Normal file

Binary file not shown.

BIN
audio/die/old_quancong.mp3 Normal file

Binary file not shown.

BIN
audio/die/shen_jiangwei.mp3 Normal file

Binary file not shown.

BIN
audio/die/tengyin.mp3 Normal file

Binary file not shown.

BIN
audio/die/tw_caozhao.mp3 Normal file

Binary file not shown.

BIN
audio/die/xin_quancong.mp3 Normal file

Binary file not shown.

BIN
audio/die/xuyou.mp3 Normal file

Binary file not shown.

BIN
audio/skill/chenjian1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/chenjian2.mp3 Normal file

Binary file not shown.

BIN
audio/skill/dczhanyi1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/dczhanyi2.mp3 Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
audio/skill/dunshi1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/dunshi2.mp3 Normal file

Binary file not shown.

BIN
audio/skill/fensi1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/fensi2.mp3 Normal file

Binary file not shown.

BIN
audio/skill/gzjieyue1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/gzjieyue2.mp3 Normal file

Binary file not shown.

BIN
audio/skill/jianglue1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/jianglue2.mp3 Normal file

Binary file not shown.

BIN
audio/skill/jinjian1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/jinjian2.mp3 Normal file

Binary file not shown.

BIN
audio/skill/jiufa1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/jiufa2.mp3 Normal file

Binary file not shown.

BIN
audio/skill/juetao1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/juetao2.mp3 Normal file

Binary file not shown.

BIN
audio/skill/olbeige1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/olbeige2.mp3 Normal file

Binary file not shown.

BIN
audio/skill/pingxiang1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/pingxiang2.mp3 Normal file

Binary file not shown.

BIN
audio/skill/qianlong1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/qianlong2.mp3 Normal file

Binary file not shown.

BIN
audio/skill/renzheng1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/renzheng2.mp3 Normal file

Binary file not shown.

BIN
audio/skill/tianren1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/tianren2.mp3 Normal file

Binary file not shown.

BIN
audio/skill/twchongqi1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/twchongqi2.mp3 Normal file

Binary file not shown.

BIN
audio/skill/twdianyi1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/twdianyi2.mp3 Normal file

Binary file not shown.

BIN
audio/skill/twfeifu1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/twfeifu2.mp3 Normal file

Binary file not shown.

BIN
audio/skill/twfucuan1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/twfucuan2.mp3 Normal file

Binary file not shown.

BIN
audio/skill/twshanghe1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/twshanghe2.mp3 Normal file

Binary file not shown.

BIN
audio/skill/twyingji1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/twyingji2.mp3 Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
audio/skill/xixiu1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/xixiu2.mp3 Normal file

Binary file not shown.

BIN
audio/skill/xizhen1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/xizhen2.mp3 Normal file

Binary file not shown.

BIN
audio/skill/yuzhang1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/yuzhang2.mp3 Normal file

Binary file not shown.

BIN
audio/skill/zhenshan1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/zhenshan2.mp3 Normal file

Binary file not shown.

BIN
audio/skill/zhushi1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/zhushi2.mp3 Normal file

Binary file not shown.

View File

@ -13,6 +13,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
extra_yin:['shen_liubei','shen_luxun'],
extra_lei:['shen_ganning','shen_zhangliao'],
extra_key:['key_kagari','key_shiki','db_key_hina'],
extra_decade:['shen_jiangwei'],
extra_ol:['ol_zhangliao','shen_caopi','shen_zhenji'],
extra_mobilezhi:['shen_guojia','shen_xunyu'],
extra_mobilexin:['shen_taishici','shen_sunce'],
@ -20,6 +21,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
},
character:{
shen_jiangwei:['male','shen',4,['jiufa','tianren','pingxiang'],['shen']],
key_kagari:['female','shen',3,['kagari_zongsi'],['key']],
key_shiki:['female','shen','3/5',['shiki_omusubi'],['key']],
db_key_hina:['female','key',3,['hina_shenshi','hina_xingzhi'],['doublegroup:key:shen']],
@ -63,6 +65,193 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
},
skill:{
jiufa:{
audio:2,
trigger:{player:'useCardAfter'},
frequent:true,
filter:function(event,player){
return event.jiufa_counted&&player.getStorage('jiufa').length>=9;
},
content:function(){
'step 0'
player.unmarkSkill('jiufa');
event.cards=get.cards(9);
event.cards.sort(function(a,b){
return get.number(b)-get.number(a);
})
game.cardsGotoOrdering(event.cards);
event.videoId=lib.status.videoId++;
game.broadcastAll(function(player,id,cards){
var str;
if(player==game.me&&!_status.auto){
str='九伐:选择任意张点数相同的牌';
}
else{
str='九伐';
}
var dialog=ui.create.dialog(str,cards);
dialog.videoId=id;
},player,event.videoId,event.cards);
event.time=get.utc();
game.addVideo('showCards',player,['涉猎',get.cardsInfo(event.cards)]);
game.addVideo('delay',null,2);
"step 1"
var next=player.chooseButton([1,9],true);
next.set('dialog',event.videoId);
next.set('filterButton',function(button){
if(!ui.selected.buttons.length) return true;
return get.number(ui.selected.buttons[0].link)==get.number(button.link);
});
next.set('ai',function(button){
return get.value(button.link,_status.event.player)*_status.event.getParent().cards.filter(function(i){
return get.number(i)==get.number(button.link);
}).length;
});
"step 2"
if(result.bool&&result.links){
event.cards2=result.links;
}
else{
event.finish();
}
var time=1000-(get.utc()-event.time);
if(time>0){
game.delay(0,time);
}
"step 3"
game.broadcastAll('closeDialog',event.videoId);
var cards2=event.cards2;
player.gain(cards2,'log','gain2');
},
marktext:'⑨',
intro:{
content:'已记录牌名:$',
onunmark:true,
},
group:'jiufa_count',
subSkill:{
count:{
trigger:{player:'useCard1'},
forced:true,
charlotte:true,
popup:false,
firstDo:true,
filter:function(event,player){
return !player.getStorage('jiufa').contains(event.card.name);
},
content:function(){
trigger.jiufa_counted=true;
player.markAuto('jiufa',[trigger.card.name]);
},
},
},
},
tianren:{
audio:2,
trigger:{global:['loseAfter','cardsDiscardAfter']},
forced:true,
filter:function(event,player){
if(event.name=='lose'){
if(event.position!=ui.discardPile) return false;
}
else{
var evt=event.getParent();
if(evt.relatedEvent&&evt.relatedEvent.name=='useCard') return false;
}
for(var i of event.cards){
var owner=false;
if(event.hs&&event.hs.contains(i)) owner=event.player;
var type=get.type(i,null,owner);
if(type=='basic'||type=='trick') return true;
}
return false;
},
content:function(){
var num=0;
for(var i of trigger.cards){
var owner=false;
if(trigger.hs&&trigger.hs.contains(i)) owner=trigger.player;
var type=get.type(i,null,owner);
if(type=='basic'||type=='trick') num++;
}
player.addMark('tianren',num);
},
group:'tianren_maxHp',
intro:{content:'mark'},
subSkill:{
maxHp:{
trigger:{player:['tianrenAfter','gainMaxHpAfter','loseMaxHpAfter']},
forced:true,
filter:function(event,player){
return player.countMark('tianren')>=player.maxHp;
},
content:function(){
player.removeMark('tianren',player.maxHp);
player.gainMaxHp();
player.draw(2);
},
},
},
},
pingxiang:{
audio:2,
enable:'phaseUse',
limited:true,
skillAnimation:true,
animationColor:'ice',
filter:function(event,player){
return player.maxHp>9;
},
content:function(){
'step 0'
player.awakenSkill('pingxiang');
player.loseMaxHp(9);
event.num=0;
'step 1'
event.num++;
player.chooseUseTarget({
name:'sha',
nature:'fire',
isCard:true,
},'请选择火【杀】的目标('+(event.num==9?'⑨':event.num)+'/9',false);
'step 2'
if(result.bool&&event.num<9) event.goto(1);
else{
player.removeSkill('jiufa');
player.addSkill('pingxiang_effect');
}
},
ai:{
order:function(){
return get.order({
name:'sha',
nature:'fire',
isCard:true,
});
},
result:{
player:function(player){
if(player.hasValueTarget({
name:'sha',
nature:'fire',
isCard:true,
})) return 1;
return 0;
},
},
},
subSkill:{
effect:{
marktext:'襄',
intro:{content:'手牌上限基数改为体力上限'},
mod:{
maxHandcardBase:function(player){
return player.maxHp;
},
},
},
},
},
hina_shenshi:{
groupSkill:true,
trigger:{player:['phaseUseBegin','phaseUseEnd']},
@ -4917,6 +5106,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
scfuhai_info:'锁定技。①当你使用牌指定目标后若目标角色有“平定”标记则其不可响应此牌。若你本回合内以此法获得的牌数小于2则你摸一张牌。②拥有“平定”标记的角色死亡时你增加X点体力上限并摸X张牌。X为其拥有的“平定”标记数。',
pinghe:'冯河',
pinghe_info:'锁定技。①你的手牌上限基数等于你已损失的体力值。②当你受到其他角色造成的伤害时若你有牌且你的体力上限大于1则你防止此伤害减一点体力上限并将一张手牌交给一名其他角色。然后若你拥有〖英霸〗则伤害来源获得一个“平定”标记。',
shen_jiangwei:'神姜维',
jiufa:'九伐',
jiufa_info:'①当你声明使用牌时,你记录此牌的牌名。②当你使用牌结算结束后,若你的〖九伐〗记录中包含至少⑨种不同的牌名,则你可以展示牌堆顶的⑨张牌,选择并获得其中任意张点数相同的牌,清除所有的记录,将其余牌置入弃牌堆。',
tianren:'天任',
tianren_info:'锁定技。①当有一张基本牌或普通锦囊牌不因使用而进入弃牌堆后你获得一枚“天任”标记。②当你获得“天任”标记或体力上限变化后若你的“天任”数不小于X则你移去X枚“天任”加1点体力上限并摸两张牌X为你的体力上限。',
pingxiang:'平襄',
pingxiang_info:'限定技。出牌阶段,若你的体力上限大于⑨,则你可减⑨点体力上限,视为使用至多⑨张火【杀】,然后失去〖九伐〗,并将手牌上限基数改为体力上限直到游戏结束。',
key_kagari:'篝',
kagari_zongsi:'纵丝',
@ -4944,6 +5140,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
extra_mobilezhi:'始计篇·智',
extra_mobilexin:'始计篇·信',
extra_offline:'神话再临·线下',
extra_decade:'十周年服神将',
},
};
});

View File

@ -16,7 +16,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
mobile_mougongtong:['sp_yangwan','liucheng'],
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","re_jiangwei","re_zhurong"],
mobile_shenhua:["re_pangtong","re_guanqiujian","xin_yuanshao","re_liushan","re_dongzhuo","re_sp_zhugeliang","re_sunjian","re_dengai","re_jiangwei","re_zhurong","re_caiwenji"],
mobile_yijiang1:["re_xusheng","re_lingtong","ol_yujin","re_wuguotai","re_gaoshun"],
mobile_yijiang2:["old_bulianshi","xin_liaohua","xin_caozhang","re_liubiao","re_handang","xin_chengpu","xin_gongsunzan","re_zhonghui"],
mobile_yijiang3:["xin_jianyong","xin_zhuran","xin_guohuai","xin_panzhangmazhong","xin_fuhuanghou","re_yufan"],
@ -27,6 +27,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
},
character:{
re_caiwenji:['female','qun',3,['rebeige','duanchang']],
sp_jianggan:['male','wei',3,['spdaoshu','spdaizui']],
peixiu:['male','qun',3,['xingtu','juezhi']],
re_gaoshun:['male','qun',4,['rexianzhen','rejinjiu']],
@ -2739,11 +2740,26 @@ game.import('character',function(lib,game,ui,get,ai,_status){
audio:2,
enable:'phaseUse',
usable:1,
filterTarget:function(card,player,target){
return target!=player&&target.getEquip(1);
},
selectTarget:[0,1],
//filterTarget:function(card,player,target){
// return target!=player&&target.getEquip(1);
//},
//selectTarget:[0,1],
content:function(){
var card=get.cardPile2(function(card){
return get.subtype(card)=='equip1';
});
if(card) player.gain(card,'gain2');
else{
var targets=game.filterPlayer(function(current){
return current.getEquip(1);
});
if(targets.length){
var target=targets.randomGet();
player.gain(target.getEquip(1),target,'give');
}
}
},
content_old:function(){
'step 0'
if(!target){
var card=get.cardPile2(function(card){
@ -15790,7 +15806,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
ol_bianfuren:['ol_bianfuren','sp_bianfuren'],
wangshuang:['wangshuang','sp_wangshuang'],
huaman:['huaman','sp_huaman'],
gaolan:['gaolan','sp_gaolan'],
gaolan:['dc_gaolan','gaolan','sp_gaolan'],
cuiyan:['sp_cuiyan','cuiyan'],
wujing:['tw_wujing','wujing'],
},
@ -16441,7 +16457,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
xinjiaojin_info:'当你受到男性角色造成的伤害时,你可以弃置一张装备牌并防止此伤害。',
xin_caozhen:'手杀曹真',
discretesidi:'司敌',
discretesidi_info:'①当你使用的不为延时锦囊牌的牌结算结束后你可选择一名R内不存在以a为第一序偶的二元序偶的其他角色a并选择一名角色b在关系R内建立二元序偶<a,b>b对其他角色不可见。②一名角色a使用不为延时锦囊牌的牌指定b为目标时若(aRb)∧(此牌目标数为1)为真,则{你从R内移除<a,b>若b为你你摸一张牌若b不为你你可选择⒈取消此牌的目标然后若场上没有处于濒死状态的角色则你对a造成1点伤害。⒉摸两张牌};否则{你清除R内以a为第一元素的二元序偶}。',
discretesidi_info:'①当你使用的不为延时锦囊牌的牌结算结束后你可选择一名R内不存在以a为第一序偶的二元序偶的其他角色a并选择一名角色b在关系R内建立二元序偶&lt;a,b&gt;b对其他角色不可见。②一名角色a使用不为延时锦囊牌的牌指定b为目标时若(aRb)∧(此牌目标数为1)为真,则{你从R内移除&lt;a,b&gt;若b为你你摸一张牌若b不为你你可选择⒈取消此牌的目标然后若场上没有处于濒死状态的角色则你对a造成1点伤害。⒉摸两张牌};否则{你清除R内以a为第一元素的二元序偶}。',
sp_chendong:'陈武董袭',
spyilie:'毅烈',
spyilie_info:'出牌阶段开始时,你可选择:①本阶段内使用【杀】的次数上限+1。②本回合内使用【杀】被【闪】抵消时摸一张牌。③背水失去1点体力然后依次执行上述所有选项。',
@ -16492,7 +16508,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
yiyong:'异勇',
yiyong_info:'当你受到其他角色造成的渠道为【杀】的伤害后,若你的装备区内有武器牌,则你可以获得此【杀】对应的所有实体牌,然后将这些牌当做【杀】对伤害来源使用(无距离限制)。若其装备区内没有武器牌,则此伤害+1。',
shanxie:'擅械',
shanxie_info:'①出牌阶段限一次,你可选择一项:⒈从牌堆中获得一张武器牌。⒉获得一名其他角色装备区内的一张武器牌并使用,然后其将一张手牌当做【杀】对你使用。②当其他角色使用【闪】响应你使用的【杀】时,若此【闪】没有点数或点数不大于你攻击范围的二倍,则你令此【闪】无效。',
shanxie_info:'①出牌阶段限一次,你可从牌堆中获得一张武器牌。若牌堆中没有武器牌,则你改为随机获得一名角色装备区内的一张武器牌。②当其他角色使用【闪】响应你使用的【杀】时,若此【闪】没有点数或点数不大于你攻击范围的二倍,则你令此【闪】无效。',
shanxie_info_old:'①出牌阶段限一次,你可选择一项:⒈从牌堆中获得一张武器牌。⒉获得一名其他角色装备区内的一张武器牌并使用,然后其将一张手牌当做【杀】对你使用。②当其他角色使用【闪】响应你使用的【杀】时,若此【闪】没有点数或点数不大于你攻击范围的二倍,则你令此【闪】无效。',
sunyi:'手杀孙翊',
zaoli:'躁厉',
zaoli_info:'锁定技。①你不能于回合内使用你手牌中不为本回合获得的牌。②当你使用或打出手牌时你获得一个“厉”至多4个。③回合开始时若你有“厉”则你移去所有“厉”并弃置任意张牌然后摸X+Y张牌。若X大于2你失去1点体力X为你移去的标记数Y为你弃置的牌数。',
@ -16613,6 +16630,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
spdaoshu_info:'每轮限一次。一名敌方角色的出牌阶段开始时,若其有手牌,则你可以令其视为使用一张【酒】。其须声明一个基本牌的牌名,然后你判断其手牌区内是否有该牌名的牌。若你判断正确,则你随机获得其五张手牌,否则你不能响应其使用的牌直到回合结束。',
spdaizui:'戴罪',
spdaizui_info:'限定技。当你受到伤害值不小于体力值的伤害时,你可防止此伤害并将此伤害渠道对应的所有实体牌置于伤害来源的武将牌上,称为“释”。本回合结束时,其获得所有“释”。',
re_caiwenji:'手杀蔡琰',
mobile_standard:'手杀异构·标准包',
mobile_shenhua:'手杀异构·神话再临',

View File

@ -11,7 +11,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
old_yijiang2:["old_zhonghui","madai"],
old_yijiang3:["liru","old_zhuran","old_fuhuanghou","old_caochong"],
old_yijiang4:["old_caozhen","old_chenqun","old_zhuhuan"],
old_yijiang5:["old_caoxiu","old_quancong","old_zhuzhi"],
old_yijiang5:["old_caoxiu","old_zhuzhi"],
old_yijiang67:["ol_zhangrang","ol_liuyu"],
old_sp:["old_lingju","old_maliang","old_machao","zhangliang","jsp_caoren","ol_guansuo","old_zhangxingcai","old_huangfusong","ol_maliang","old_wangyun"],
old_yingbian:['junk_simayi'],
@ -55,7 +55,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
old_lingtong:['male','wu',4,['oldxuanfeng']],
old_caoxiu:['male','wei',4,['taoxi']],
old_caozhen:['male','wei',4,['sidi']],
old_quancong:['male','wu',4,['zhenshan']],
old_lingju:['female','qun',3,['jieyuan','fenxin_old']],
old_maliang:['male','shu',3,['xiemu','naman']],
old_chenqun:['male','wei',3,['dingpin','oldfaen']],
@ -492,169 +491,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
expose:0.2
}
},
zhenshan:{
trigger:{player:'chooseToRespondBegin'},
filter:function(event,player){
if(event.responded) return false;
if(!event.filterCard({name:'shan'},player,event)&&!event.filterCard({name:'sha'},player,event)) return false;
if(player.hasSkill('zhenshan2')) return false;
var nh=player.countCards('h');
return game.hasPlayer(function(current){
return current!=player&&current.countCards('h')<nh;
});
},
direct:true,
content:function(){
"step 0"
player.chooseTarget(get.prompt('zhenshan'),function(card,player,target){
return target.countCards('h')<player.countCards('h');
}).set('ai',function(target){
return get.attitude(player,target)
});
"step 1"
if(result.bool){
trigger.untrigger();
trigger.responded=true;
if(trigger.filterCard({name:'shan',isCard:true})){
trigger.result={bool:true,card:{name:'shan',isCard:true}}
}
else{
trigger.result={bool:true,card:{name:'sha',isCard:true}}
}
player.logSkill('zhenshan',result.targets);
player.addTempSkill('zhenshan2');
player.swapHandcards(result.targets[0]);
}
},
group:'zhenshan_use'
},
zhenshan2:{},
zhenshan_use:{
enable:'chooseToUse',
filter:function(event,player){
if(player.hasSkill('zhenshan2')) return false;
var nh=player.countCards('h');
if(!game.hasPlayer(function(current){
return current!=player&&current.countCards('h')<nh;
})){
return false;
}
return event.filterCard({name:'sha'},player,event)||
event.filterCard({name:'jiu'},player,event)||
event.filterCard({name:'tao'},player,event)||
event.filterCard({name:'shan'},player,event);
},
chooseButton:{
dialog:function(event,player){
var list=[];
if(event.filterCard({name:'sha'},player,event)){
list.push(['基本','','sha']);
list.push(['基本','','sha','fire']);
list.push(['基本','','sha','thunder']);
list.push(['基本','','sha','ice']);
}
if(event.filterCard({name:'tao'},player,event)){
list.push(['基本','','tao']);
}
if(event.filterCard({name:'jiu'},player,event)){
list.push(['基本','','jiu']);
}
if(event.filterCard({name:'shan'},player,event)){
list.push(['基本','','shan']);
}
return ui.create.dialog('振赡',[list,'vcard'],'hidden');
},
check:function(button){
var player=_status.event.player;
var card={name:button.link[2],nature:button.link[3]};
if(card.name=='jiu') return 0;
if(game.hasPlayer(function(current){
return player.canUse(card,current)&&get.effect(current,card,player,player)>0;
})){
if(card.name=='sha'){
if(card.nature=='fire') return 2.95;
else if(card.nature=='fire') return 2.92;
else return 2.9;
}
else if(card.name=='tao'||card.name=='shan'){
return 4;
}
}
return 0;
},
backup:function(links,player){
return {
filterCard:function(){return false},
viewAs:{name:links[0][2],nature:links[0][3],isCard:true},
selectCard:-1,
popname:true,
log:false,
precontent:function(){
'step 0'
player.chooseTarget('选择交换手牌的目标',function(card,player,target){
return target.countCards('h')<player.countCards('h')
},true).ai=function(target){
return get.attitude(player,target);
}
player.addTempSkill('zhenshan2');
'step 1'
if(result.bool){
player.logSkill('zhenshan',result.targets);
player.swapHandcards(result.targets[0]);
}
},
}
},
prompt:function(links,player){
return '选择'+get.translation(links[0][3]||'')+get.translation(links[0][2])+'的目标';
}
},
ai:{
order:function(){
var player=_status.event.player;
var event=_status.event;
var nh=player.countCards('h');
if(game.hasPlayer(function(current){
return get.attitude(player,current)>0&&current.countCards('h')<nh;
})){
if(event.type=='dying'){
if(event.filterCard({name:'tao'},player,event)){
return 0.5;
}
}
else{
if(event.filterCard({name:'tao'},player,event)||event.filterCard({name:'shan'},player,event)){
return 4;
}
if(event.filterCard({name:'sha'},player,event)){
return 2.9;
}
}
}
return 0;
},
save:true,
respondSha:true,
respondShan:true,
skillTagFilter:function(player,tag,arg){
if(player.hasSkill('zhenshan2')) return false;
var nh=player.countCards('h');
return game.hasPlayer(function(current){
return current!=player&&current.countCards('h')<nh;
});
},
result:{
player:function(player){
if(_status.event.type=='dying'){
return get.attitude(player,_status.event.dying);
}
else{
return 1;
}
}
}
}
},
oldxuanfeng:{
audio:'xuanfeng',
trigger:{player:'loseAfter'},
@ -729,7 +565,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
old_zhuran:'旧朱然',
old_caoxiu:'旧曹休',
old_caozhen:'旧曹真',
old_quancong:'旧全琮',
old_lingju:'旧灵雎',
old_maliang:'旧马良',
old_chenqun:'旧陈群',
@ -773,11 +608,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
oldanxu_info:'出牌阶段限一次,你可以选择手牌数不相等的两名其他角色,令其中手牌少的角色获得手牌多的角色的一张手牌并展示之,然后若此牌不为黑桃,你摸一张牌。',
oldfaen:'法恩',
oldfaen_info:'当一名角色翻面或横置后,你可以令其摸一张牌。',
zhenshan:'振赡',
zhenshan_use:'振赡',
zhenshan_use_backup:'振赡',
zhenshan_info:'每名角色的回合限一次,每当你需要使用或打出一张基本牌时,你可以与一名手牌数少于你的角色交换手牌。若如此做,视为你使用或打出了此牌',
zhenshan_use_info:'每名角色的回合限一次,每当你需要使用或打出一张基本牌时,你可以与一名手牌数少于你的角色交换手牌。若如此做,视为你使用或打出了此牌',
oldxuanfeng:'旋风',
oldxuanfeng_info:'每当你失去一次装备区里的牌时你可以执行下列两项中的一项1.视为对任意一名其他角色使用一张【杀】此【杀】不计入每回合的使用限制2.对与你距离1以内的一名其他角色造成一点伤害',
ol_yuanshu:'旧袁术',

View File

@ -266,6 +266,8 @@ window.noname_character_rank={
'sunhanhua',
're_pangdegong',
're_fengfangnv',
'caomao',
'guanning',
'key_misuzu',
'key_sunohara',
'key_umi',
@ -505,6 +507,8 @@ window.noname_character_rank={
'sp_jianggan',
'tw_caozhao',
'tw_guohuai',
'shen_jiangwei',
'dc_luotong',
],
bp:[
'chess_diaochan',
@ -768,6 +772,7 @@ window.noname_character_rank={
'tw_wangchang',
'jin_jiachong',
'licaiwei',
'tengyin',
],
b:[
'diy_feishi',
@ -990,6 +995,8 @@ window.noname_character_rank={
'xin_wuguotai',
'dc_xushu',
'dc_jiben',
'ol_caiwenji',
'dc_gaolan',
],
bm:[
'diy_xizhenxihong',
@ -1148,6 +1155,7 @@ window.noname_character_rank={
'haomeng',
'mamidi',
'tw_wujing',
'dc_zhuling',
],
c:[
'xiahoudun',
@ -1331,6 +1339,8 @@ window.noname_character_rank={
'tw_gexuan',
'fengfangnv',
'zhangmancheng',
'guanning',
'shen_jiangwei',
'key_tomoya',
'key_masato',
'key_shiorimiyuki',
@ -1526,6 +1536,7 @@ window.noname_character_rank={
'tw_liuhong',
'tw_caozhao',
'wufan',
'dc_luotong',
'key_kano',
'key_haruko',
'key_akiko',
@ -1906,7 +1917,11 @@ window.noname_character_rank={
'tw_wangcan',
'tw_wangchang',
'licaiwei',
'jin_jiachongp',
'jin_jiachong',
'ol_caiwenji',
'tengyin',
'dc_gaolan',
'caomao',
],
junk:[
'sunshao',

View File

@ -8,7 +8,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
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_menghuo','ol_sunjian','re_caopi','ol_xuhuang','ol_dongzhuo','ol_zhurong','re_jiaxu','ol_lusu'],
refresh_shan:['ol_jiangwei','re_caiwenji','ol_liushan','re_zhangzhang','re_zuoci','re_sunce','ol_dengai','re_zhanghe'],
refresh_shan:['ol_jiangwei','ol_caiwenji','ol_liushan','re_zhangzhang','re_zuoci','re_sunce','ol_dengai','re_zhanghe'],
refresh_yijiang1:['xin_wuguotai','xin_gaoshun','re_caozhi','yujin_yujin','re_masu','xin_xusheng','re_fazheng','xin_lingtong','re_zhangchunhua','dc_xushu'],
refresh_yijiang2:['re_madai','re_wangyi','guanzhang','xin_handang','xin_zhonghui','re_liaohua','re_chengpu','re_caozhang','re_bulianshi','xin_liubiao'],
refresh_yijiang3:['re_jianyong','re_guohuai','re_zhuran','re_panzhangmazhong','xin_yufan','re_liru','re_manchong','re_fuhuanghou','re_guanping'],
@ -121,7 +121,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
ol_sunjian:['male','wu','4/5',['gzyinghun','wulie']],
re_caopi:['male','wei',3,['rexingshang','refangzhu','songwei'],['zhu']],
ol_jiangwei:['male','shu',4,['oltiaoxin','olzhiji']],
re_caiwenji:['female','qun',3,['rebeige','duanchang']],
ol_caiwenji:['female','qun',3,['olbeige','duanchang']],
ol_liushan:['male','shu',3,['xiangle','olfangquan','olruoyu'],['zhu']],
re_zhangzhang:['male','wu',3,['rezhijian','guzheng']],
@ -143,6 +143,101 @@ game.import('character',function(lib,game,ui,get,ai,_status){
re_xushu:['zhaoyun','sp_zhugeliang'],
},
skill:{
//OL界蔡文姬
olbeige:{
audio:'beige',
audioname:['ol_caiwenji'],
trigger:{global:'damageEnd'},
logTarget:'player',
filter:function(event,player){
return event.card&&event.card.name=='sha'&&event.player.isIn()&&player.countCards('he')>0;
},
check:function(event,player){
if(event.player.hasSkill('xinleiji')) return get.attitude(player,event.player)>0;
return true;
},
prompt2:'令其进行判定,然后你可根据判定结果,弃置一张牌并令其执行对应效果。',
content:function(){
'step 0'
event.target=trigger.player;
event.source=trigger.source;
trigger.player.judge();
'step 1'
event.judgeResult=get.copy(result);
var str='是否弃置一张牌',strt=get.translation(target),strs=get.translation(source),goon=0;
switch(result.suit){
case 'heart':
if(target.isIn()&&target.isDamaged()){
str+=(',令'+strt+'回复1点体力');
goon=get.recoverEffect(target,player,player);
}
break;
case 'diamond':
if(target.isIn()){
str+=(',令'+strt+'摸两张牌');
goon=get.effect(target,{name:'wuzhong'},player,player);
}
break;
case 'spade':
if(source&&source.isIn()){
str+=(',令'+strs+'翻'+(source.isTurnedOver()?'回正':'')+'面');
goon=get.attitude(player,source)*(source.isTurnedOver()?2:-2);
}
break;
case 'club':
if(source&&source.isIn()){
str+=(',令'+strs+'弃置两张牌');
var cards=source.getCards('he').sort(function(a,b){
return get.value(a,source)-get.value(b,source);
}).slice(0,2);
for(var i of cards) goon+=get.value(i,source);
goon*=(-get.sgn(get.attitude(player,source)));
}
break;
}
str+='';
var str2=('若弃置点数为'+get.strNumber(result.number)+'的牌则收回自己弃置的牌');
if(get.position(result.card,true)=='d'){
str2+=(';若弃置花色为'+get.translation(result.suit)+'的牌则获得'+get.translation(result.card));
}
player.chooseToDiscard('he',str,str2).set('goon',goon).set('ai',function(card){
var goon=_status.event.goon;
var player=_status.event.player;
var result=_status.event.getParent().judgeResult;
var eff=Math.min(7,goon);
if(eff<=0) return 0;
if(get.suit(card,player)==result.suit) eff+=get.value(result.card,player);
if(get.number(card,player)==result.number) return eff;
return eff-get.value(card);
});
'step 2'
if(result.bool){
event.card=result.cards[0];
switch(event.judgeResult.suit){
case 'heart':
if(target.isIn()&&target.isDamaged()) target.recover();
break;
case 'diamond':
if(target.isIn()) target.draw(2);
break;
case 'spade':
if(source&&source.isIn()) source.turnOver();
player.addExpose(0.1);
break;
case 'club':
if(source&&source.isIn()&&source.countCards('he')>0) source.chooseToDiscard(2,'he',true);
player.addExpose(0.1);
break;
}
}
else event.finish();
'step 3'
var gains=[];
if(get.position(event.judgeResult.card,true)=='d'&&get.suit(card,player)==event.judgeResult.suit) gains.push(event.judgeResult.card);
if(get.position(card,true)=='d'&&get.number(card,player)==event.judgeResult.number) gains.push(card);
if(gains.length) player.gain(gains,'gain2');
},
},
//OL界张郃
reqiaobian:{
audio:2,
@ -159,8 +254,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
player.addMark('reqiaobian',2);
game.delayx();
},
mark:true,
marktext:'变',
intro:{
name2:'变',
content:function(storage,player){
var str='共有'+(storage||0)+'个标记';
if(player.storage.reqiaobian_jieshu){
@ -1508,8 +1604,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
});
if(list.length&&game.hasPlayer((current)=>(current!=player))){
var next=player.chooseButton(['是否将一张锦囊牌交给一名其他角色?',list]).set('ai',function(button){
return get.value(button.link,'raw');
});
if(_status.event.goon) return Math.max(0.1,get.value(button.link,'raw'));
return 0;
}).set('goon',game.hasPlayer(function(current){
return current!=player&&get.attitude(player,current)>0&&!current.hasSkillTag('nogain');
}));
if(!result.moved[1].length) next.set('forced',true);
}
else event.finish();
@ -1521,7 +1620,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
event.card=card;
player.chooseTarget(lib.filter.notMe,true,'令一名其他角色获得'+get.translation(card)).set('card',card).set('ai',function(target){
var card=_status.event.card,player=_status.event.player;
var eff=get.value(card,target)*get.attitude(player,target);
var eff=Math.max(0.1,get.value(card,target))*get.attitude(player,target);
if(target.hasSkill('nogain')) eff/=10;
return eff;
});
@ -8464,11 +8563,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
content:function (){
"step 0"
target.chooseCard(true).ai=function(card){
if(!target.countCards('h')){
event.finish();
return;
}
else target.chooseCard(true,'h').set('ai',function(card){
var player=_status.event.player;
if((player.hasShan()||player.hp<3)&&get.color(card)=='black') return 0.5;
return Math.max(1,20-get.value(card));
};
});
"step 1"
target.showCards(result.cards);
event.card2=result.cards[0];
@ -11515,7 +11618,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
rezaiqi:'再起',
rezaiqi_info:'结束阶段开始时你可以令至多X名角色选择一项1.摸一张牌2.令你回复1点体力X为本回合进入弃牌堆的红色牌数',
ol_jiangwei:'界姜维',
re_caiwenji:'界蔡琰',
ol_caiwenji:'界蔡琰',
re_baosanniang:'手杀鲍三娘',
retuntian:'屯田',
rebeige:'悲歌',
@ -11526,6 +11629,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
re_zhangzhang:'界张昭张纮',
rehunzi:'魂姿',
rehunzi_info:'觉醒技准备阶段若你的体力值不大于2你减1点体力上限并获得技能〖英姿〗和〖英魂〗。',
rezhijian:'直谏',
rezhijian_info:'出牌阶段,你可以将手牌中的一张装备牌置于一名其他角色装备区里(不得替换原装备),然后摸一张牌。当你使用装备牌时,你可以摸一张牌。',
refangquan:'放权',
refangquan_info:'你可跳过你的出牌阶段,若如此做,你本回合的手牌上限为你的体力上限,且回合结束时,你可以弃置一张手牌并令一名其他角色进行一个额外的回合。',
@ -11819,7 +11923,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
xinbuyi_info:'一名角色进入濒死状态时你可展示其一张手牌。若此牌不为基本牌则其弃置此牌并回复1点体力。若其以此法弃置的牌移动前为其的唯一一张手牌则其摸一张牌。',
decadexianzhen:'陷阵',
decadexianzhen2:'陷阵',
decadexianzhen_info:'每回合限一次。出牌阶段,你可以和一名其他角色拼点。若你赢:本回合你无视该角色的防具,且对其使用牌没有次数和距离限制,且本回合使用【杀】或普通锦囊牌选择唯一目标后,可以令其也成为此牌的目标,且本回合对其使用牌造成伤害时,此伤害+1每种牌名每回合限一次若你没赢你本回合内不能使用【杀】且【杀】不计入手牌上限。',
decadexianzhen_info:'每回合限一次。出牌阶段,你可以和一名其他角色拼点。若你赢:本回合你无视该角色的防具,且对其使用牌没有次数和距离限制,且本回合对其使用牌造成伤害时,此伤害+1每种牌名每回合限一次若你没赢你本回合内不能使用【杀】且【杀】不计入手牌上限。',
decadejinjiu:'禁酒',
decadejinjiu_info:'锁定技。你的【酒】的牌名均视为【杀】且点数视为K你的回合内其他角色不能使用【酒】。',
dc_xushu:'界徐庶',
@ -11832,6 +11936,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
re_zhanghe:'界张郃',
reqiaobian:'巧变',
reqiaobian_info:'①游戏开始时,你获得两枚“变”。②判定阶段开始时,你可弃置一张牌或一枚“变”并跳过此阶段。③摸牌阶段开始时,你可弃置一张牌或一枚“变”并跳过此阶段,然后可以获得至多两名其他角色的各一张手牌。④出牌阶段开始时,你可弃置一张牌或一枚“变”并跳过此阶段,然后你可以移动场上的一张牌。⑤弃牌阶段开始时,你可弃置一张牌或一枚“变”并跳过此阶段。⑥结束阶段,若你的〖巧变⑥〗记录中不包含你的手牌数,则你获得一枚“变”并记录你的手牌数。',
olbeige:'悲歌',
olbeige_info:'当有角色受到渠道为【杀】的伤害后若你有牌你可令其进行判定。然后你可弃置一张牌根据判定结果执行以下的一个选项其回复1点体力其摸两张牌伤害来源弃置两张牌伤害来源将武将牌翻面。若你弃置的牌与判定结果点数相同则你获得你弃置的牌花色相同则你获得判定牌。',
refresh_standard:'界限突破·标',
refresh_feng:'界限突破·风',

View File

@ -7301,7 +7301,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
sunce:['re_sunben','re_sunce','sunce'],
zhangzhang:['re_zhangzhang','zhangzhang'],
zuoci:['re_zuoci','zuoci'],
caiwenji:['re_caiwenji','caiwenji'],
caiwenji:['ol_caiwenji','re_caiwenji','caiwenji'],
xuyou:['sp_xuyou','xuyou'],
guanqiujian:['guanqiujian','re_guanqiujian','old_guanqiujian'],
chendao:['chendao','ns_chendao'],

View File

@ -11238,6 +11238,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(result.bool) player.addToExpansion(result.cards,player,'give').gaintag.add('yishe');
},
group:'yishe_recover',
ai:{combo:'bushi'},
subSkill:{
recover:{
audio:'yishe',
@ -11292,7 +11293,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
else event.finish();
'step 3'
if(event.count>0&&player.getExpansions('yishe').length) event.goto(1);
}
},
ai:{combo:'yishe'},
},
midao:{
audio:2,
@ -11352,6 +11354,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
},
ai:{
combo:'yishe',
rejudge:true,
tag:{
rejudge:0.6
@ -12827,9 +12830,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
qiangwu3:{
mod:{
aiOrder:function(player,card,num){
if(card.name=='sha'&&get.number(card)>player.storage.qiangwu) return num+2;
},
targetInRange:function(card,player){
if(_status.currentPhase==player&&card.name=='sha'&&get.number(card)<player.storage.qiangwu) return true;
},
@ -13778,7 +13778,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
trigger:{source:'damageSource'},
forced:true,
filter:function(event,player){
if(event._notrigger.contains(event.player)||event.player.isIn()) return false;
if(event._notrigger.contains(event.player)||!event.player.isIn()) return false;
return event.nature=='fire';
},
logTarget:'player',
@ -14467,7 +14467,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
filterCard:true,
position:'he',
content:function(){
player.gain(target.getCards('h'),target,'giveAuto');
player.gainPlayerCard(target,true,'',target.countCards('h'));
player.turnOver();
player.addSkill('lihun2');
player.storage.lihun=target;
@ -16055,11 +16055,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
zongyu:['sp_zongyu','zongyu'],
ol_dongzhao:['ol_dongzhao','tw_dongzhao'],
mayunlu:['tw_mayunlu','mayunlu'],
zhuling:['ol_zhuling','zhuling'],
zhuling:['ol_zhuling','dc_zhuling','zhuling'],
zangba:['tw_zangba','zangba'],
zhangbao:['zhangbao','re_zhangbao'],
jianggan:['jianggan','sp_jianggan'],
dc_jiben:['dc_jiben','sp_jiben'],
yangyi:['ol_yangyi','yangyi'],
},
translate:{
"xinfu_lingren":"凌人",
@ -16712,7 +16713,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
mingshi_info:'当你受到伤害时,若伤害来源的体力值大于你,你可以弃置一张黑色手牌,令伤害值-1。',
lirang_info:'当你的牌因弃置而置入弃牌堆后,你可以将其中的任意张牌交给其他角色。',
moukui_info:'当你使用【杀】指定目标后,你可以选择一项:摸一张牌,或弃置其一张牌。若如此做,当此【杀】被【闪】抵消时,目标角色弃置你的一张牌。 ',
qiangwu_info:'出牌阶段,你可以进行判定。若如此做,直到回合结束,你使用点数小于判定结果的【杀】时不受距离限制,且你使用点数大于判定结果的【杀】时不计入出牌阶段的使用次数限制。',
qiangwu_info:'出牌阶段,你可以进行判定。若如此做,直到回合结束,你使用点数小于判定结果的【杀】时不受距离限制,且你使用点数大于判定结果的【杀】时使用次数限制。',
shenxian_info:'每名角色的回合限一次,你的回合外,当有其他角色因弃置而失去基本牌时,你可以摸一张牌。',
oldshenxian_info:'你的回合外,每当有其他角色因弃置而失去基本牌时,你可以摸一张牌。',
qiluan_info:'一名角色的回合结束时你可以摸3X+Y张牌。X为你本回合内杀死过的角色数Y为本回合内其他角色杀死过的角色数',
@ -16933,7 +16934,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
wuyan:'吾彦',
lanjiang:'澜疆',
lanjiang_info:'结束阶段你可以选择令所有手牌数不小于你的角色。这些角色依次选择是否令你摸一张牌。然后你可以对其中一名手牌数等于你的角色造成1点伤害随后可以对其中一名手牌数小于你的角色摸一张牌。',
ol_zhuling:'朱灵',
ol_zhuling:'OL朱灵',
jixian:'急陷',
jixian_info:'摸牌阶段结束时你可以选择一名满足以下至少一项条件的角色⒈装备区内有防具牌⒉拥有的普通技能数大于你⒊体力值等于体力上限。你视为对其使用一张【杀】然后摸X张牌X为其于此【杀】结算前满足的条件数若此【杀】未造成伤害则你失去1点体力。',
ol_chendeng:'OL陈登',

File diff suppressed because it is too large Load Diff

View File

@ -6,12 +6,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
characterSort:{
tw:{
tw_mobile:['nashime','tw_dongzhao','jiachong','duosidawang','wuban','yuejiu','tw_huojun','tw_caocao','tw_zhangmancheng','tw_caozhao','tw_wangchang'],
tw_mobile2:['tw_beimihu','tw_gexuan','tw_fuwan','tw_yujin','tw_zhaoxiang','tw_hucheer','tw_hejin','tw_mayunlu','tw_re_caohong','tw_zangba','tw_liuhong','tw_chengpu','tw_guohuai','tw_wujing','tw_wangcan'],
tw_mobile2:['tw_beimihu','tw_gexuan','tw_fuwan','tw_yujin','tw_zhaoxiang','tw_hucheer','tw_hejin','tw_mayunlu','tw_re_caohong','tw_zangba','tw_liuhong','tw_chengpu','tw_guohuai','tw_wujing','tw_wangcan','old_quancong'],
tw_yijiang:['tw_caoang','tw_caohong','tw_zumao','tw_dingfeng','tw_maliang','tw_xiahouba'],
tw_english:['kaisa'],
},
},
character:{
old_quancong:['male','wu',4,['zhenshan']],
tw_wujing:['male','wu',4,['twfenghan','twcongji']],
tw_wangcan:['male','wei',3,['twdianyi','twyingji','twshanghe']],
tw_wangchang:['male','wei',3,['twkaiji','twshepan']],
@ -169,6 +170,141 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
},
skill:{
//全琮
zhenshan:{
audio:2,
enable:['chooseToUse','chooseToRespond'],
filter:function(event,player){
if(event.type=='wuxie') return false;
var nh=player.countCards('h');
if(!game.hasPlayer(function(current){
return current!=player&&current.countCards('h')<nh;
})){
return false;
}
for(var i of lib.inpile){
if(get.type(i)!='basic') continue;
var card={name:i,isCard:true};
if(event.filterCard(card,player,event)) return true;
if(i=='sha'){
for(var j of lib.inpile_nature){
card.nature=j;
if(event.filterCard(card,player,event)) return true;
}
}
}
return false;
},
chooseButton:{
dialog:function(event,player){
var list=[];for(var i of lib.inpile){
if(get.type(i)!='basic') continue;
var card={name:i,isCard:true};
if(event.filterCard(card,player,event)) list.push(['基本','',i]);
if(i=='sha'){
for(var j of lib.inpile_nature){
card.nature=j;
if(event.filterCard(card,player,event)) list.push(['基本','',i,j]);
}
}
}
return ui.create.dialog('振赡',[list,'vcard'],'hidden');
},
check:function(button){
var player=_status.event.player;
var card={name:button.link[2],nature:button.link[3]};
if(card.name=='jiu') return 0;
if(game.hasPlayer(function(current){
return get.effect(current,card,player,player)>0;
})){
if(card.name=='sha'){
var eff=player.getUseValue(card);
if(eff>0) return 2.9+eff/10;
return 0;
}
else if(card.name=='tao'||card.name=='shan'){
return 4;
}
}
return 0;
},
backup:function(links,player){
return {
filterCard:function(){return false},
viewAs:{
name:links[0][2],
nature:links[0][3],
isCard:true,
},
selectCard:-1,
precontent:function(){
'step 0'
player.chooseTarget('选择一名手牌数小于你的角色交换手牌',function(card,player,target){
return target!=player&&target.countCards('h')<player.countCards('h')
},true).set('ai',function(target){
return get.attitude(player,target)*Math.sqrt(target.countCards('h')+1);
});
'step 1'
if(result.bool){
player.logSkill('zhenshan',result.targets);
player.swapHandcards(result.targets[0]);
delete event.result.skill;
}
else event.finish();
'step 2'
game.delayx();
},
}
},
prompt:function(links,player){
return '选择【'+get.translation(links[0][3]||'')+get.translation(links[0][2])+'】的目标';
}
},
ai:{
order:function(){
var player=_status.event.player;
var event=_status.event;
var nh=player.countCards('h');
if(game.hasPlayer(function(current){
return get.attitude(player,current)>0&&current.countCards('h')<nh;
})){
if(event.type=='dying'){
if(event.filterCard({name:'tao'},player,event)){
return 0.5;
}
}
else{
if(event.filterCard({name:'tao'},player,event)||event.filterCard({name:'shan'},player,event)){
return 4;
}
if(event.filterCard({name:'sha'},player,event)){
return 2.9;
}
}
}
return 0;
},
save:true,
respondSha:true,
respondShan:true,
skillTagFilter:function(player,tag,arg){
var nh=player.countCards('h');
return game.hasPlayer(function(current){
return current!=player&&current.countCards('h')<nh;
});
},
result:{
player:function(player){
if(_status.event.type=='dying'){
return get.attitude(player,_status.event.dying);
}
else{
return 1;
}
}
}
}
},
//吴景
twfenghan:{
audio:2,
@ -872,7 +1008,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
trigger:{global:'useCard'},
direct:true,
filter:function(event,player){
return event.player!=player&&event.card.name=='sha'&&event.player.countCards('he')>0&&event.player.getExpansions('twchunlao').length>0;
return event.card.name=='sha'&&event.player.countCards('he')>0&&event.player.getExpansions('twchunlao').length>0;
},
content:function(){
'step 0'
@ -903,7 +1039,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(result.bool){
target.logSkill('twchunlao',player);
if(!target.hasSkill('twchunlao')) game.trySkillAudio('twchunlao',player);
player.gain(result.cards,target,'giveAuto');
if(player!=target) player.gain(result.cards,target,'giveAuto');
trigger.baseDamage++;
}
},
@ -4185,6 +4321,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
twfenghan_info:'每回合限一次。当你使用【杀】或伤害类锦囊牌指定第一个目标后你可令至多X名角色各摸一张牌X为此牌的目标数。',
twcongji:'从击',
twcongji_info:'当你的红色牌于回合外因弃置而进入弃牌堆后,你可令一名其他角色获得这些牌。',
old_quancong:'TW全琮',
zhenshan:'振赡',
zhenshan_info:'当你需要使用或打出一张基本牌时,你可以与一名手牌数少于你的角色交换手牌,视为使用或打出此牌。',
tw_mobile:'移动版·海外服',
tw_mobile2:'海外服异构',

View File

@ -6013,7 +6013,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
button=result.links[0];
}
if(button){
player.loseToDiscardpile('sidi');
player.loseToDiscardpile(button);
trigger.player.addTempSkill('sidi3');
trigger.player.addMark('sidi3',1,false);
}

View File

@ -30,8 +30,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
yingbian:{
yingbian_pack1:['jin_simayi','jin_zhangchunhua','ol_lisu','simazhou','cheliji','ol_huaxin'],
yingbian_pack2:['jin_simashi','jin_xiahouhui','zhanghuyuechen','shibao','jin_yanghuiyu'],
yingbian_pack3:['jin_simazhao','jin_wangyuanji','duyu','weiguan','xuangongzhu','jin_jiachong'],
yingbian_pack4:['zhongyan','xinchang'],
yingbian_pack3:['jin_simazhao','jin_wangyuanji','duyu','weiguan','xuangongzhu'],
yingbian_pack4:['zhongyan','xinchang','jin_jiachong'],
yingbian_pack5:['yangyan','yangzhi'],
},
},
@ -41,18 +41,22 @@ game.import('character',function(lib,game,ui,get,ai,_status){
trigger:{global:'phaseUseBegin'},
direct:true,
filter:function(event,player){
return player!=event.player&&event.player.countCards('he')>0&&player.countCards('he')>player.countMark('xiongshu_count');
return player!=event.player&&event.player.countCards('he')>0&&player.countCards('he')>=player.countMark('xiongshu_count');
},
content:function(){
'step 0'
event.target=trigger.player;
var num=1+player.countMark('xiongshu_count');
player.chooseToDiscard('he',num,get.prompt('xiongshu',trigger.player),'弃置'+get.cnNumber(num)+'张牌并展示其一张牌').set('goon',get.attitude(player,event.target)<0).set('ai',function(card){
var num=player.countMark('xiongshu_count');
if(num>0) player.chooseToDiscard('he',num,get.prompt('xiongshu',trigger.player),'弃置'+get.cnNumber(num)+'张牌并展示其一张牌').set('goon',get.attitude(player,event.target)<0).set('ai',function(card){
if(!_status.event.goon) return 0;
return 6-_status.event.player.countMark('xiongshu_count')-get.value(card);
}).logSkill=['xiongshu',trigger.player];
else player.chooseBool(get.prompt('xiongshu',trigger.player),'展示其一张牌').set('goon',get.attitude(player,event.target)<0).set('ai',function(card){
return _status.event.goon;
})
'step 1'
if(result.bool){
if(!result.cards.length) player.logSkill('xiongshu',target);
player.addTempSkill('xiongshu_count','roundStart');
player.addMark('xiongshu_count',1,false);
}
@ -106,10 +110,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
content:function(){
var target=trigger.player;
var info=player.storage.xiongshu_effect;
var card=info[0];
if(target.hasHistory('useCard',function(evt){
return evt.card.name==info[1]&&evt.getParent('phaseUse')==trigger;
})==info[2]) target.damage();
else if(target.getCards('he').contains(card)) player.gain(card,target,'give');
else if(target.getCards('hej').contains(card)) player.gain(card,target,'give');
},
},
},
@ -395,7 +400,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
trigger:{player:'loseAfter'},
forced:true,
filter:function(event,player){
return event.type=='discard'&&event.getParent(3).name!='weishu_discard'&&event.getParent('phaseDiscard').player!=player&&game.hasPlayer((target)=>(target!=player&&target.countDiscardableCards(player,'he')>0));
return event.type=='discard'&&event.getParent(3).name!='weishu_discard'&&event.getParent('phaseDiscard').player!=player&&event.cards2.length>0&&game.hasPlayer((target)=>(target!=player&&target.countDiscardableCards(player,'he')>0));
},
content:function(){
'step 0'
@ -3133,7 +3138,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
yangyan:'杨艳238年274年8月25日字琼芝弘农郡华阴县今陕西省华阴市晋武帝司马炎第一任皇后曹魏通事郎杨炳之女。自幼父母双亡为舅舅赵俊所养跟随继母段氏生活。聪明贤慧善于书法天生丽质娴熟女红嫁给了世子司马炎。泰始元年265年晋武帝即位建立西晋。泰始二年266年杨艳受册为皇后深得晋武帝宠幸生下三子三女包括晋惠帝司马衷。泰始十年274年去世时年三十七陪葬于峻阳陵谥号武元皇后。',
yangzhi:'杨芷259年292年3月6日字季兰小字男胤弘农郡华阴县今陕西省华阴市晋武帝司马炎第二任皇后东汉太尉杨震幼子杨奉后裔东汉末年东莱太守、蓩亭侯杨众曾孙女西晋太傅杨骏与嫡妻庞氏之女武元皇后杨艳堂妹。咸宁二年276年立为皇后史称“婉嫕有妇德 美映椒房”得宠于晋武帝。生渤海殇王早薨之后再无生育。其父杨骏擅权引起皇后贾南风忌恨贾南风联络汝南王司马亮、楚王司马玮发动政变杀死杨骏并唆使大臣上书状告杨芷谋反让晋惠帝司马衷将其贬为庶人押到金墉城居住。元康二年292年杨芷冻饿而死谥号武悼皇后。',
xinchang:'辛敞(生卒年不详),字泰雍,陇西人氏,是曹魏时代官员。卫尉辛毗之子,辛宪英之弟。',
xuangongzhu:'高陵宣公主(?—?)司马氏,晋宣帝司马懿第二女。司马氏下嫁杜预。其兄弟司马炎登基时司马氏已经去世。泰始年间265年—274年追赠高陵公主。',
xuangongzhu:'高陵宣公主(?—?)司马氏,晋宣帝司马懿第二女。司马氏下嫁杜预。其司马炎登基时司马氏已经去世。泰始年间265年—274年追赠高陵公主。',
},
characterTitle:{},
perfectPair:{},
@ -3322,7 +3327,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
weishu_info:'锁定技。①当你于摸牌阶段外不因〖卫戊①〗而摸牌后,你令一名角色摸一张牌。②当你于弃牌阶段外不因〖卫戊②〗而弃置牌后,你弃置一名其他角色的一张牌。',
jin_jiachong:'贾充',
xiongshu:'凶竖',
xiongshu_info:'其他角色的出牌阶段开始时你可弃置X张牌X为你本轮内已发动过此技能的次数+1并展示其一张牌然后你预测“其本阶段内是否会使用与展示牌牌名相同的牌”。此阶段结束时若你的预测正确则你对其造成1点伤害否则你获得展示牌。',
xiongshu_info:'其他角色的出牌阶段开始时你可弃置X张牌X为你本轮内此前已发动过此技能的次数为0则不弃并展示其一张牌然后你预测“其本阶段内是否会使用与展示牌牌名相同的牌”。此阶段结束时若你的预测正确则你对其造成1点伤害否则你获得展示牌。',
jianhui:'奸回',
jianhui_info:'锁定技。当你造成伤害后若受伤角色为A则你摸一张牌当你受到伤害后若伤害来源为A则A弃置一张牌。A为除本次伤害外最近一次对你造成过伤害的角色',

View File

@ -1,5 +1,5 @@
window.noname_asset_list=[
'v1.9.114',
'v1.9.114.3',
'audio/background/aozhan_chaoming.mp3',
'audio/background/aozhan_online.mp3',
'audio/background/aozhan_rewrite.mp3',
@ -889,6 +889,18 @@ window.noname_asset_list=[
'audio/die/dc_jiben.mp3',
'audio/die/licaiwei.mp3',
'audio/die/tw_wangchang.mp3',
'audio/die/caomao.mp3',
'audio/die/dc_gaolan.mp3',
'audio/die/dc_luotong.mp3',
'audio/die/dc_zhuling.mp3',
'audio/die/guanning.mp3',
'audio/die/ol_caiwenji.mp3',
'audio/die/old_quancong.mp3',
'audio/die/shen_jiangwei.mp3',
'audio/die/tengyin.mp3',
'audio/die/tw_caozhao.mp3',
'audio/die/xin_quancong.mp3',
'audio/die/xuyou.mp3',
'audio/skill/decadezishou1.mp3',
'audio/skill/decadezishou2.mp3',
@ -4088,6 +4100,62 @@ window.noname_asset_list=[
'audio/skill/yijiao2.mp3',
'audio/skill/zhishi1.mp3',
'audio/skill/zhishi2.mp3',
'audio/skill/chenjian1.mp3',
'audio/skill/chenjian2.mp3',
'audio/skill/dczhanyi1.mp3',
'audio/skill/dczhanyi2.mp3',
'audio/skill/duanchang_ol_caiwenji1.mp3',
'audio/skill/duanchang_ol_caiwenji2.mp3',
'audio/skill/dunshi1.mp3',
'audio/skill/dunshi2.mp3',
'audio/skill/fensi1.mp3',
'audio/skill/fensi2.mp3',
'audio/skill/gzjieyue1.mp3',
'audio/skill/gzjieyue2.mp3',
'audio/skill/jianglue1.mp3',
'audio/skill/jianglue2.mp3',
'audio/skill/jinjian1.mp3',
'audio/skill/jinjian2.mp3',
'audio/skill/jiufa1.mp3',
'audio/skill/jiufa2.mp3',
'audio/skill/juetao1.mp3',
'audio/skill/juetao2.mp3',
'audio/skill/olbeige1.mp3',
'audio/skill/olbeige2.mp3',
'audio/skill/pingxiang1.mp3',
'audio/skill/pingxiang2.mp3',
'audio/skill/qianlong1.mp3',
'audio/skill/qianlong2.mp3',
'audio/skill/renzheng1.mp3',
'audio/skill/renzheng2.mp3',
'audio/skill/tianren1.mp3',
'audio/skill/tianren2.mp3',
'audio/skill/twchongqi1.mp3',
'audio/skill/twchongqi2.mp3',
'audio/skill/twdianyi1.mp3',
'audio/skill/twdianyi2.mp3',
'audio/skill/twfeifu1.mp3',
'audio/skill/twfeifu2.mp3',
'audio/skill/twfucuan1.mp3',
'audio/skill/twfucuan2.mp3',
'audio/skill/twshanghe1.mp3',
'audio/skill/twshanghe2.mp3',
'audio/skill/twyingji1.mp3',
'audio/skill/twyingji2.mp3',
'audio/skill/xinhuangtian2_re_zhangjiao1.mp3',
'audio/skill/xinhuangtian2_re_zhangjiao2.mp3',
'audio/skill/xinyaoming1.mp3',
'audio/skill/xinyaoming2.mp3',
'audio/skill/xixiu1.mp3',
'audio/skill/xixiu2.mp3',
'audio/skill/xizhen1.mp3',
'audio/skill/xizhen2.mp3',
'audio/skill/yuzhang1.mp3',
'audio/skill/yuzhang2.mp3',
'audio/skill/zhenshan1.mp3',
'audio/skill/zhenshan2.mp3',
'audio/skill/zhushi1.mp3',
'audio/skill/zhushi2.mp3',
'audio/voice/male/0.mp3',
'audio/voice/male/1.mp3',
@ -5164,6 +5232,14 @@ window.noname_asset_list=[
'image/character/tw_wangcan.jpg',
'image/character/tw_wangchang.jpg',
'image/character/tw_wujing.jpg',
'image/character/caomao.jpg',
'image/character/dc_gaolan.jpg',
'image/character/dc_luotong.jpg',
'image/character/dc_zhuling.jpg',
'image/character/guanning.jpg',
'image/character/ol_caiwenji.jpg',
'image/character/shen_jiangwei.jpg',
'image/character/tengyin.jpg',
'image/character/baiwuchang.jpg',
'image/character/baosanniang.jpg',

View File

@ -7646,6 +7646,7 @@
}
}
for(var i=0;i<lib.config.extensions.length;i++){
if(window.bannedExtensions.contains(lib.config.extensions[i])) continue;
var extcontent=localStorage.getItem(lib.configprefix+'extension_'+lib.config.extensions[i]);
if(extcontent){
_status.evaluatingExtension=true;
@ -7665,6 +7666,7 @@
else{
if(lib.config.mode!='connect'||(!localStorage.getItem(lib.configprefix+'directstart')&&show_splash)){
for(var i=0;i<lib.config.extensions.length;i++){
if(window.bannedExtensions.contains(lib.config.extensions[i])) continue;
game.import('extension',{name:lib.config.extensions[i]});
}
}
@ -10791,7 +10793,12 @@
if(info.notarget||range[1]<=-1){
if(!info.notarget&&range[1]<=-1){
for(var i=0;i<targets.length;i++){
if(!player.canUse(card,targets[i],event.nodistance?false:null,event.addCount===false?null:true)){
if(event.filterTarget){
if(!event.filterTarget(card,player,targets[i])){
targets.splice(i--,1);
}
}
else if(!player.canUse(card,targets[i],event.nodistance?false:null,event.addCount===false?null:true)){
targets.splice(i--,1);
}
}
@ -10806,6 +10813,7 @@
else event.targets2=[];
if(event.forced){
event._result={bool:true};
return;
}
else{
var next=player.chooseBool();
@ -10822,9 +10830,23 @@
}
}
else{
if(event.filterTarget){
var targets=game.filterPlayer(function(current){
return event.filterTarget(card,player,current);
});
if(targets.length<range[0]){
event._result={bool:false};
return;
}
else if(!info.complexTarget&&targets.length==range[0]&&range[0]==range[1]){
event.targets2=targets;
event._result={bool:true};
return;
}
}
var next=player.chooseTarget();
next.set('_get_card',card);
next.set('filterTarget',function(card,player,target){
next.set('filterTarget',event.filterTarget||function(card,player,target){
if(!_status.event.targets.contains(target)) return false;
if(!_status.event.nodistance&&!lib.filter.targetInRange(card,player,target)) return false;
return lib.filter.targetEnabledx(card,player,target);
@ -15556,6 +15578,23 @@
}
},player,card);
}
if(event.skill){
if(player.stat[player.stat.length-1].skill[event.skill]==undefined){
player.stat[player.stat.length-1].skill[event.skill]=1;
}
else{
player.stat[player.stat.length-1].skill[event.skill]++;
}
var sourceSkill=get.info(event.skill).sourceSkill;
if(sourceSkill){
if(player.stat[player.stat.length-1].skill[sourceSkill]==undefined){
player.stat[player.stat.length-1].skill[sourceSkill]=1;
}
else{
player.stat[player.stat.length-1].skill[sourceSkill]++;
}
}
}
if(cards.length&&(cards.length>1||cards[0].name!=card.name)){
game.log(player,'打出了',card,'',cards,'');
}
@ -20830,10 +20869,15 @@
if(next.source==undefined&&!nosource) next.source=event.player;
if(next.source&&next.source.isDead()) delete next.source;
if(next.num==undefined) next.num=1;
next.original_num=next.num;
next.change_history=[];
if(next.nature=='poison') delete next._triggered;
next.setContent('damage');
next.filterStop=function(){
if(this.source&&this.source.isDead()) delete this.source;
var num=this.original_num;
for(var i of this.change_history) num+=i;
if(num!=this.num) this.change_history.push(this.num-num);
if(this.num<=0){
delete this.filterStop;
this.trigger('damageZero');
@ -36382,6 +36426,7 @@
roundNumber:0,
shuffleNumber:0,
};
window['b'+'ann'+'e'+'dE'+'x'+'ten'+'s'+'i'+'o'+'ns']=[];
var ui={
updates:[],
thrown:[],

View File

@ -1,10 +1,10 @@
window.noname_update={
version:'1.9.114.2',
update:'1.9.114.1',
version:'1.9.114.3',
update:'1.9.114.2',
changeLog:[
'OL贾充',
'十周年李采薇、吉本',
'海外服吴景、王粲、王昶',
'OL界蔡文姬',
'十周年神姜维、曹髦、高览、骆统、朱灵、管宁、腾胤',
'振赡全琮解禁',
'bug修复',
],
files:[
@ -22,7 +22,7 @@ window.noname_update={
//'card/yongjian.js',
//'card/zhenfa.js',
//'card/zhulu.js',
'character/diy.js',
//'character/diy.js',
'character/extra.js',
//'character/hearth.js',
//'character/gujian.js',
@ -30,7 +30,7 @@ window.noname_update={
//'character/hearth.js',
'character/mobile.js',
//'character/mtg.js',
'character/offline.js',
//'character/offline.js',
//'character/old.js',
//'character/ow.js',
'character/rank.js',
@ -38,7 +38,7 @@ window.noname_update={
'character/shenhua.js',
'character/sp.js',
'character/sp2.js',
'character/standard.js',
//'character/standard.js',
'character/tw.js',
//'character/swd.js',
//'character/xianjian.js',
@ -56,9 +56,9 @@ window.noname_update={
//'mode/brawl.js',
//'mode/chess.js',
//'mode/connect.js',
//'mode/doudizhu.js',
'mode/doudizhu.js',
'mode/guozhan.js',
//'mode/identity.js',
'mode/identity.js',
//'mode/single.js',
//'mode/stone.js',
//'mode/tafang.js',

BIN
image/character/caomao.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

BIN
image/character/tengyin.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

View File

@ -1823,7 +1823,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
baiyidujiang:'白衣渡江',
baiyidujiang_info:'出牌阶段,对地主使用。你选择一项:①令其将手牌数摸至全场最多。②令其将手牌数弃置至全场最少。',
shuiyanqijuny:'水淹七军',
shuiyanqijuny_info:'此牌不对目标角色进行座次排序。出牌阶段对至多两名角色使用。目标角色受到1点雷属性伤害然后若其是第一个目标其弃置一张牌不是第一个目标其摸一张牌。',
shuiyanqijuny_info:'出牌阶段对至多两名角色使用。目标角色受到1点雷属性伤害然后若其此牌的使用者选择的第一个目标,其弃置一张牌;不是第一个目标,其摸一张牌。',
luojingxiashi:'落井下石',
luojingxiashi_info:'出牌阶段对所有其他的已受伤角色使用。目标角色受到1点伤害。',
binglinchengxia:'兵临城下',
@ -2757,12 +2757,14 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
filterTarget:true,
type:'trick',
selectTarget:[1,2],
targetprompt:['受伤弃牌','受伤摸牌'],
contentBefore:function(){
event.getParent().fixedSeat=true;
var evt=event.getParent(),target=evt.stocktargets[0];
evt.shuiyanqijun_target=target;
},
content:function(){
target.damage('thunder');
if(num>0) target.draw();
if(target!=event.getParent().shuiyanqijun_target) target.draw();
else target.chooseToDiscard('he',true);
},
ai:{

View File

@ -3954,23 +3954,39 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
return lib.skill.gzxingzhao.getNum()>0;
},
content:function(){
"step 0"
event.cards=get.cards(4);
player.chooseCardButton(event.cards,2,'选择两张牌置于牌堆顶',true).set('ai',ai.get.buttonValue);
"step 1"
if(result.bool){
var choice=[];
for(var i=0;i<result.links.length;i++){
choice.push(result.links[i]);
cards.remove(result.links[i]);
}
for(var i=0;i<cards.length;i++){
ui.cardPile.appendChild(cards[i]);
}
while(choice.length){
ui.cardPile.insertBefore(choice.pop(),ui.cardPile.firstChild);
}
'step 0'
var cards=get.cards(4);
game.cardsGotoOrdering(cards);
var next=player.chooseToMove('恂恂:将两张牌置于牌堆顶',true);
next.set('list',[
['牌堆顶',cards],
['牌堆底'],
]);
next.set('filterMove',function(from,to,moved){
if(to==1&&moved[1].length>=2) return false;
return true;
});
next.set('filterOk',function(moved){
return moved[1].length==2;
});
next.set('processAI',function(list){
var cards=list[0][1].slice(0).sort(function(a,b){
return get.value(b)-get.value(a);
});
return [cards,cards.splice(2)];
})
'step 1'
var top=result.moved[0];
var bottom=result.moved[1];
top.reverse();
for(var i=0;i<top.length;i++){
ui.cardPile.insertBefore(top[i],ui.cardPile.firstChild);
}
for(i=0;i<bottom.length;i++){
ui.cardPile.appendChild(bottom[i]);
}
game.updateRoundNumber();
game.delayx();
},
},
use:{
@ -11475,6 +11491,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
junling6_bg:'令',
junling6_info:'若被执行,执行者选择一张手牌和一张装备区内牌(若有),然后弃置其余的牌。',
gz_miheng:'祢衡',
gzshensu:'神速',
gzshensu_info:'①判定阶段开始时你可跳过此阶段和摸牌阶段视为使用一张【杀】无距离限制。②出牌阶段开始时你可跳过此阶段并弃置一张装备牌视为使用一张【杀】无距离限制。③弃牌开始时你可跳过此阶段并失去1点体力视为使用一张【杀】无距离限制。',
gzwushuang:'无双',

View File

@ -1086,7 +1086,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
list.remove('shen');
if(list.length) player.group=function(){
if(_status.mode!='zhong'&&game.zhu&&game.zhu.group){
if(['re_zhangjiao','liubei','re_liubei','caocao','re_caocao','sunquan','re_sunquan','zhangjiao','sp_zhangjiao','caopi','re_caopi','liuchen','caorui','sunliang','sunxiu','sunce','re_sunben','ol_liushan','re_liushan','key_akane','dongzhuo','re_dongzhuo','ol_dongzhuo','jin_simashi'].contains(game.zhu.name)) return game.zhu.group;
if(['re_zhangjiao','liubei','re_liubei','caocao','re_caocao','sunquan','re_sunquan','zhangjiao','sp_zhangjiao','caopi','re_caopi','liuchen','caorui','sunliang','sunxiu','sunce','re_sunben','ol_liushan','re_liushan','key_akane','dongzhuo','re_dongzhuo','ol_dongzhuo','jin_simashi','caomao'].contains(game.zhu.name)) return game.zhu.group;
if(game.zhu.name=='yl_yuanshu'){
if(player.identity=='zhong') list.remove('qun');
else return 'qun';
@ -2073,7 +2073,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
if(!lib.group.contains(list[ix])) list.splice(ix--,1);
}
if(_status.mode!='zhong'&&game.zhu&&game.zhu.group){
if(['re_zhangjiao','liubei','re_liubei','caocao','re_caocao','sunquan','re_sunquan','zhangjiao','sp_zhangjiao','caopi','re_caopi','liuchen','caorui','sunliang','sunxiu','sunce','re_sunben','ol_liushan','re_liushan','key_akane','dongzhuo','re_dongzhuo','ol_dongzhuo','jin_simashi'].contains(game.zhu.name)) return game.zhu.group;
if(['re_zhangjiao','liubei','re_liubei','caocao','re_caocao','sunquan','re_sunquan','zhangjiao','sp_zhangjiao','caopi','re_caopi','liuchen','caorui','sunliang','sunxiu','sunce','re_sunben','ol_liushan','re_liushan','key_akane','dongzhuo','re_dongzhuo','ol_dongzhuo','jin_simashi','caomao'].contains(game.zhu.name)) return game.zhu.group;
if(game.zhu.name=='yl_yuanshu'){
if(player.identity=='zhong') list.remove('qun');
else return 'qun';