Add files via upload

This commit is contained in:
Spmario233 2019-08-17 18:44:34 +08:00 committed by GitHub
parent e3e36cc974
commit 9b37b7fd97
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
12 changed files with 364 additions and 226 deletions

View File

@ -792,7 +792,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
dinglanyemingzhu_skill:{
inherit:'zhiheng',
filter:function(event,player){
return !player.hasSkill('gzzhiheng');
return !player.hasSkill('gzzhiheng',true);
},
selectCard:function(){
var player=_status.event.player;
@ -847,7 +847,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
},
feilongduofeng:{
trigger:{player:'shaBegin'},
priority:5,
priority:7,
logTarget:'target',
check:function(event,player){
return get.attitude(player,event.target)<=0;

View File

@ -54,20 +54,18 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
chooseButton:{
dialog:function (){
var list=['sha','tao','jiu','taoyuan','wugu','juedou','huogong','jiedao','tiesuo','guohe','shunshou','wuzhong','wanjian','nanman'];
if(get.mode()=='guozhan'){
list=list.concat(['xietianzi','shuiyanqijunx','lulitongxin','lianjunshengyan','chiling','diaohulishan','yuanjiao','huoshaolianying']);
}
for(var i=0;i<list.length;i++){
if(i<3){
list[i]=['基本','',list[i]];
}
else{
list[i]=['锦囊','',list[i]];
}
}
var list=[];
for(var i=0;i<lib.inpile.length;i++){
var name=lib.inpile[i];
if(name=='wuxie') continue;
if(name=='sha'){
list.push(['基本','','sha']);
list.push(['基本','','sha','fire']);
list.push(['基本','','sha','thunder']);
}
else if(get.type(name)=='trick') list.push(['锦囊','',name]);
else if(get.type(name)=='basic') list.push(['基本','',name]);
}
return ui.create.dialog('蛊惑',[list,'vcard']);
},
filter:function (button,player){
@ -105,6 +103,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
'step 0'
player.logSkill('old_guhuo_guess');
player.popup(trigger.card.name,'metal');
player.lose(trigger.cards,ui.special);
player.line(trigger.targets,trigger.card.nature);
trigger.line=false;
event.prompt=get.translation(player)+'声明了'+get.translation(trigger.card.name)+',是否质疑?';
@ -134,14 +133,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
event.betray.push(event.guessers[0]);
}
event.guessers.remove(event.guessers[0]);
event.goto(1);
if(event.guessers.length) event.goto(1);
'step 3'
player.showCards(trigger.cards);
if(event.betray.length){
if(trigger.card.name==trigger.cards[0].name){
if(get.suit(trigger.cards[0])!='heart'){
game.log(player,'使用的','#y'+get.translation(trigger.card.name),'作废了');
player.discard(trigger.cards);
game.cardsDiscard(trigger.cards);
trigger.cancel();
}
for(var i=0;i<event.betray.length;i++){
@ -150,7 +149,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
else{
game.log(player,'使用的','#y'+get.translation(trigger.card.name),'作废了');
player.discard(trigger.cards);
game.cardsDiscard(trigger.cards);
trigger.cancel();
game.asyncDraw(event.betray);
game.delay();
@ -178,6 +177,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(result.bool){
player.logSkill('old_guhuo_guess');
player.popup(event.name,'metal');
player.lose(result.cards,ui.special);
event.card=result.cards[0];
event.prompt=get.translation(player)+'声明了'+get.translation(event.name)+',是否质疑?';
event.guessers=game.filterPlayer(function(current){
@ -189,7 +189,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
else event.finish();
'step 2'
if(event.guessers.length==0) event.goto(3);
if(event.guessers.length==0) event.goto(4);
else{
event.guessers[0].chooseControl('质疑','不质疑').set('prompt',event.prompt).set('ai',function(){
if(get.attitude(event.guessers[0],player)>0) return '不质疑';
@ -208,7 +208,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
event.betray.push(event.guessers[0]);
}
event.guessers.remove(event.guessers[0]);
event.goto(2);
if(event.guessers.length) event.goto(2);
'step 4'
var bool=true;
player.showCards(event.card);
@ -216,7 +216,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(event.name==event.card.name){
if(get.suit(event.card)!='heart'){
game.log(player,'使用的','#y'+get.translation(event.name),'作废了');
player.discard(event.card);
game.cardsDiscard(event.card);
bool=false;
}
for(var i=0;i<event.betray.length;i++){
@ -225,7 +225,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
else{
game.log(player,'使用的','#y'+get.translation(event.name),'作废了');
player.discard(event.card);
game.cardsDiscard(event.card);
bool=false;
game.asyncDraw(event.betray);
game.delay();

View File

@ -2511,9 +2511,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
audio:2,
unique:true,
juexingji:true,
priority:-10,
//priority:-10,
derivation:'reguanxing',
trigger:{player:'phaseBeginStart'},
trigger:{player:'phaseBegin'},
forced:true,
filter:function(event,player){
if(player.storage.zhiji) return false;
@ -2522,18 +2522,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
content:function(){
"step 0"
player.awakenSkill('zhiji');
player.chooseControl('zhiji_recover','zhiji_draw',function(event,player){
if(player.hp>=2) return 'zhiji_draw';
return 'zhiji_recover';
});
player.chooseDrawRecover(2,true);
"step 1"
if(result.control=='zhiji_draw'){
player.draw(2);
}
else{
player.recover();
}
"step 2"
player.loseMaxHp();
player.storage.zhiji=true;
if(player.hp>player.maxHp) player.hp=player.maxHp;
@ -3021,14 +3011,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){
hunzi:{
skillAnimation:true,
audio:2,
juexingji:true,
derivation:['reyingzi','gzyinghun'],
unique:true,
trigger:{player:'phaseBeginStart'},
trigger:{player:'phaseBegin'},
filter:function(event,player){
return player.hp==1&&!player.storage.hunzi;
},
forced:true,
priority:3,
//priority:3,
content:function(){
player.loseMaxHp();
player.addSkill('reyingzi');
@ -3484,14 +3475,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
huashen2:{
audio:2,
trigger:{player:['phaseBeginStart','phaseEnd','huashenStart']},
trigger:{player:['phaseBeginStart','phaseAfter','huashenStart']},
filter:function(event,player,name){
if(name=='phaseBeginStart'&&game.phaseNumber==1) return false;
return true;
},
priority:50,
//priority:50,
forced:true,
popup:false,
//popup:false,
content:function(){
'step 0'
if(get.is.empty(player.storage.huashen.owned)){
@ -3554,7 +3545,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
if(!player.additionalSkills.huashen||!player.additionalSkills.huashen.contains(link)){
player.addAdditionalSkill('huashen',link);
player.logSkill('huashen2');
//player.logSkill('huashen2');
player.flashAvatar('huashen',currentname);
game.log(player,'获得技能','【'+get.translation(link)+'】');
player.popup(link);
@ -4561,7 +4552,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
trigger:{global:'dying'},
priority:15,
forced:true,
filter:function(event,player){
filter:function(event,player,name){
return _status.currentPhase==player&&event.player!=player;
},
content:function(){}
@ -4571,7 +4562,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
cardSavable:function(card,player){
if(!_status.currentPhase) return;
if(_status.currentPhase.hasSkill('wansha')&&_status.currentPhase!=player){
if(card.name=='tao'&&_status.event.dying!=player) return false;
if(card.name=='tao'&&!player.isDying()) return false;
}
}
}
@ -6102,6 +6093,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
check:function(event,player){
return get.attitude(player,event.player)>2;
},
logTarget:'player',
content:function(){
"step 0"
player.line(trigger.player,'green');
@ -6480,7 +6472,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
xintianxiang_bg:'香',
xintianxiang_info:'当你受到伤害时你可以弃置一张♥牌将此伤害转移给一名其他角色然后你选择一项令该角色摸X张牌X为其已损失的体力值或防止其造成与受到的所有伤害且此技能失效直到你的下回合开始',
xinshensu:'神速',
xinshensu_info:'你可以选择一至三项1. 跳过判定阶段和摸牌阶段2. 跳过出牌阶段并弃置一张装备牌3. 跳过弃牌阶段并将你的武将牌翻面。你每选择一项,视为你对一名其他角色使用一张【杀】',
xinshensu_info:'你可以选择一至三项1. 跳过判定阶段和摸牌阶段2. 跳过出牌阶段并弃置一张装备牌3. 跳过弃牌阶段并将你的武将牌翻面。你每选择一项,视为你对一名其他角色使用一张没有距离限制的【杀】',
yinghun:'英魂',
yinghun_info:'准备阶段开始时若你已受伤你可令一名其他角色执行一项摸X张牌然后弃置一张牌或摸一张牌然后弃置X张牌X为你已损失的体力值若你装备区里牌的数量不小于你的体力值则X改为你的体力上限',
gzyinghun:'英魂',
@ -6521,29 +6513,29 @@ game.import('character',function(lib,game,ui,get,ai,_status){
xinjiewei:'解围',
retianxiang:'天香',
retianxiang_info:'当你受到伤害时你可以弃置一张红桃手牌防止此次伤害并选择一名其他角色然后你选择一项1.令其受到伤害来源对其造成的1点伤害然后摸X张牌X为其已损失体力值且至多为52.令其失去1点体力然后获得你弃置的牌。',
xinjiewei_info:'你可以将装备区里的牌当【无懈可击】使用;当你从背面翻至正面时,你可以弃置一张牌,然后移动场上的一张牌',
xinjiewei_info:'你可以将装备区里的牌当【无懈可击】使用;当你的武将牌从背面翻至正面时,你可以弃置一张牌,然后移动场上的一张牌',
xinjushou_info:'结束阶段,你可以翻面并摸四张牌,然后弃置一张手牌,若以此法弃置的是装备牌,则你改为使用之',
jixi_info:'出牌阶段,你可以把任意一张田当【顺手牵羊】使用',
jixi_info:'出牌阶段,你可以将任意一张【田】当作【顺手牵羊】使用',
xinqiangxi_info:'出牌阶段各限一次你可以选择一项1. 失去一点体力并对你攻击范围内的一名其他角色造成一点伤害2. 弃置一张装备牌并对你攻击范围内的一名其他角色造成一点伤害 ',
qimou_info:'限定技,出牌阶段,你可以失去任意点体力,然后直到回合结束,你的进攻距离+X且你可以多使用X张【杀】X为你失去的体力值',
tiaoxin_info:'出牌阶段,你可以指定一名使用【杀】能攻击到你的角色,该角色需对你使用一张【杀】,若该角色不如此做,你弃掉他的一张牌,每回合限一次。',
zhiji_info:'觉醒技准备阶段若你没有手牌你须回复1点体力或摸两张牌然后减1点体力上限永久获得技能“观星”。',
xiangle_info:'锁定技,当其他玩家使用【杀】指定你为目标时,需额外弃掉一张基本牌,否则该【杀】对你无效。',
fangquan_info:'你可跳过你的出牌阶段,若如此做,回合结束时可弃一张手牌令一名其他角色进行一个额外的回合。',
ruoyu_info:'主公技,觉醒技,准备阶段,若你的体力是全场最少的(或之一)你须增加1点体力上限回复1点体力并永久获得技能“激将”。',
qiaobian_info:'你可以弃一张手牌来跳过自己的一个阶段(回合开始和结束阶段除外);若以此法跳过摸牌阶段,你可以从其他至多两名角色手里各抽取一张牌;若以此法跳过出牌阶段,你可以将场上的一张牌移动到另一个合理的位置。',
tuntian_info:'每次当你于回合外失去牌时,可以进行一次判定,将非♥结果的判定牌置于你的武将牌上,称为“田”,每有一张田,你的进攻距离+1.',
zaoxian_info:'觉醒技,准备阶段,若田的数量达到3张或更多你须减1点体力上限并永久获得技能“急袭”',
qimou_info:'限定技,出牌阶段,你可以失去任意点体力,然后直到回合结束,你计算与其他角色的距离时-X且你可以多使用X张【杀】X为你失去的体力值',
tiaoxin_info:'出牌阶段限一次,你可以指定一名攻击范围内包含你的角色,该角色需对你使用一张【杀】,否则你弃置其一张牌。',
zhiji_info:'觉醒技准备阶段若你没有手牌你须回复1点体力或摸两张牌然后减1点体力上限获得技能〖观星〗。',
xiangle_info:'锁定技,当其他角色使用【杀】指定你为目标时,其需弃置一张基本牌,否则此【杀】对你无效。',
fangquan_info:'你可跳过你的出牌阶段,若如此做,回合结束时,你一张手牌令一名其他角色进行一个额外的回合。',
ruoyu_info:'主公技,觉醒技,准备阶段,若你的体力是全场最少的(或之一)你须增加1点体力上限并回复1点体力然后获得技能〖激将〗。',
qiaobian_info:'你可以弃置一张手牌并跳过自己的一个阶段(准备阶段和结束阶段除外);若你以此法跳过了摸牌阶段,则你可以获得至多两名其他角色的各一张手牌;若你以此法跳过了出牌阶段,则你可以移动场上的一张牌。',
tuntian_info:'当你于回合外失去牌时,你可以进行一次判定。若判定结果不为♥,则你将此牌置于你的武将牌上,称之为【田】。锁定技,你计算与其他角色的距离时-XX为你武将牌上【田】的数目',
zaoxian_info:'觉醒技,准备阶段,若你武将牌上【田】的数量达到3张或更多则你减1点体力上限并获得技能〖急袭〗',
jiang_info:'每当你使用(指定目标后)或被使用(成为目标后)一张【决斗】或红色的【杀】时,你可以摸一张牌。',
hunzi_info:'觉醒技,准备阶段,若你的体力为1你须减1点体力上限并永久获得技能“英姿”和“英魂”。',
zhiba_info:'主公技,其他吴势力角色的出牌阶段,可与你进行一次拼点,若该角色没赢,你可以获得双方拼点的牌;你的觉醒技发动后,你可以拒绝此拼点。每回合限一次。',
zhijian_info:'出牌阶段,你可以将手牌中的一张装备牌置于一名其他角色装备区里(不得替换原装备),然后摸一张牌。',
guzheng_info:'其他角色的弃牌阶段结束时,你可将本阶段进入弃牌堆的一张牌返回其手牌,然后获得其它牌',
beige_info:'一名角色每受到【杀】造成的一次伤害你可以弃一张牌并令其进行一次判定判定结果为♥该角色回复1点体力该角色摸两张牌♣伤害来源弃两张牌♠伤害来源将其武将牌翻面',
duanchang_info:'锁定技,杀死你的角色失去当前的所有技能直到游戏结束。',
hunzi_info:'觉醒技,准备阶段,若你的体力值为1你减1点体力上限并获得技能〖英姿〗和〖英魂〗。',
zhiba_info:'主公技,其他吴势力角色的出牌阶段限一次,其可与你进行一次拼点。若该角色没赢,你可以获得双方拼点的牌;你的觉醒技发动后,你可以拒绝此拼点。',
zhijian_info:'出牌阶段,你可以将手牌中的一张装备牌置于一名其他角色装备区里(不得替换原装备),然后摸一张牌。',
guzheng_info:'其他角色的弃牌阶段结束时,你可以令其获得本阶段内进入弃牌堆的牌中的一张,然后你获得其余的牌。',
beige_info:'当有角色受到【杀】造成的伤害后,你可以弃一张牌,并令其进行一次判定,判定结果为♥该角色回复1点体力该角色摸两张牌♣伤害来源弃两张牌♠伤害来源将其武将牌翻面',
duanchang_info:'锁定技,杀死你的角色失去当前的所有技能。',
// fushen_info:'回合开始前,你可以选择与任意一名角色交换控制权,该角色可选择在下一个回合开始前与你换回',
huashen_info:'所有人都展示武将牌后,你随机获得两张未加入游戏的武将牌,选一张置于你面前并声明该武将的一项技能,你拥有该技能且同时将性别和势力属性变成与该武将相同直到该化身被替换。在你的每个准备阶段和结束后,你可以替换化身牌,你须为新的化身重新声明一项技能(你不可声明限定技、觉醒技或主公技)。',
xinsheng_info:'受到1点伤害可获得一张新化身牌。',
xinsheng_info:'每当你受到1点伤害可获得一张新化身牌。',
jiangwei:'姜维',
liushan:'刘禅',
zhanghe:'张郃',
@ -6588,25 +6580,25 @@ game.import('character',function(lib,game,ui,get,ai,_status){
wansha:'完杀',
weimu:'帷幕',
jiezi:'截辎',
jiezi_info:'锁定技,一名其他角色跳过摸牌阶段后,你摸一张牌',
huoshou_info:'【南蛮入侵】对你无效;你是任何【南蛮入侵】造成伤害的来源。',
zaiqi_info:'摸牌阶段,若你已受伤,你可以改为展示牌堆顶的X张牌X为你已损失的体力值其中每有一张♥牌你回复1点体力然后弃掉这些♥牌将其余的牌收入手牌。',
juxiang_info:'南蛮入侵】对你无效;若其他角色使用的【南蛮入侵】在结算完时进入弃牌堆,你立即获得它。',
lieren_info:'使用【杀】造成一次伤害,可与受到该伤害的角色拼点;若你赢,你获得对方的一张牌。',
xingshang_info:'你可以立即获得死亡角色的所有牌。',
fangzhu_info:'你每受到一次伤害可令除你以外的任一角色补X张牌X为你已损失的体力值然后该角色将其武将牌翻面。',
songwei_info:'主公技,其他魏势力的角色的判定牌结果为♠或♣且生效后,可以让你摸一张牌。',
duanliang_info:'你可以将一张黑色基本牌或装备牌当做【兵粮寸断】使用;若一名角色的手牌数大于或等于你的手牌数,你对其使用【兵粮寸断】没有距离限制',
haoshi_info:'摸牌阶段,你可以额外摸两张牌,若此时你的手牌数多于五张,你必须将一半(向下取整)的手牌交给场上除你外手牌数最少的一名角色。',
dimeng_info:'出牌阶段,你可以选择其他两名角色,你弃掉等同于这两名角色手牌数量之差的牌,然后交换他们的手牌,每回合限一次。',
yinghun_old_info:'准备阶段,若你已受伤,可选择一名其他角色执行下列两项中的一项: 1.摸X张牌然后弃一张牌。 2.摸一张牌然后弃X张牌。 X为你已损失的体力值每回合限一次。',
jiuchi_info:'你可你的任意一张♠手牌当【酒】使用。',
roulin_info:'你对女性角色、女性角色对你使用【杀】时,都需连续使用两张【闪】才能抵消。',
jiezi_info:'锁定技,其他角色跳过摸牌阶段后,你摸一张牌',
huoshou_info:'锁定技,【南蛮入侵】对你无效;你视为所有【南蛮入侵】的伤害来源。',
zaiqi_info:'摸牌阶段,若你已受伤,则你可以改为展示牌堆顶的X张牌X为你已损失的体力值并回复X点体力X为其中♥牌的数目。然后你将这些♥牌置入弃牌堆并获得其余的牌。',
juxiang_info:'锁定技,【南蛮入侵】对你无效。其他角色使用的【南蛮入侵】结算后进入弃牌堆时,你获得之。',
lieren_info:'你使用【杀】造成伤害,可与受到该伤害的角色进行拼点;若你赢,你获得对方的一张牌。',
xingshang_info:'当有角色死亡后,你可以获得该角色的所有牌。',
fangzhu_info:'当你受到伤害后你可令一名其他角色摸X张牌X为你已损失的体力值然后该角色将武将牌翻面。',
songwei_info:'主公技,其他魏势力的角色的判定牌结果为黑色且生效后,其可以令你摸一张牌。',
duanliang_info:'你可以将一张黑色基本牌或装备牌当做【兵粮寸断】使用;若一名角色的手牌数大于或等于你的手牌数,你对其使用【兵粮寸断】没有距离限制',
haoshi_info:'摸牌阶段,你可以额外摸两张牌。若此时你的手牌数多于五张,你须将一半(向下取整)的手牌交给场上除你外手牌数最少的一名角色。',
dimeng_info:'出牌阶段限一次,你可以选择其他两名角色,你弃置等同于这两名角色手牌数量之差的牌,然后交换他们的手牌。',
yinghun_old_info:'准备阶段,若你已受伤,则你可以令一名其他角色执行下列两项中的一项: 1.摸X张牌然后弃一张牌。 2.摸一张牌然后弃X张牌。 X为你已损失的体力值',
jiuchi_info:'你可将一张♠手牌当【酒】使用。',
roulin_info:'锁定技。你对女性角色、女性角色对你使用【杀】时,都需连续使用两张【闪】才能抵消。',
benghuai_info:'结束阶段,若你的体力不是全场最少的(或之一)你须减1点体力或体力上限。',
baonue_info:'主公技,其他群雄角色造成一次伤害可进行一次判定若为♠你回复1点体力。',
luanwu_info:'限定技,出牌阶段,可令除你外的所有角色依次对与其距离最近的另一名角色使用一张【杀】,无法如此做者失去1点体力。',
wansha_info:'在你的回合,除你以外,只有处于濒死状态的角色才能使用【桃】。',
weimu_info:'你不能成为♠或♣锦囊的目标。',
baonue_info:'主公技,其他群雄角色造成伤害可进行一次判定若为♠你回复1点体力。',
luanwu_info:'限定技,出牌阶段,可令除你外的所有角色依次对与其距离最近的另一名角色使用一张【杀】,否则失去1点体力。',
wansha_info:'锁定技,你的回合内,除你以外,不处于濒死状态的角色不能使用【桃】。',
weimu_info:'锁定技,你不能成为黑色锦囊牌的目标。',
sp_zhugeliang:'卧龙',
pangtong:'庞统',
@ -6636,20 +6628,20 @@ game.import('character',function(lib,game,ui,get,ai,_status){
xueyi:'血裔',
mengjin:'猛进',
xinlianhuan_info:' 你可以将一张♣手牌当【铁索连环】使用或重铸。你使用的【铁索连环】可以指定至多3个目标。',
huoji_info:'出牌阶段,你可以将你的任意一张♥或♦手牌当【火攻】使用。',
bazhen_info:'当你没装备防具时,始终视为你装备着【八卦阵】。',
kanpo_info:'你可以将你的任意一张♠或♣手牌当【无懈可击】使用。',
lianhuan_info:'出牌阶段,你可以将你任意一张梅花手牌当【铁索连环】使用或重铸。',
niepan_info:'限定技,出牌阶段或当你处于濒死状态时,你可以丢弃你所有的牌和你判定区里的牌,并复原你的武将牌,然后摸三张牌且体力回复至3点。',
oldniepan_info:'限定技,当你处于濒死状态时,你可以丢弃你所有的牌和你判定区里的牌,并复原你的武将牌,然后摸三张牌且体力回复至3点。',
quhu_info:'出牌阶段,你可以与一名体力比你多的角色拼点若你赢则该角色对其攻击范围内另一名由你指定的角色造成1点伤害。若你没赢他/她对你造成一点伤害。每回合限用一次。',
jieming_info:'你每受到1点伤害可令任意一名角色将手牌补至其体力上限的张数(不能超过五张)。',
qiangxi_info:'出牌阶段,你可以自减一点体力或弃一张武器牌,然后你对你攻击范围内的一名角色造成一点伤害,每回合限一次。',
tianyi_info:'出牌阶段,你可以和一名角色拼点,若你赢,你获得以下技能直到回合结束:攻击范围无限;可额外使用一张【杀】;使用【杀】时可额外指定一个目标,若你没赢,你不能使用【杀】直到回合结束。每回合限一次。',
shuangxiong_info:'摸牌阶段,你可选择改为进行一次判定:你获得此判定牌,且于此回合的出牌阶段,你可以将任意一张与此判定牌不同颜色的手牌当【决斗】使用。',
luanji_info:'出牌阶段,你可以将任意两张相同花色的手牌当【万箭齐发】使用。',
xueyi_info:'主公技,场上每有一名其他群雄角色存活,你的手牌上限便+2。',
mengjin_info:'当你使用的【杀】被【闪】抵消时,你可以弃掉对方的一张牌。',
huoji_info:'出牌阶段,你可以将你的任意一张红色手牌当作【火攻】使用。',
bazhen_info:'锁定技,若你的防具栏内没有牌且没有被废除,则你视为装备着【八卦阵】。',
kanpo_info:'你可以将你的任意一张黑色手牌当做【无懈可击】使用。',
lianhuan_info:'出牌阶段,你可以将一张梅花手牌当【铁索连环】使用或重铸。',
niepan_info:'限定技,出牌阶段或当你处于濒死状态时,你可以弃置你区域内的所有牌并复原你的武将牌,然后摸三张牌并将体力回复至3点。',
oldniepan_info:'限定技,当你处于濒死状态时,你可以弃置你区域内的所有牌并复原你的武将牌,然后摸三张牌并将体力回复至3点。',
quhu_info:'出牌阶段限一次,你可以与一名体力值大于你的角色拼点若你赢则该角色对其攻击范围内另一名由你指定的角色造成1点伤害。若你没赢该角色对你造成一点伤害。',
jieming_info:'当你受到1点伤害后你可令一名角色将手牌摸至X张X为其体力上限且至多为5。',
qiangxi_info:'出牌阶段限一次,你可以失去一点体力或弃置一张武器牌,然后对你攻击范围内的一名其他角色造成一点伤害。',
tianyi_info:'出牌阶段限一次,你可以和一名其他角色拼点。若你赢,你获得以下技能效果直到回合结束:你使用【杀】没有距离限制;可额外使用一张【杀】;使用【杀】时可额外指定一个目标。若你没赢,你不能使用【杀】直到回合结束。',
shuangxiong_info:'摸牌阶段,你可改为进行一次判定:你获得此判定牌,且于此回合的出牌阶段,你可以将任意一张与此判定牌不同颜色的手牌当【决斗】使用。',
luanji_info:'出牌阶段,你可以将任意两张相同花色的手牌当【万箭齐发】使用。',
xueyi_info:'主公技,锁定技,场上每有一名其他群雄角色存活,你的手牌上限便+2。',
mengjin_info:'当你使用的【杀】被【闪】抵消时,你可以弃置目标角色的一张牌。',
xiahouyuan:'夏侯渊',
caoren:'曹仁',
@ -6685,21 +6677,21 @@ game.import('character',function(lib,game,ui,get,ai,_status){
xinkuanggu:'狂骨',
gzbuqu:'不屈',
gzbuqu_info:'当你扣减1点体力时若你的体力值为0你可以将牌堆顶的一张牌置于你的武将牌上若此牌的点数与你武将牌上的其他牌均不同你不会死亡若你的武将牌上有点数相同的牌你进入濒死状态',
xinkuanggu_info:'当你对距离1以内的一名角色造成1点伤害后你可以回复1点体力或摸一张牌',
xinliegong_info:'你使用【杀】可以选择你距离不大于此【杀】点数的角色为目标当你使用【杀】指定一个目标后你可以根据下列条件执行相应的效果1.其手牌数小于等于你的手牌数,此【杀】不可被【闪】响应 2.其体力值大于等于你的体力值,此【杀】伤害+1',
jiewei_info:'每当你翻面,你可以使用一张锦囊牌或装备牌,若如此做,此牌结算后,你可以弃置场上一张同类型的牌',
releiji_info:'每当你使用或打出一张【闪】,可令任意一名角色进行一次判定,若结果为梅花,其受到一点雷电伤害,然后你回复一点体力;若结果为黑桃,其受到两点雷电伤害',
tiangong_info:'锁定技,你防止即将受到的雷电伤害,每当你造成一次雷电伤害,你摸一张牌',
shensu_info:'你可以跳过摸牌阶段,或跳过出牌阶段并弃置一张装备牌,若如此则视为对任意一名使用一张【杀】',
jushou_info:'结束阶段你可以摸3张牌并将武将牌翻面',
liegong_info:'当你使用【杀】时,若目标的手牌数大于等于你的体力值,或小于等于你的攻击范围,你可令此【杀】不能闪避',
kuanggu_info:'锁定技,当你造成一点伤害,若受伤角色与你的距离不大于1你回复一点体力',
tianxiang_info:'当你即将受到伤害时,你可以弃置一张红桃牌将伤害转移给任意一名其他角色然后该角色摸x张牌x为其已损失体力值',
hongyan_info:'锁定技,你的黑桃牌均视为红桃',
buqu_info:'锁定技,当你处于濒死状态时,你亮出牌堆顶的一张牌并置于你的武将牌上,称之为“创”。若此牌的点数与你武将牌上已有的“创”点数均不同则你回复至1体力。若点数相同则将此牌置入弃牌堆。只要你的武将牌上有“创”你的手牌上限便与“创”的数量相等',
leiji_info:'每当你使用或打出一张【闪】,可令任意一名角色进行一次判定,若结果为黑桃,其受到两点雷电伤害',
guidao_info:'任意一名角色的判定生效前,你可以打出一张黑色牌替换之',
huangtian_info:'主公技,群雄角色可在他们各自的回合里给你一张【闪】或【闪电】。',
xinkuanggu_info:'当你对距离1以内的一名角色造成1点伤害后你可以回复1点体力或摸一张牌',
xinliegong_info:'你使用【杀】可以选择你距离不大于此【杀】点数的角色为目标当你使用【杀】指定一个目标后你可以根据下列条件执行相应的效果1.其手牌数小于等于你的手牌数,此【杀】不可被【闪】响应2.其体力值大于等于你的体力值,此【杀】伤害+1',
jiewei_info:'当你的武将牌翻面后,你可以使用一张锦囊牌或装备牌。若如此做,此牌结算后,你可以弃置场上一张同类型的牌',
releiji_info:'当你使用或打出一张【闪】时,你可令一名其他角色进行一次判定:若结果为梅花,其受到一点雷电伤害,然后你回复一点体力;若结果为黑桃,其受到两点雷电伤害',
tiangong_info:'锁定技,你防止即将受到的雷电伤害。每当你造成雷电伤害时,你摸一张牌。',
shensu_info:'你可以跳过判定阶段和摸牌阶段,或跳过出牌阶段并弃置一张装备牌。若如此做,则你可以视为对任意一名角色使用一张无距离限制的【杀】',
jushou_info:'结束阶段你可以摸3张牌并将武将牌翻面',
liegong_info:'当你使用【杀】时,若目标的手牌数大于等于你的体力值,或小于等于你的攻击范围,你可令此【杀】不能闪避',
kuanggu_info:'锁定技,当你造成一点伤害若受伤角色与你的距离不大于1你回复一点体力',
tianxiang_info:'当你即将受到伤害时,你可以弃置一张♥手牌将伤害转移给一名其他角色然后该角色摸X张牌X为其已损失的体力值',
hongyan_info:'锁定技,你区域内的黑桃牌和黑桃判定牌均视为红桃',
buqu_info:'锁定技,当你处于濒死状态时,你亮出牌堆顶的一张牌并置于你的武将牌上,称之为“创”。若此牌的点数与你武将牌上已有的“创”点数均不同则你回复至1体力。若点数相同则将此牌置入弃牌堆。只要你的武将牌上有“创”你的手牌上限便与“创”的数量相等',
leiji_info:'当你使用或打出一张【闪】时,你可令任意一名角色进行一次判定。若结果为黑桃,其受到两点雷电伤害',
guidao_info:'一名角色的判定生效前,你可以打出一张黑色牌替换之',
huangtian_info:'主公技,其他群势力角色的出牌阶段限一次,其可以交给你一张【闪】或【闪电】。',
guhuo_info:'每名角色的回合限一次你可以扣置一张手牌当一张基本牌或普通锦囊牌使用或打出。其他角色依次选择是否质疑。一旦有其他角色质疑则翻开此牌若为假则此牌作废若为真则质疑角色获得技能“缠怨”锁定技你不能质疑于吉只要你的体力值为1你失去你的武将技能',
fenji_info:'每当一名角色的手牌于回合外被其他角色弃置或获得时你可以失去1点体力然后令该角色摸两张牌。',
},

View File

@ -3914,9 +3914,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
//ui.auto.show();
player.removeSkill('kuangcai_use');
player.removeSkill('kuangcai_cancel');
delete player.storage.counttrigger.kuangcai_use;
}
}
}
},
ai:{
threaten:4.5,
},
},
shejian:{
audio:2,
@ -8731,7 +8735,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
for(var i=0;i<result.cards.length;i++){
suits.add(get.suit(result.cards[i]));
}
if(suits.length==4){
if(suits.length==4&&game.checkMod({name:'tao'},player,'unchanged','cardSavable',player)){
event.target.useCard({name:'tao'},trigger.player);
}
}
@ -11899,6 +11903,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return event.target.countCards('h')>0;
},
logTarget:'target',
prompt2:'每当你发动“龙胆”使用或打出一张手牌时,你可以立即获得对方的一张手牌。',
content:function(){
var card=trigger.target.getCards('h').randomGet();
player.gain(card,trigger.target);
@ -11915,6 +11920,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return event.source&&event.source.countCards('h')>0;
},
logTarget:'source',
prompt2:'每当你发动“龙胆”使用或打出一张手牌时,你可以立即获得对方的一张手牌。',
content:function(){
var card=trigger.source.getCards('h').randomGet();
player.gain(card,trigger.source);
@ -12553,7 +12559,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
diaodu:"调度",
diaodu_info:"当你使用装备牌时,你可以摸一张牌;出牌阶段开始时,你可以获得一名其他角色装备区里的一张牌,然后你可以将此牌交给另一名角色。",
diancai:'典财',
diancai_info:'其他角色的出牌阶段结束时,若你于此阶段失去了x张或更多的牌,则你可以将手牌摸至体力上限。',
diancai_info:'其他角色的出牌阶段结束时,若你于此阶段失去了X张或更多的牌,则你可以将手牌摸至体力上限。X为你的体力值',
zhengbi:'征辟',
zhengbi_info:'出牌阶段开始时,你可以选择一项:选择一名未受伤的其他角色,你对其使用的牌无距离限制且不计入使用次数直到回合结束;或将一张基本牌交给一名其他角色,然后其交给你一张非基本牌或两张基本牌。',
fengying:'奉迎',

View File

@ -2402,15 +2402,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){
translate:{
caocao:'曹操',
hujia:'护驾',
hujia_info:'主公技,魏势力角色可以替你打出[闪]',
hujia_info:'主公技,当你需要使用或打出一张【闪】时,你可以令其他魏势力角色选择是否打出一张【闪】。若有角色相应,则你视为使用或打出了一张【闪】。',
jianxiong:'奸雄',
jianxiong_info:'你可以立即获得对你造成伤害的牌',
jianxiong_info:'当你受到伤害后,你可以获得对你造成伤害的牌',
simayi:'司马懿',
fankui:'反馈',
fankui_info:'当你受到伤害后,你可以获得伤害来源的一张牌',
fankui_info:'当你受到伤害后,你可以获得伤害来源的一张牌',
guicai:'鬼才',
guicai_info:'在任意角色的判定牌生效前,你可以打出一张手牌代替之',
guicai_info:'一名角色的判定牌生效前,你可以打出一张手牌代替之',
xiahoudun:'夏侯惇',
zhangliao:'张辽',
@ -2490,64 +2490,64 @@ game.import('character',function(lib,game,ui,get,ai,_status){
xinbiyue:'闭月',
pileTop:'牌堆顶',
pileBottom:'牌堆底',
ganglie_info:'每当你受到一次伤害,可进行一次判定,若结果不为红桃,则伤害来源须弃置两张手牌或受到来自你的一点伤害',
tuxi_info:'摸牌阶段,你可以改为从1~2名其他角色各抽取一张手牌',
luoyi_info:'摸牌阶段,你可以少摸一张牌,若如此做,你本回合内[杀]或[决斗]造成的伤害+1',
tiandu_info:'你可以立即获得你的判定牌',
yiji_info:'每当你受到一点伤害可以观看牌堆顶的两张牌并将其交给任意1~2名角色',
luoshen_info:'准备阶段,你可以进行一定判定,若为黑色则可以继续判定,直到出现红色。然后你获得所有黑色的判定牌',
ganglie_info:'当你受到伤害后,你可以进行一次判定。若结果不为红桃,则伤害来源须弃置两张手牌,否则受到来自你的一点伤害。',
tuxi_info:'摸牌阶段,你可以改为获得至多两名其他角色的各一张手牌。',
luoyi_info:'摸牌阶段,你可以少摸一张牌。若如此做,你本回合内使用【杀】或【决斗】造成的伤害+1。',
tiandu_info:'当你的判定牌生效后,你可以获得之。',
yiji_info:'当你受到一点伤害后,你可以观看牌堆顶的两张牌,然后将其分配给任意角色。',
luoshen_info:'准备阶段,你可以进行一次判定。若结果为黑色,则可以继续判定,直到出现红色的判定牌。然后你获得所有黑色的判定牌。',
xinluoshen_info:'准备阶段,你可以进行一定判定,若为黑色则可以继续判定,直到出现红色。然后你获得所有黑色的判定牌',
xinluoshen_info_alter:'准备阶段,你可以进行一定判定,若为黑色则可以继续判定,直到出现红色。然后你获得所有黑色的判定牌。你通过洛神获得的牌,不计入当前回合的手牌上限',
qingguo_info:'你可以将一张黑色手牌当[闪]使用或打出',
rende_info:'出牌阶段,你可以将任意手牌送给其他角色,若送出的手牌不少于两张,你回复一点体力',
jijiang_info:'主公技,蜀势力角色可以帮你使用或打出[杀]',
wusheng_info:'你可以将一张红色牌当[杀]使用',
paoxiao_info:'出牌阶段,你使用[杀]无数量限制',
guanxing_info:'准备阶段,你可以观看牌堆顶的x张牌并将其以任意顺序置于牌堆项或牌堆底x为存活角色个数且不超过5',
qingguo_info:'你可以将一张黑色手牌当做【闪】使用或打出',
rende_info:'出牌阶段,你可以将任意张手牌交给其他角色。当你以此法于一回合内给出第二张牌时你回复1点体力。',
jijiang_info:'主公技,当你需要使用或打出【杀】时,你可以令其他蜀势力角色依次选择是否打出一张【杀】。若有角色响应,则你视为使用或打出了一张【杀】。',
wusheng_info:'你可以将一张红色牌当做【杀】使用或打出。',
paoxiao_info:'锁定技,出牌阶段,你使用【杀】没有数量限制。',
guanxing_info:'准备阶段,你可以观看牌堆顶的X张牌并将其以任意顺序置于牌堆项或牌堆底。X为存活角色数且至多为5',
xinguanxing:'观星',
xinguanxing_info:'准备阶段你可以观看牌堆顶的x张牌并将其以任意顺序置于牌堆项或牌堆底x为存活角色个数且不超过5',
xinguanxing_info_alter:'准备阶段你可以观看牌堆顶的5张牌存活角色小于4时改为3张并将其以任意顺序置于牌堆项或牌堆底如果你把观星的牌都放在牌堆底你可以在结束阶段再进行1次观星',
kongcheng_info:'锁定技,当你没有手牌时,不能成为[杀]或[决斗]的目标',
longdan_info:'你可以将[杀]当[闪],或[闪]当[杀]使用或打出',
mashu_info:'锁定技,你的进攻距离+1',
feiying_info:'锁定技,你的防御距离+1',
tieji_info:'当你使用一张[杀]时,可进行一次判定,若为红色则此[杀]不可闪避',
jizhi_info:'当你使用一张非转化的普通锦囊牌,可以摸一张牌',
kongcheng_info:'锁定技,当你没有手牌时,你不能成为【杀】或【决斗】的目标。',
longdan_info:'你可以将【杀】当做【闪】,或将【闪】当做【闪】使用或打出',
mashu_info:'锁定技,你计算与其他角色的距离时-1。',
feiying_info:'锁定技,其他角色计算与你的距离+1',
tieji_info:'当你使用【杀】指定目标时,你可以进行一次判定。若结果为红色,则此【杀】不可被闪避。',
jizhi_info:'当你使用一张非转化的普通锦囊牌可以摸一张牌',
xinjizhi:'集智',
xinjizhi_info:'每当你使用一张非转化的普通锦囊牌,可以摸一张牌',
xinjizhi_info_alter:'每当你使用一张非转化的锦囊牌,可以摸一张牌,如果摸到的是基本牌,你可以弃置这张牌,然后本回合手牌上限+1',
xinqicai:'奇才',
xinqicai_info:'锁定技,你使用锦囊牌无距离限制',
xinqicai_info:'锁定技,你使用锦囊牌无距离限制',
xinqicai_info_alter:'锁定技,你使用的锦囊牌无距离限制,你装备区内的牌不能被弃置',
qicai_info:'锁定技,你使用锦囊牌无距离限制',
zhiheng_info:'出牌阶段你可以弃置任意张牌并摸等量的牌每阶段限1次',
qicai_info:'锁定技,你使用锦囊牌无距离限制',
zhiheng_info:'出牌阶段一次,你可以弃置任意张牌,然后摸等量的牌。',
xinzhiheng:'制衡',
xinzhiheng_info:'出牌阶段限1次你可以弃置任意张牌并摸等量的牌',
xinzhiheng_info_alter:'出牌阶段限1次你可以弃置任意张牌并摸等量的牌如果在发动制衡时弃置了所有手牌你额外摸一张牌',
jiuyuan_info:'主公技,锁定技,濒死阶段,吴势力角色对你使用的[桃]额外回复一点体力',
jiuyuan_info:'主公技,锁定技,其他吴势力角色对濒死的你使用【桃】时,你额外回复一点体力。',
xinjiuyuan:'救援',
xinjiuyuan_info:'主公技,锁定技,濒死阶段,吴势力角色对你使用的[桃]额外回复一点体力',
xinjiuyuan_info_alter:'主公技其他吴国角色对自己使用【桃】时如果他的体力值大于你他可以选择让你回复1点体力然后他摸1张牌',
qixi_info:'你可以将一张黑色牌当[过河拆桥]使用',
keji_info:'若你在出牌阶段没有使用[杀],则可跳过弃牌阶段',
kurou_info:'出牌阶段,你可以流失一点体力并摸两张牌',
yingzi_info:'摸牌阶段,你可以额外摸一张牌',
fanjian_info:'出牌阶段,你可以令一名角色选择一种花色并展示你的一张手牌,若选择的花色与展示的不同,该角色受到来自你的一点伤害。结算结束后该角色获得展示的牌。每阶段限1次',
guose_info:'你可以将一张方片花色的手牌当[乐不思蜀]使用',
liuli_info:'当你成为[杀]的目标时,可以弃置一张牌将其转移给攻击范围内的一名其他角色,此角色不能是[杀]的使用者',
qianxun_info:'锁定技,你不能成为[顺手牵羊]和[乐不思蜀]的目标',
lianying_info:'每当你失去最后一张手牌,可摸一张牌',
xiaoji_info:'当你失去一张装备牌,可以摸两张牌',
jieyin_info:'出牌阶段你可以弃置两张牌并选择1名已经受伤的男性角色你与其各回复一点体力每阶段限一次',
qixi_info:'你可以将一张黑色牌当做【过河拆桥】使用',
keji_info:'若你于出牌阶段内没有过使用【杀】,则你可以跳过弃牌阶段。',
kurou_info:'出牌阶段,你可以失去一点体力,然后摸两张牌。',
yingzi_info:'摸牌阶段,你可以多摸一张牌。',
fanjian_info:'出牌阶段限一次,你可以令一名角色选择一种花色并展示你的一张手牌,若选择的花色与展示的不同,该角色受到来自你的一点伤害。然后该角色获得展示的牌。',
guose_info:'你可以将一张方片的手牌当做【乐不思蜀】使用。',
liuli_info:'当你成为【杀】的目标时,你可以弃置一张牌并将此【杀】转移给攻击范围内的一名其他角色(不能是[杀]的使用者)。',
qianxun_info:'锁定技,你不能成为【顺手牵羊】和【乐不思蜀】的目标',
lianying_info:'当你失去最后的手牌时,你可以摸一张牌。',
xiaoji_info:'当你失去一张装备区内的可以摸两张牌',
jieyin_info:'出牌阶段限一次,你可以弃置两张手牌并选择一名已经受伤的男性角色。你与其各回复一点体力。',
xinjieyin_info:'出牌阶段你可以弃置两张牌并选择1名已经受伤的男性角色你与其各回复一点体力每阶段限一次',
xinjieyin_old_info:'出牌阶段你可以弃置两张牌并选择1名已经受伤的男性角色你与其各回复一点体力每阶段限一次',
xinjieyin_new_info:'出牌阶段限1次你可以选择一名男性角色弃置一张手牌或将一张装备牌置于其装备区你与其体力较高的角色摸一张牌体力值较低的角色回复1点体力',
xinjieyin_info_alter:'出牌阶段限1次你可以选择一名男性角色弃置一张手牌或将一张装备牌置于其装备区你与其体力较高的角色摸一张牌体力值较低的角色回复1点体力',
qingnang_info:'出牌阶段,你可以弃置一张手牌令一名角色回复一点体力,每阶段限一次',
jijiu_info:'回合外,你可以将一张红色牌当[桃]使用',
wushuang_info:'锁定技,你使用的【杀】或【决斗】需要两张【闪】或【杀】响应',
lijian_info:'出牌阶段,你可以弃一张牌,视为一名男性角色对另一名男性角色使用一张[决斗],每阶段限一次',
biyue_info:'结束阶段,你可以摸一张牌',
qingnang_info:'出牌阶段限一次,你可以弃置一张手牌并令一名角色回复一点体力。',
jijiu_info:'你的回合外,你可以将一张红色牌当做【桃】使用。',
wushuang_info:'锁定技,你使用的【杀】或【决斗】需要两张【闪】或【杀】响应',
lijian_info:'出牌阶段限一次,你可以弃一张牌,视为一名男性角色对另一名男性角色使用一张【决斗】。',
biyue_info:'结束阶段,你可以摸一张牌',
xinbiyue_info:'结束阶段,你可以摸一张牌',
xinbiyue_info_alter:'结束阶段你可以摸一张牌如果你没有手牌改为摸2张牌',
yaowu:'耀武',

View File

@ -4034,20 +4034,18 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
chooseButton:{
dialog:function (){
var list=['sha','tao','jiu','taoyuan','wugu','juedou','huogong','jiedao','tiesuo','guohe','shunshou','wuzhong','wanjian','nanman'];
if(get.mode()=='guozhan'){
list=list.concat(['xietianzi','shuiyanqijunx','lulitongxin','lianjunshengyan','chiling','diaohulishan','yuanjiao','huoshaolianying']);
}
for(var i=0;i<list.length;i++){
if(i<3){
list[i]=['基本','',list[i]];
}
else{
list[i]=['锦囊','',list[i]];
}
}
var list=[];
for(var i=0;i<lib.inpile.length;i++){
var name=lib.inpile[i];
if(name=='wuxie') continue;
if(name=='sha'){
list.push(['基本','','sha']);
list.push(['基本','','sha','fire']);
list.push(['基本','','sha','thunder']);
}
else if(get.type(name)=='trick') list.push(['锦囊','',name]);
else if(get.type(name)=='basic') list.push(['基本','',name]);
}
return ui.create.dialog('蛊惑',[list,'vcard']);
},
filter:function (button,player){
@ -4086,6 +4084,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
player.logSkill('guhuo_guess');
player.addTempSkill('guhuo_phase');
player.popup(trigger.card.name,'metal');
player.lose(trigger.cards,ui.special);
player.line(trigger.targets,trigger.card.nature);
trigger.line=false;
event.prompt=get.translation(player)+'声明了'+get.translation(trigger.card.name)+',是否质疑?';
@ -4121,7 +4120,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
else{
event.guessers[0].popup('质疑正确','wood');
game.log(player,'使用的',trigger.card,'作废了');
player.discard(trigger.cards);
game.cardsDiscard(trigger.cards);
trigger.cancel();
}
},
@ -4210,6 +4209,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
player.logSkill('guhuo_guess');
player.popup(event.name,'metal');
event.card=result.cards[0];
player.lose(event.card,ui.special);
event.prompt=get.translation(player)+'声明了'+get.translation(event.name)+',是否质疑?';
event.guessers=game.filterPlayer(function(current){
return current!=player&&!current.hasSkill('chanyuan');
@ -4244,7 +4244,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
else{
event.guessers[0].popup('质疑正确','wood');
game.log(player,'打出的','#y'+get.translation(event.name),'作废了');
player.discard(event.card);
game.cardsDiscard(event.card);
event.finish();
}
"step 5"
@ -4508,8 +4508,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
player:"phaseJudgeBefore",
},
forced:true,
priority:15,
content:function (){
trigger.cancel();
game.log(player,'跳过了判定阶段');
},
},
"pcaudio_wolong_card":{

View File

@ -2441,7 +2441,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(list.length==0){
return ui.create.dialog('滔乱已无可用牌');
}
return ui.create.dialog([list,'vcard']);
return ui.create.dialog('滔乱',[list,'vcard']);
},
filter:function(button,player){
return lib.filter.filterCard({name:button.link[2]},player,_status.event.getParent());
@ -9417,8 +9417,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
trigger:{player:'useCard'},
frequent:true,
filter:function(event,player){
if(event.jianyinged) return false;
if(!event.cards||event.cards.length!=1) return false;
if(_status.currentPhase!=player) return false;
if(!player.isPhaseUsing()) return false;
if(!player.storage.jianying) return false;
return get.suit(player.storage.jianying)==get.suit(event.cards[0])||
player.storage.jianying.number==event.cards[0].number;
@ -9442,6 +9443,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
content:function(){
player.storage.jianying=trigger.cards[0];
trigger.jianyinged=true;
}
},
jianying2:{

View File

@ -10030,6 +10030,70 @@
},
arrangeTrigger:function(){
'step 0'
event.filter1=function(info){
return lib.filter.filterTrigger(trigger,info[1],event.triggername,info[0]);
}
event.filter2=function(info2){
var info=lib.skill[info2[0]];
if(!lib.translate[info2[0]]||info2[0].indexOf('_')==0||info.popup===false||info.silent) return false;
return true;
}
event.filter3=function(info,info2){
return event.filter2(info2)&&event.filter1(info2)&&info2[1]==info[1]&&info[2]==info2[2]&&info[1].hasSkill(info2[0],true);
}
event.num=0;
event.used=[];
'step 1'
var bool=false;
var list=event.list;
for(var i=0;i<list.length;i++){
if(event.filter1(list[i])){
bool=true;
event.num=i;
break;
}
}
if(!bool){
if(trigger._triggering==this){
delete trigger._triggering;
}
event.finish();
return;
}
event.choice=[];
if(event.num<list.length-1&&event.filter2(list[event.num])){
var current=list[event.num];
event.choice.push(current);
for(var i=event.num+1;i<list.length;i++){
if(event.filter3(current,list[i])) event.choice.push(list[i]);
}
}
if(event.choice.length<2) event.goto(4);
'step 2'
var controls=[];
event.current=event.choice[0][1]
for(var i=0;i<event.choice.length;i++){
controls.push(event.choice[i][0]);
}
event.current.chooseControl(controls).set('prompt','选择下一个触发的技能');
'step 3'
if(result.control){
for(var i=0;i<event.list.length;i++){
if(event.list[i][0]==result.control&&event.list[i][1]==event.current){
event.num=i;break;
}
}
}
'step 4'
var info=event.list[event.num];
if(info){
event.used.push(info);
event.list.splice(event.num,1);
game.createTrigger(event.triggername,info[0],info[1],trigger);
}
'step 5'
event.goto(1);
/*'step 0'
var list=event.list;
if(!list.length){
if(trigger._triggering==this){
@ -10093,7 +10157,7 @@
event.list.splice(event.num,1);
game.createTrigger(event.triggername,info[0],info[1],trigger);
}
event.goto(0);
event.goto(0);*/
},
createTrigger:function(){
"step 0"
@ -14954,7 +15018,7 @@
},
uninit:function(){
for(var i=1;i<6;i++){
if(this.isDisabled(i)) this.enableEquip(i);
if(this.isDisabled(i)) this.$enableEquip('equip'+i);
}
this.node.avatar.hide();
@ -18645,6 +18709,7 @@
this.awakenSkill(skill);
return;
}
if(_status.event) _status.event.addTrigger(skill,this);
if(info.init2&&!_status.video){
info.init2(this,skill);
}
@ -21970,6 +22035,51 @@
notLink:function(){
return this.getParent().name!='_lianhuan'&&this.getParent().name!='_lianhuan2';
},
addTrigger:function(skill,player){
if(!player) return;
var evt=this.getParent('arrangeTrigger');
if(!evt||evt.name!='arrangeTrigger'||!evt.list) return;
if(typeof skill=='string') skill=[skill];
game.expandSkills(skill);
var filter=function(content){
if(typeof content=='string') return content==triggername;
return content.contains(triggername);
};
var trigger=evt._trigger;
var triggername=evt.triggername;
var func=function(skillx){
var info=lib.skill[skillx];
var bool=false;
for(var i in info.trigger){
if(i!='global'&&trigger[i]!=player) continue;
if(filter(info.trigger[i])){bool=true;break}
}
if(!bool) return;
var priority=0;
if(info.priority){
priority=info.priority*100;
}
if(!lib.translate[skillx]||skillx.indexOf('_')==0||info.popup===false||info.silent){
priority++;
}
var toadd=[skillx,player,priority];
if(evt.used){
for(var i=0;i<evt.used.length;i++){
if(evt.used[i][0]==toadd[0]&&evt.used[i][1]==toadd[1]) return;
}
};
for(var i=0;i<evt.list.length;i++){
if(evt.list[i][0]==toadd[0]&&evt.list[i][1]==toadd[1]) return;
}
evt.list.add(toadd);
evt.list.sort(function(a,b){
return b[2]-a[2];
});
}
for(var j=0;j<skill.length;j++){
func(skill[j]);
}
},
trigger:function(name){
if(_status.video) return;
if(name==='gameStart'){
@ -22002,7 +22112,7 @@
if(info.priority){
num=info.priority*100;
}
if(info.forced){
if(!lib.translate[skill]||skill.indexOf('_')==0||info.popup===false||info.silent){
num++;
}
list.push([skill,player,num]);
@ -22116,6 +22226,7 @@
next.list=list;
next._trigger=event;
next.triggername=name;
//next.starter=start;
event._triggering=next;
}
},
@ -22817,6 +22928,33 @@
}
return aa>bb?1:-1;
},
card:function(a,b){
var typeSort=function(name){
var type=get.type(name);
if(!type) return 10;
if(type=='basic') return -1;
if(type=='trick') return 0;
if(type=='delay') return 1;
if(type=='equip'){
var type2=get.subtype(name);
return 1+parseInt(type2.slice(5)||7);
}
return 9;
}
var del=typeSort(a)-typeSort(b);
if(del!=0) return del;
var aa=a,bb=b;
if(a.indexOf('_')!=-1){
a=a.slice(a.indexOf('_')+1);
}
if(b.indexOf('_')!=-1){
b=b.slice(b.indexOf('_')+1);
}
if(a!=b){
return a>b?1:-1;
}
return aa>bb?1:-1;
},
random:function(){
return (Math.random()-0.5);
},
@ -40810,6 +40948,7 @@
ui.create.card(ui.cardPile).init(lib.card.list[i]);
}
}
lib.inpile.sort(lib.sort.card);
game.broadcastAll(function(num){
if(ui.cardPileNumber) ui.cardPileNumber.innerHTML='0轮 剩余牌: '+num;
},ui.cardPile.childNodes.length);
@ -44982,7 +45121,9 @@
game.over('平局');
return [];
}
list.push(ui.cardPile.removeChild(ui.cardPile.lastChild));
var cardx=ui.cardPile.removeChild(ui.cardPile.lastChild);
cardx.original='c';
list.push(cardx);
}
game.updateRoundNumber();
if(card) return list[0];
@ -46254,7 +46395,9 @@
game.over('平局');
return [];
}
list.push(ui.cardPile.removeChild(ui.cardPile.firstChild));
var cardx=ui.cardPile.removeChild(ui.cardPile.firstChild);
cardx.original='c';
list.push(cardx);
}
game.updateRoundNumber();
if(card) return list[0];

View File

@ -1,27 +1,21 @@
window.noname_update={
version:'1.9.91.6',
update:'1.9.91.5',
version:'1.9.92',
update:'1.9.91.6',
changeLog:[
'旧于吉回归',
'BUG修复',
'新增背景、装备配音素材',
'同时机技能结算机制调整',
],
files:[
'card/extra.js',
'card/guozhan.js',
'card/standard.js',
'character/extra.js',
'character/old.js',
'character/shenhua.js',
'character/sp.js',
'character/diy.js',
'character/standard.js',
'character/xinghuoliaoyuan.js',
'character/yijiang.js',
'mode/boss.js',
'mode/doudizhu.js',
'mode/chess.js',
'mode/guozhan.js',
'mode/versus.js',
'game/package.js',
'game/game.js',
]
};

View File

@ -1727,7 +1727,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
node.remove();
}
}
lib.inpile.sort(lib.sort.card);
}
},
boss_chiyanshilian:{
@ -1747,6 +1747,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
lib.inpile.remove('hongshui');
lib.inpile.remove('fulei');
lib.inpile.add('honghuangzhili');
lib.inpile.sort(lib.sort.card);
for(var i=0;i<ui.cardPile.childElementCount;i++){
var node=ui.cardPile.childNodes[i];
if(node.name=='shandian'){
@ -1888,6 +1889,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
lib.inpile.remove('fangtian');
lib.inpile.remove('muniu');
lib.inpile.addArray(['wushuangfangtianji','shufazijinguan','hongmianbaihuapao','linglongshimandai','lianjunshengyan']);
lib.inpile.sort(lib.sort.card);
var equiplist=[];
for(var i=0;i<ui.cardPile.childElementCount;i++){
var node=ui.cardPile.childNodes[i];
@ -3134,14 +3136,14 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
boss_futai2:{
mod:{
cardSavable:function(card,player){
if(card.name=='tao'&&game.hasPlayer(function(current){
if(card.name=='tao'&&!_status.event.skill&&game.hasPlayer(function(current){
return current!=player&&current.hasSkill('boss_futai')&&_status.currentPhase!=current;
})){
return false;
}
},
cardEnabled:function(card,player){
if(card.name=='tao'&&game.hasPlayer(function(current){
if(card.name=='tao'&&!_status.event.skill&&game.hasPlayer(function(current){
return current!=player&&current.hasSkill('boss_futai')&&_status.currentPhase!=current;
})){
return false;

View File

@ -1006,7 +1006,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
if(card==undefined||card.length==0) return;
var node=card.copy('thrown','hidden');
node.dataset.position=this.dataset.position;
this.parentNode.appendChild(node);
if(this.parentNode) this.parentNode.appendChild(node);
ui.refresh(node);
node.show();
this.$randomMove(node,130,0);

View File

@ -529,11 +529,11 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
},
mark:true,
marktext:'魂',
onunmark:function(player,skill){
_status.characterlist.addArray(player.storage[skill].character);
player.storage[skill].character=[];
},
intro:{
onunmark:function(storage,player){
_status.characterlist.addArray(storage.character);
storage.character=[];
},
mark:function(dialog,storage,player){
if(storage&&storage.character.length){
if(player.isUnderControl(true)){
@ -829,7 +829,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
if(result.index==0) target.carryOutJunling(player,event.junling,targets);
else if(target!=player&&target.countCards('h')) {
event.num=target.countCards('h');
player.gain(target.getCard('h'),target);
player.gain(target.getCards('h'),target);
target.$give(event.num,player);
player.chooseCard('交给'+get.translation(target)+get.cnNumber(event.num)+'张牌','he',event.num,true).set('ai',function(card){
return -get.value(card);
@ -858,7 +858,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
if(player==event.player||player.storage.gzweidi.contains(event.player)||_status.currentPhase!=player) return false;
if(event.cards.length){
if(event.getParent().name=='draw') return true;
for(var i=0;i<event.cards.length;i++) if(get.position(event.cards[i])=='c') return true;
for(var i=0;i<event.cards.length;i++) if(get.position(event.cards[i])=='c'||(!get.position(event.cards[i])&&event.cards[i].original=='c')) return true;
}
return false;
},
@ -1021,7 +1021,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
global:'g_jianan',
},
g_jianan:{
trigger:{player:'phaseBeginStart'},
trigger:{player:'phaseBegin'},
filter:function(event,player){
if(!get.zhu(player,'jianan')) return false;
if(!player.countCards('he')) return false;
@ -2222,7 +2222,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
},
priority:1,
filter:function (event,player){
return event.skill=='new_longdan_shan';
return event.skill=='new_longdan_shan'&&event.getParent(2).name=='sha';
},
direct:true,
content:function (){
@ -2498,7 +2498,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
"baka_hunshang":{
skillAnimation:true,
audio:"hunshang",
derivation:["reyingzi","yinghun"],
derivation:["reyingzi","gzyinghun"],
viceSkill:true,
init:function (player){
if(player.checkViceSkill('baka_hunshang')&&!player.viceChanged){
@ -2506,13 +2506,13 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
}
},
trigger:{
player:"phaseBeginStart",
player:"phaseBegin",
},
filter:function (event,player){
return player.hp==1;
return player.hp<=1;
},
forced:true,
priority:3,
//priority:3,
content:function (){
player.addTempSkill('baka_yingzi','phaseAfter');
player.addTempSkill('baka_yinghun','phaseAfter');
@ -2537,7 +2537,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
filter:function (event,player){
return player.isDamaged();
},
priority:2,
//priority:2,
audio:"yinghun",
audioname:["sunce"],
trigger:{
@ -2990,19 +2990,16 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
chooseButton:{
dialog:function (event,player){
var list=['yuanjiao','zhibi'];
if(player.storage.hmkguishu==1){
list.remove('yuanjiao');
}
else if(player.storage.hmkguishu==2){
list.remove('zhibi')
}
for(var i=0;i<list.length;i++){
list[i]=['锦囊','',list[i]];
}
return ui.create.dialog([list,'vcard']);
return ui.create.dialog('鬼术',[list,'vcard']);
},
filter:function (button,player){
return lib.filter.filterCard({name:button.link[2]},player,_status.event.getParent());
var name=button.link[2];
if(player.storage.hmkguishu==1&&name=='yuanjiao') return false;
if(player.storage.hmkguishu==2&&name=='zhibi') return false;
return lib.filter.filterCard({name:name},player,_status.event.getParent());
},
check:function (button){
var player=_status.event.player;
@ -3109,7 +3106,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
popup:false,
content:function (){
"step 0"
var choice=["取消"];
var choice=[];
var skillm=lib.character[player.name1][3];
var skillv=lib.character[player.name2][3];
if(player.isUnseen(0)){
@ -3126,7 +3123,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
}
}
}
if(choice.length==3) choice.push('全部明置')
if(choice.length==2) choice.push('全部明置')
player.chooseControl(choice);
"step 1"
if(result.control){
@ -4148,7 +4145,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
}
},
jiahe_skill:{
trigger:{player:'phaseBeginStart'},
trigger:{player:'phaseBegin'},
direct:true,
audio:"jiahe",
filter:function(event,player){