This commit is contained in:
Spmario233 2021-04-08 11:17:33 +08:00
parent 963b6de115
commit ab0b7aeb8f
17 changed files with 980 additions and 109 deletions

View File

@ -200,7 +200,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
game.delay(2); game.delay(2);
"step 2" "step 2"
if(result.bool){ if(result.bool){
target.damage('fire'); target.damage('fire',event.baseDamage||1);
} }
else{ else{
target.addTempSkill('huogong2'); target.addTempSkill('huogong2');

View File

@ -212,13 +212,13 @@ game.import('card',function(lib,game,ui,get,ai,_status){
target.discard(target.getCards('e',function(card){ target.discard(target.getCards('e',function(card){
return lib.filter.cardDiscardable(card,target,'shuiyanqijunx'); return lib.filter.cardDiscardable(card,target,'shuiyanqijunx');
})); }));
target.damage('thunder'); target.damage('thunder',event.baseDamage||1);
event.finish(); event.finish();
} }
else if(!target.countCards('e',function(card){ else if(!target.countCards('e',function(card){
return lib.filter.cardDiscardable(card,target,'shuiyanqijunx'); return lib.filter.cardDiscardable(card,target,'shuiyanqijunx');
})){ })){
var next=target.damage(); var next=target.damage(event.baseDamage||1);
if(!get.is.single()) next.nature='thunder'; if(!get.is.single()) next.nature='thunder';
event.finish(); event.finish();
return; return;
@ -239,7 +239,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
})); }));
} }
else{ else{
var next=target.damage(); var next=target.damage(event.baseDamage||1);
if(!get.is.single()) next.nature='thunder' if(!get.is.single()) next.nature='thunder'
} }
event.finish(); event.finish();
@ -579,7 +579,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
selectTarget:-1, selectTarget:-1,
modTarget:true, modTarget:true,
content:function(){ content:function(){
target.damage('fire'); target.damage('fire',event.baseDamage||1);
}, },
ai:{ ai:{
order:5, order:5,

View File

@ -144,7 +144,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
'step 1' 'step 1'
if(result.bool){ if(result.bool){
target.showCards(result.cards); target.showCards(result.cards);
if(get.suit(card)!=get.suit(result.cards[0])) target.damage(); if(get.suit(card)!=get.suit(result.cards[0])) target.damage(event.baseDamage||1);
} }
}, },
ai:{ ai:{

View File

@ -12474,8 +12474,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
iwasawa_refenyin_info:'锁定技,你的回合内,当一张牌进入弃牌堆后,若本回合内没有过与此牌花色相同的卡牌进入过弃牌堆,则你摸一张牌。', iwasawa_refenyin_info:'锁定技,你的回合内,当一张牌进入弃牌堆后,若本回合内没有过与此牌花色相同的卡牌进入过弃牌堆,则你摸一张牌。',
//卡牌花色的计算不受【红颜】等技能的影响 //卡牌花色的计算不受【红颜】等技能的影响
kengo_weishang:'伪伤', kengo_weishang:'伪伤',
key_weishang_sha:'伪伤', kengo_weishang_sha:'伪伤',
key_weishang_shan:'伪伤', kengo_weishang_shan:'伪伤',
kengo_weishang_info:'出牌阶段限一次,你可以废除一个装备栏并摸两张牌。若你的武器栏已废除,则你使用【杀】的次数上限+1且当你使用【杀】指定目标后目标角色弃置一张牌若你的防具栏已废除则你可以将一张牌当做【闪】使用或打出若你的攻击/防御坐骑栏已废除,则你至其他角色的距离-1/其他角色至你的距离-1。', kengo_weishang_info:'出牌阶段限一次,你可以废除一个装备栏并摸两张牌。若你的武器栏已废除,则你使用【杀】的次数上限+1且当你使用【杀】指定目标后目标角色弃置一张牌若你的防具栏已废除则你可以将一张牌当做【闪】使用或打出若你的攻击/防御坐骑栏已废除,则你至其他角色的距离-1/其他角色至你的距离-1。',
kengo_guidui:'归队', kengo_guidui:'归队',
kengo_guidui_info:'锁定技,准备阶段,若你有已废除的装备栏,则你恢复这些装备栏,且本局游戏内发动【伪伤】时不能废除这些装备栏。', kengo_guidui_info:'锁定技,准备阶段,若你有已废除的装备栏,则你恢复这些装备栏,且本局游戏内发动【伪伤】时不能废除这些装备栏。',

View File

@ -496,7 +496,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
animationColor:'wood', animationColor:'wood',
content:function(){ content:function(){
'step 0' 'step 0'
player.chooseTarget(get.prompt2('fubi'),lib.filternotMe).set('ai',function(target){ player.chooseTarget(get.prompt2('fubi'),lib.filter.notMe).set('ai',function(target){
return get.attitude(_status.event.player,target); return get.attitude(_status.event.player,target);
}); });
'step 1' 'step 1'

View File

@ -161,6 +161,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
onunmark:true, onunmark:true,
}, },
group:'residi_push', group:'residi_push',
ai:{notemp:true},
}, },
residi_push:{ residi_push:{
trigger:{global:'phaseUseBegin'}, trigger:{global:'phaseUseBegin'},
@ -892,7 +893,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(event.name=='phaseDiscard'){ if(event.name=='phaseDiscard'){
var cards=[]; var cards=[];
player.getHistory('lose',function(evt){ player.getHistory('lose',function(evt){
if(evt&&evt.getParent('phaseDiscard')==event&&evt.hs) cards.addArray(evt.hs); if(evt&&evt.type=='discard'&&evt.getParent('phaseDiscard')==event&&evt.hs) cards.addArray(evt.hs);
}); });
return cards.length>1; return cards.length>1;
} }
@ -2287,7 +2288,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(event.name=='phaseDiscard'){ if(event.name=='phaseDiscard'){
var cards=[]; var cards=[];
player.getHistory('lose',function(evt){ player.getHistory('lose',function(evt){
if(evt&&evt.getParent('phaseDiscard')==event&&evt.hs) cards.addArray(evt.hs); if(evt&&evt.type=='discard'&&evt.getParent('phaseDiscard')==event&&evt.hs) cards.addArray(evt.hs);
}); });
return cards.length>1; return cards.length>1;
} }
@ -4095,7 +4096,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
//if(name=='phaseBegin'&&game.phaseNumber==1) return false; //if(name=='phaseBegin'&&game.phaseNumber==1) return false;
return player.storage.rehuashen&&player.storage.rehuashen.character.length>0; return player.storage.rehuashen&&player.storage.rehuashen.character.length>0;
}, },
banned:['lisu','sp_xiahoudun','xushao'], banned:['lisu','sp_xiahoudun','xushao','zhoutai','old_zhoutai'],
addHuashen:function(player){ addHuashen:function(player){
if(!player.storage.rehuashen) return; if(!player.storage.rehuashen) return;
if(!_status.characterlist){ if(!_status.characterlist){
@ -7647,7 +7648,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
filterTarget:function(card,player,target){ filterTarget:function(card,player,target){
if(target.hasJudge('lebu')) return true; if(target.hasJudge('lebu')) return true;
if(player==target) return false; if(player==target) return false;
return lib.filter.targetEnabled({name:'lebu'},player,target); if(!game.checkMod(ui.selected.cards[0],player,'unchanged','cardEnabled2',player)) return false;
return player.canUse({name:'lebu',cards:ui.selected.cards},target);
}, },
check:function(card){ check:function(card){
return 7-get.value(card); return 7-get.value(card);

View File

@ -5,7 +5,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
connect:true, connect:true,
characterSort:{ characterSort:{
sp:{ sp:{
sp_default:["caoying","simahui","yangxiu","chenlin","caohong","xiahouba","yuanshu","sp_diaochan","sp_zhaoyun","liuxie","zhugejin","zhugeke","guanyinping","simalang","zhangxingcai","fuwan","sp_sunshangxiang","caoang","sp_caoren","zhangbao","maliang","zhugedan","sp_jiangwei","sp_machao","sunhao","shixie","mayunlu","zhanglu","wutugu","sp_caiwenji","zhugeguo","lingju","jsp_guanyu","jsp_huangyueying","sunluyu","zumao","wenpin","daxiaoqiao","tadun","yanbaihu","chengyu","wanglang","sp_pangde","sp_jiaxu","litong","mizhu","buzhi","caochun","dongbai","zhaoxiang","mazhong","dongyun","kanze","heqi","wangyun","sunqian","xizhicai","quyi","luzhi","xujing","yuantanyuanshang","sunshao","zhangling",'guansuo','baosanniang','ol_zhangchangpu','caoshuang','sp_zhangliao','wolongfengchu','ol_xinxianying'], sp_default:["caoying","simahui","yangxiu","chenlin","caohong","xiahouba","yuanshu","sp_diaochan","sp_zhaoyun","liuxie","zhugejin","zhugeke","guanyinping","simalang","zhangxingcai","fuwan","sp_sunshangxiang","caoang","sp_caoren","zhangbao","maliang","zhugedan","sp_jiangwei","sp_machao","sunhao","shixie","mayunlu","zhanglu","wutugu","sp_caiwenji","zhugeguo","lingju","jsp_guanyu","jsp_huangyueying","sunluyu","zumao","wenpin","daxiaoqiao","tadun","yanbaihu","chengyu","wanglang","sp_pangde","sp_jiaxu","litong","mizhu","buzhi","caochun","dongbai","zhaoxiang","mazhong","dongyun","kanze","heqi","wangyun","sunqian","xizhicai","quyi","luzhi","xujing","yuantanyuanshang","sunshao","zhangling",'guansuo','baosanniang','ol_zhangchangpu','caoshuang','sp_zhangliao','wolongfengchu','ol_xinxianying','ol_lisu'],
sp_zhongdan:["cuiyan","huangfusong"], sp_zhongdan:["cuiyan","huangfusong"],
sp_star:["sp_xiahoushi","jsp_zhaoyun","huangjinleishi","sp_pangtong","sp_daqiao","sp_ganning","sp_xiahoudun","sp_lvmeng","sp_zhangfei","sp_liubei"], sp_star:["sp_xiahoushi","jsp_zhaoyun","huangjinleishi","sp_pangtong","sp_daqiao","sp_ganning","sp_xiahoudun","sp_lvmeng","sp_zhangfei","sp_liubei"],
sp_sticker:['sp_gongsunzan','sp_simazhao','sp_wangyuanji','sp_xinxianying','sp_liuxie'], sp_sticker:['sp_gongsunzan','sp_simazhao','sp_wangyuanji','sp_xinxianying','sp_liuxie'],
@ -17,6 +17,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}, },
characterFilter:{}, characterFilter:{},
character:{ character:{
ol_lisu:['male','qun',3,['qiaoyan','xianzhu'],['unseen']],
luyusheng:['female','wu',3,['zhente','zhiwei']], luyusheng:['female','wu',3,['zhente','zhiwei']],
ol_xinxianying:['female','wei',3,['xincaishi','xinzhongjian']], ol_xinxianying:['female','wei',3,['xincaishi','xinzhongjian']],
huaxin:['male','wei',3,['wanggui','xibing']], huaxin:['male','wei',3,['wanggui','xibing']],
@ -154,6 +155,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
//kaisa:["male","western",4,["zhengfu"]], //kaisa:["male","western",4,["zhengfu"]],
}, },
characterIntro:{ characterIntro:{
mifangfushiren:'麋芳(生卒年不详),字子方,东海郡朐县(今江苏省连云港市)人。汉末三国时期蜀国将领,刘备糜夫人的兄弟。麋芳本为徐州牧陶谦部下,曾被曹操表为彭城相。后来辞官,随刘备从徐州辗转至邺城、汝南、新野、长坂坡、江夏等地,奔波多年。傅士仁(生卒年不详),字君义,幽州广阳郡(今北京市)人,刘备手下将领。受到刘备的重用,但被关羽轻慢。<br>刘备称汉中王时,糜芳为南郡太守,但受到关羽的轻慢。后来,因未完成供给军资的任务而被关羽责骂,心中不安。吕蒙袭取荆州时,将已经投降的傅士仁展示给糜芳,麋芳于是选择投降,导致关羽兵败被杀。此后,在吴国担任将军,并且为吴征伐。',
mengda:'孟达(?228字子度本字子敬因刘备的叔父名叫刘子敬为避讳而改字。扶风郡郿人三国时期人物。本为刘璋属下后降刘备。关羽围樊城、襄阳时因不发兵救关羽而触怒刘备于是投奔曹魏。此后劝降刘封未果。在魏官至散骑常侍、建武将军封平阳亭侯。此后又欲反曹魏而归蜀汉事败而死。',
luyusheng:'陆郁生(?年-三国时期吴国官员陆绩之女。陆郁生的父亲陆绩是吴郡公认的才子又是当时吴郡陆氏的领袖。陆绩赴任担任郁林太守遂取此名。陆郁生年少的时候就定下坚贞的志向。建安二十四年219年)陆绩早亡她与两个兄弟陆宏、陆睿当时都只有几岁一起返回吴县被他们的从兄陆瑁接回抚养。13周岁的陆郁生嫁给同郡出身的张白为妻。出嫁3个月后张白因为其兄张温一族的案件遭到连坐被处以流刑后死于流放地陆郁生成为了寡妇其后公开宣言不再改嫁困难于生计但拒绝了所有提亲在艰苦中从未停止服侍、照顾张白的姐妹。事情传到朝廷皇帝褒奖陆郁生号其为“义姑”。她的表侄姚信在文集中称赞她的义举。', luyusheng:'陆郁生(?年-三国时期吴国官员陆绩之女。陆郁生的父亲陆绩是吴郡公认的才子又是当时吴郡陆氏的领袖。陆绩赴任担任郁林太守遂取此名。陆郁生年少的时候就定下坚贞的志向。建安二十四年219年)陆绩早亡她与两个兄弟陆宏、陆睿当时都只有几岁一起返回吴县被他们的从兄陆瑁接回抚养。13周岁的陆郁生嫁给同郡出身的张白为妻。出嫁3个月后张白因为其兄张温一族的案件遭到连坐被处以流刑后死于流放地陆郁生成为了寡妇其后公开宣言不再改嫁困难于生计但拒绝了所有提亲在艰苦中从未停止服侍、照顾张白的姐妹。事情传到朝廷皇帝褒奖陆郁生号其为“义姑”。她的表侄姚信在文集中称赞她的义举。',
wolongfengchu:'沙比武将,懒得复制粘贴,自己去看诸葛亮和庞统的介绍吧。', wolongfengchu:'沙比武将,懒得复制粘贴,自己去看诸葛亮和庞统的介绍吧。',
huaxin:'华歆157年232年1月30日字子鱼汉族。平原郡高唐县人今山东省高唐县。汉末至三国曹魏初年名士、重臣。华歆早年拜太尉陈球为师与卢植、郑玄、管宁等为同门又与管宁、邴原共称一龙华歆为龙头。汉灵帝时华歆被举为孝廉任郎中因病去官。又被大将军何进征召为尚书郎。后任豫章太守甚得民心。孙策率军南下华歆举郡投降被奉为上宾。官渡之战时被征为议郎、参司空军事。入为尚书、侍中又代荀彧为尚书令。丞相曹操讨孙权时授华歆为军师。后为魏王国的御史大夫。曹丕即王位拜华歆为相国封安乐乡侯。曹魏建立后其相国职名改称司徒。魏明帝即位升任太尉晋封博平侯。太和五年十二月232年1月华歆去世年七十五谥号“敬”。有文集三十卷今佚失其余见《全三国文》。', huaxin:'华歆157年232年1月30日字子鱼汉族。平原郡高唐县人今山东省高唐县。汉末至三国曹魏初年名士、重臣。华歆早年拜太尉陈球为师与卢植、郑玄、管宁等为同门又与管宁、邴原共称一龙华歆为龙头。汉灵帝时华歆被举为孝廉任郎中因病去官。又被大将军何进征召为尚书郎。后任豫章太守甚得民心。孙策率军南下华歆举郡投降被奉为上宾。官渡之战时被征为议郎、参司空军事。入为尚书、侍中又代荀彧为尚书令。丞相曹操讨孙权时授华歆为军师。后为魏王国的御史大夫。曹丕即王位拜华歆为相国封安乐乡侯。曹魏建立后其相国职名改称司徒。魏明帝即位升任太尉晋封博平侯。太和五年十二月232年1月华歆去世年七十五谥号“敬”。有文集三十卷今佚失其余见《全三国文》。',
@ -398,6 +401,107 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}, },
}, },
skill:{ skill:{
//李肃
qiaoyan:{
trigger:{player:'damageBegin2'},
forced:true,
filter:function(event,player){
return player!=_status.currentPhase&&event.source&&event.source!=player;
},
logTarget:'source',
content:function(){
'step 0'
var cards=player.getStorage('qiaoyan');
if(cards.length){
var source=trigger.source;
player.$give(cards,source,false);
source.gain(cards,'log');
player.unmarkAuto('qiaoyan',cards);
event.goto(3);
}
else{
trigger.cancel();
player.draw();
}
'step 1'
var hs=player.getCards('he');
if(!hs.length) event.finish();
else if(hs.length==1) event._result={bool:true,cards:hs};
else player.chooseCard('he',true,'将一张牌作为“珠”置于武将牌上');
'step 2'
if(result.bool&&result.cards&&result.cards.length){
var cards=result.cards;
player.lose(cards,ui.special,'visible','toStorage');
player.$give(cards,player,false);
player.markAuto('qiaoyan',cards);
game.log(player,'将',cards,'放在了武将牌上');
}
event.finish();
'step 3'
game.delayx();
},
marktext:'珠',
intro:{content:'cards',onunmark:'throw'},
ai:{
filterDamage:true,
skillTagFilter:function(player,tag,arg){
if(!player.getStorage('qiaoyan').length) return false;
if(arg&&arg.player){
if(arg.player.hasSkillTag('jueqing',false,player)) return false;
}
},
combo:'xianzhu',
},
},
xianzhu:{
trigger:{player:'phaseUseBegin'},
direct:true,
locked:true,
filter:function(event,player){
return player.storage.qiaoyan&&player.storage.qiaoyan.length>0;
},
content:function(){
'step 0'
event.cards=player.storage.qiaoyan;
player.chooseTarget(true,'请选择【献珠】的目标','令一名角色获得'+get.translation(event.cards)+'。若该角色不为你自己,则你令其视为对其攻击范围内的另一名角色使用【杀】').set('ai',function(target){
var player=_status.event.player;
var eff=get.sgn(get.attitude(player,target))*get.value(_status.event.getParent().cards);
if(player!=target) eff+=Math.max.apply(null,game.filterPlayer().map(function(current){
if(current!=target&&target.inRange(current)&&target.canUse('sha',current)) return get.effect(current,{name:'sha'},target,player);
return 0;
}));
return eff;
});
'step 1'
if(result.bool){
var target=result.targets[0];
event.target=target;
player.logSkill('xianzhu',target);
player.$give(cards,target,false);
target.gain(cards,'log');
player.unmarkAuto('qiaoyan',cards);
}
else event.finish();
'step 2'
game.delayx();
if(player!=target&&target.isIn()&&player.isIn()&&game.hasPlayer(function(current){
return current!=target&&target.inRange(current)&&target.canUse('sha',current);
})){
var str=get.translation(target);
player.chooseTarget(true,'选择'+str+'攻击范围内的一名角色,视为'+str+'对其使用【杀】',function(card,player,target){
var source=_status.event.target;
return source.inRange(target)&&source.canUse('sha',target);
}).set('target',target).set('ai',function(target){
var evt=_status.event;
return get.effect(target,{name:'sha'},evt.target,evt.player)
});
}
else event.finish();
'step 3'
if(result.bool) target.useCard({name:'sha',isCard:true},result.targets[0],false);
},
ai:{combo:'qiaoyan'},
},
//陆郁生 //陆郁生
zhente:{ zhente:{
audio:2, audio:2,
@ -9867,7 +9971,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
hanyong:{ hanyong:{
trigger:{player:'useCard'}, trigger:{player:'useCard'},
filter:function(event,player){ filter:function(event,player){
return event.card&&(event.card.name=='nanman'||event.card.name=='wanjian'||(event.card.name=='sha'&&!event.card.nature&&get.suit(event.card)=='spade')); return event.card&&(event.card.name=='nanman'||event.card.name=='wanjian'||(event.card.name=='sha'&&!event.card.nature&&get.suit(event.card)=='spade'))&&player.isDamaged();
}, },
content:function(){ content:function(){
trigger.baseDamage++; trigger.baseDamage++;
@ -15414,6 +15518,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
lingju:['lingju','old_lingju'], lingju:['lingju','old_lingju'],
guansuo:['guansuo','ol_guansuo'], guansuo:['guansuo','ol_guansuo'],
zhangxingcai:['zhangxingcai','old_zhangxingcai'], zhangxingcai:['zhangxingcai','old_zhangxingcai'],
lisu:['ol_lisu','lisu'],
}, },
translate:{ translate:{
"xinfu_lingren":"凌人", "xinfu_lingren":"凌人",
@ -15977,7 +16082,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
ranshang2:'燃殇', ranshang2:'燃殇',
ranshang_info:'锁定技当你受到1点火焰伤害后你获得1枚“燃”标记结束阶段开始时你失去X点体力。若X大于2则你减2点体力上限并摸两张牌。X为“燃”标记的数量', ranshang_info:'锁定技当你受到1点火焰伤害后你获得1枚“燃”标记结束阶段开始时你失去X点体力。若X大于2则你减2点体力上限并摸两张牌。X为“燃”标记的数量',
hanyong:'悍勇', hanyong:'悍勇',
hanyong_info:'当你使用【南蛮入侵】或【万箭齐发】或黑桃【杀】时,若你的体力值小于游戏轮数,你可以令此牌的伤害值基数+1。然后若你的体力值不小于游戏轮数则你获得一枚“燃”标记。', hanyong_info:'当你使用【南蛮入侵】或【万箭齐发】或黑桃【杀】时,若你已受伤,则你可以令此牌的伤害值基数+1。然后若你的体力值不小于游戏轮数则你获得一枚“燃”标记。',
yicong:'义从', yicong:'义从',
yongsi:'庸肆', yongsi:'庸肆',
@ -16277,6 +16382,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
zhiwei2:'至微', zhiwei2:'至微',
zhiwei_info:'游戏开始时,你选择一名其他角色。该角色造成伤害后,你摸一张牌,该角色受到伤害后,你随机弃置一张手牌。你弃牌阶段弃置的牌均被该角色获得。 ', zhiwei_info:'游戏开始时,你选择一名其他角色。该角色造成伤害后,你摸一张牌,该角色受到伤害后,你随机弃置一张手牌。你弃牌阶段弃置的牌均被该角色获得。 ',
zhiwei_info_guozhan:'你明置此武将牌时,选择一名其他角色。该角色造成伤害后,你摸一张牌,该角色受到伤害后,你随机弃置一张手牌。你弃牌阶段弃置的牌均被该角色获得。该角色死亡时,若你的两个武将牌均明置,你暗置此武将牌。 ', zhiwei_info_guozhan:'你明置此武将牌时,选择一名其他角色。该角色造成伤害后,你摸一张牌,该角色受到伤害后,你随机弃置一张手牌。你弃牌阶段弃置的牌均被该角色获得。该角色死亡时,若你的两个武将牌均明置,你暗置此武将牌。 ',
ol_lisu:'OL李肃',
qiaoyan:'巧言',
qiaoyan_info:'锁定技,当你于回合外受到其他角色造成的伤害时,若你:有“珠”,则你令伤害来源获得“珠”;没有“珠”,则你防止此伤害,然后摸一张牌,并将一张牌正面朝上置于武将牌上,称为“珠”。',
xianzhu:'献珠',
xianzhu_info:'锁定技出牌阶段开始时你令一名角色A获得“珠”。若A不为你自己则你选择A攻击范围内的一名角色B视为A对B使用一张【杀】。',
sp_default:"常规", sp_default:"常规",
sp_zhongdan:"忠胆英杰", sp_zhongdan:"忠胆英杰",

View File

@ -5841,7 +5841,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return Math.random(); return Math.random();
}, },
ai2:function(target){ ai2:function(target){
return 5-Math.max(4,target.countCards('h')); return Math.sqrt(5-Math.max(4,target.countCards('h')))*get.attitude(player,target);
}, },
}); });
} }

View File

@ -10851,7 +10851,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(event.name=='phaseDiscard'){ if(event.name=='phaseDiscard'){
var cards=[]; var cards=[];
player.getHistory('lose',function(evt){ player.getHistory('lose',function(evt){
if(evt&&evt.getParent('phaseDiscard')==event&&evt.hs) cards.addArray(evt.hs); if(evt&&evt.type=='discard'&&evt.getParent('phaseDiscard')==event&&evt.hs) cards.addArray(evt.hs);
}); });
return cards.length>1; return cards.length>1;
} }

View File

@ -1,5 +1,5 @@
window.noname_asset_list=[ window.noname_asset_list=[
'v1.9.109.2', 'v1.9.109.3',
'audio/background/aozhan_chaoming.mp3', 'audio/background/aozhan_chaoming.mp3',
'audio/background/aozhan_online.mp3', 'audio/background/aozhan_online.mp3',
'audio/background/aozhan_rewrite.mp3', 'audio/background/aozhan_rewrite.mp3',
@ -3807,6 +3807,10 @@ window.noname_asset_list=[
'image/character/sp_sunshao.jpg', 'image/character/sp_sunshao.jpg',
'image/character/sp_wangcan.jpg', 'image/character/sp_wangcan.jpg',
'image/character/sp_xunchen.jpg', 'image/character/sp_xunchen.jpg',
'image/character/liuqi.jpg',
'image/character/mengda.jpg',
'image/character/mifangfushiren.jpg',
'image/character/tangzi.jpg',
'image/character/baiwuchang.jpg', 'image/character/baiwuchang.jpg',
'image/character/baosanniang.jpg', 'image/character/baosanniang.jpg',

View File

@ -10011,6 +10011,7 @@
western:'西', western:'西',
key:'键', key:'键',
jin:'晋', jin:'晋',
double:'双',
wei2:'魏国', wei2:'魏国',
shu2:'蜀国', shu2:'蜀国',
wu2:'吴国', wu2:'吴国',
@ -10019,6 +10020,7 @@
western2:'西方', western2:'西方',
key2:'KEY', key2:'KEY',
jin2:'晋朝', jin2:'晋朝',
double2:'双势力',
male:'男', male:'男',
female:'女', female:'女',
mad:'混乱', mad:'混乱',
@ -25516,16 +25518,22 @@
}, },
sort:{ sort:{
character:function(a,b){ character:function(a,b){
var getGroup=function(name){
var group=get.is.double(name,true);
if(group) return group[0];
return lib.character[name][1];
}
var groupSort=function(name){ var groupSort=function(name){
if(!lib.character[name]) return 7; if(!lib.character[name]) return 7;
if(lib.character[name][1]=='shen') return -1; var group=getGroup(name);
if(lib.character[name][1]=='wei') return 0; if(group=='shen') return -1;
if(lib.character[name][1]=='shu') return 1; if(group=='wei') return 0;
if(lib.character[name][1]=='wu') return 2; if(group=='shu') return 1;
if(lib.character[name][1]=='qun') return 3; if(group=='wu') return 2;
if(lib.character[name][1]=='jin') return 4; if(group=='qun') return 3;
if(lib.character[name][1]=='key') return 5; if(group=='jin') return 4;
if(lib.character[name][1]=='western') return 6; if(group=='key') return 5;
if(group=='western') return 6;
return 7; return 7;
} }
var del=groupSort(a)-groupSort(b); var del=groupSort(a)-groupSort(b);
@ -34880,6 +34888,18 @@
} }
else button.node.group.style.backgroundColor=get.translation('weiColor'); else button.node.group.style.backgroundColor=get.translation('weiColor');
} }
var group=get.is.double(button.link,true);
if(group&&group.length==2){
var str='';
for(var i of group){
str+=get.translation(i);
}
button.node.group.innerHTML=str;
if(button.classList.contains('newstyle')){
button.node.name.dataset.nature=get.groupnature(group[0]);
button.node.group.dataset.nature=get.groupnature(group[1]);
}
}
}, },
div:function(){ div:function(){
var str,innerHTML,position,position2,style,divposition,listen; var str,innerHTML,position,position2,style,divposition,listen;
@ -37087,15 +37107,22 @@
} }
} }
alterableCharacters.sort(); alterableCharacters.sort();
var getGroup=function(name){
var group=get.is.double(name,true);
if(group) return group[0];
return lib.character[name][1];
};
var groupSort=function(name){ var groupSort=function(name){
if(info[name][1]=='shen') return -1; if(!lib.character[name]) return 7;
if(info[name][1]=='wei') return 0; var group=getGroup(name);
if(info[name][1]=='shu') return 1; if(group=='shen') return -1;
if(info[name][1]=='wu') return 2; if(group=='wei') return 0;
if(info[name][1]=='qun') return 3; if(group=='shu') return 1;
if(info[name][1]=='jin') return 4; if(group=='wu') return 2;
if(info[name][1]=='western') return 5; if(group=='qun') return 3;
if(info[name][1]=='key') return 6; if(group=='jin') return 4;
if(group=='key') return 5;
if(group=='western') return 6;
return 7; return 7;
} }
list.sort(function(a,b){ list.sort(function(a,b){
@ -42232,7 +42259,7 @@
// return ui.create.characterDialog2.apply(this,arguments); // return ui.create.characterDialog2.apply(this,arguments);
// } // }
// } // }
var filter,str,noclick,thisiscard,seperate,expandall,onlypack,heightset,precharacter; var filter,str,noclick,thisiscard,seperate,expandall,onlypack,heightset,precharacter,characterx;
for(var i=0;i<arguments.length;i++){ for(var i=0;i<arguments.length;i++){
if(arguments[i]==='thisiscard'){ if(arguments[i]==='thisiscard'){
thisiscard=true; thisiscard=true;
@ -42246,6 +42273,9 @@
else if(arguments[i]=='precharacter'){ else if(arguments[i]=='precharacter'){
precharacter=true; precharacter=true;
} }
else if(arguments[i]=='characterx'){
characterx=true;
}
else if(typeof arguments[i]=='string'&&arguments[i].indexOf('onlypack:')==0){ else if(typeof arguments[i]=='string'&&arguments[i].indexOf('onlypack:')==0){
onlypack=arguments[i].slice(9); onlypack=arguments[i].slice(9);
} }
@ -42514,6 +42544,7 @@
var bool1=false; var bool1=false;
var bool2=false; var bool2=false;
var bool3=(get.mode()=='guozhan'&&_status.forceKey!=true&&get.config('onlyguozhan')); var bool3=(get.mode()=='guozhan'&&_status.forceKey!=true&&get.config('onlyguozhan'));
var bool4=(get.mode()!='guozhan');
for(var i in lib.character){ for(var i in lib.character){
if(lib.character[i][1]=='shen'){ if(lib.character[i][1]=='shen'){
bool1=true; bool1=true;
@ -42521,10 +42552,12 @@
if(bool3||lib.character[i][1]=='key'){ if(bool3||lib.character[i][1]=='key'){
bool2=true; bool2=true;
} }
if(bool1&&bool2) break; if(!bool4&&get.is.double(i)) bool4=true;
if(bool1&&bool2&&bool4) break;
} }
if(bool1) groups.add('shen'); if(bool1) groups.add('shen');
if(bool2&&!bool3) groups.add('key'); if(bool2&&!bool3) groups.add('key');
if(bool4&&get.mode()=='guozhan') groups.add('double');
var natures=['water','soil','wood','metal']; var natures=['water','soil','wood','metal'];
var span=document.createElement('span'); var span=document.createElement('span');
newlined.appendChild(span); newlined.appendChild(span);
@ -42568,11 +42601,17 @@
else if(dialog.currentcapt2&&dialog.buttons[i].capt!=dialog.getCurrentCapt(dialog.buttons[i].link,dialog.buttons[i].capt,true)){ else if(dialog.currentcapt2&&dialog.buttons[i].capt!=dialog.getCurrentCapt(dialog.buttons[i].link,dialog.buttons[i].capt,true)){
dialog.buttons[i].classList.add('nodisplay'); dialog.buttons[i].classList.add('nodisplay');
} }
else if(dialog.buttons[i].group!=dialog.currentgroup){ else if(dialog.currentgroup=='double'){
dialog.buttons[i].classList.add('nodisplay'); if(dialog.buttons[i]._changeGroup) dialog.buttons[i].classList.remove('nodisplay');
else dialog.buttons[i].classList.add('nodisplay');
} }
else{ else{
dialog.buttons[i].classList.remove('nodisplay'); if(dialog.buttons[i]._changeGroup||dialog.buttons[i].group!=dialog.currentgroup){
dialog.buttons[i].classList.add('nodisplay');
}
else{
dialog.buttons[i].classList.remove('nodisplay');
}
} }
} }
} }
@ -42727,13 +42766,23 @@
}; };
} }
else{ else{
var getGroup=function(name){
var group=get.is.double(name,true);
if(group) return group[0];
return lib.character[name][1];
}
groupSort=function(name){ groupSort=function(name){
if(lib.character[name][1]=='shen') return -1; if(!lib.character[name]) return 7;
if(lib.character[name][1]=='wei') return 0; var group=getGroup(name);
if(lib.character[name][1]=='shu') return 1; if(group=='shen') return -1;
if(lib.character[name][1]=='wu') return 2; if(group=='wei') return 0;
if(lib.character[name][1]=='qun') return 3; if(group=='shu') return 1;
return 4 if(group=='wu') return 2;
if(group=='qun') return 3;
if(group=='jin') return 4;
if(group=='key') return 5;
if(group=='western') return 6;
return 7;
} }
} }
list.sort(function(a,b){ list.sort(function(a,b){
@ -42834,6 +42883,9 @@
if(precharacter){ if(precharacter){
dialog.add([list,'precharacter'],noclick); dialog.add([list,'precharacter'],noclick);
} }
else if(characterx){
dialog.add([list,'characterx'],noclick);
}
else{ else{
dialog.add([list,'character'],noclick); dialog.add([list,'character'],noclick);
} }
@ -43962,7 +44014,16 @@
} }
node.link=item; node.link=item;
if(type=='character'||type=='characterx'){ if(type=='character'||type=='characterx'){
if(type=='characterx'&&lib.characterReplace[node._link]&&lib.characterReplace[node._link].length>1) node._replaceButton=true; if(type=='characterx'&&item.indexOf('gz_')==0&&lib.character[item]&&lib.character[item][4]){
for(var ix of lib.character[item][4]){
if(ix.indexOf('doublegroup:')==0){
node._replaceButton=true;
node._changeGroup=ix.split(':').slice(1);
break;
}
}
}
else if(type=='characterx'&&lib.characterReplace[node._link]&&lib.characterReplace[node._link].length>1) node._replaceButton=true;
var func=function(node,item){ var func=function(node,item){
node.setBackground(item,'character'); node.setBackground(item,'character');
if(node.node){ if(node.node){
@ -44047,7 +44108,23 @@
node.node.replaceButton=intro; node.node.replaceButton=intro;
intro.innerHTML='切换'; intro.innerHTML='切换';
intro._node=node; intro._node=node;
intro.addEventListener(lib.config.touchscreen?'touchend':'click',function(){ if(node._changeGroup) intro.addEventListener(lib.config.touchscreen?'touchend':'click',function(){
_status.tempNoButton=true;
var node=this._node;
var list=node._changeGroup;
var link=lib.character[node.link][1];
var index=list.indexOf(link);
if(index==list.length-1) index=0;
else index++;
lib.character[node.link][1]=list[index];
node.refresh(node,node.link);
game.uncheck();
game.check();
setTimeout(function(){
delete _status.tempNoButton;
},200);
});
else intro.addEventListener(lib.config.touchscreen?'touchend':'click',function(){
_status.tempNoButton=true; _status.tempNoButton=true;
var node=this._node; var node=this._node;
var list=lib.characterReplace[node._link]; var list=lib.characterReplace[node._link];
@ -48663,6 +48740,16 @@
return 0; return 0;
}, },
is:{ is:{
double:function(name,array){
if(!lib.character[name]||!lib.character[name][4]||name.indexOf('gz_')!=0) return false;
for(var i of lib.character[name][4]){
if(i.indexOf('doublegroup:')==0){
if(!array) return true;
return i.split(':').slice(1);
}
}
return false;
},
yingbian:function(node){ yingbian:function(node){
return get.cardtag(node,'yingbian_zhuzhan')||get.cardtag(node,'yingbian_fujia')||get.cardtag(node,'yingbian_canqu')||get.cardtag(node,'yingbian_kongchao'); return get.cardtag(node,'yingbian_zhuzhan')||get.cardtag(node,'yingbian_fujia')||get.cardtag(node,'yingbian_canqu')||get.cardtag(node,'yingbian_kongchao');
}, },
@ -50580,6 +50667,15 @@
} }
return ''; return '';
}, },
strNumber:function(num){
switch(num){
case 1:return 'A';
case 11:return 'J';
case 12:return 'Q';
case 13:return 'K';
default:return num.toString();
}
},
cnNumber:function(num,two){ cnNumber:function(num,two){
if(num==Infinity) return '∞'; if(num==Infinity) return '∞';
if(isNaN(num)) return ''; if(isNaN(num)) return '';
@ -51810,7 +51906,16 @@
else if(node.classList.contains('character')){ else if(node.classList.contains('character')){
var character=node.link; var character=node.link;
if(lib.character[node.link]&&lib.character[node.link][1]){ if(lib.character[node.link]&&lib.character[node.link][1]){
uiintro.add(get.translation(character)+'&nbsp;&nbsp;'+lib.translate[lib.character[node.link][1]]); var group=get.is.double(node.link,true);
if(group){
var str=get.translation(character)+'&nbsp;&nbsp;';
for(var i=0;i<group.length;i++){
str+=get.translation(group[i]);
if(i<group.length-1) str+='/';
}
uiintro.add(str);
}
else uiintro.add(get.translation(character)+'&nbsp;&nbsp;'+lib.translate[lib.character[node.link][1]]);
} }
else{ else{
uiintro.add(get.translation(character)); uiintro.add(get.translation(character));

View File

@ -1,14 +1,14 @@
window.noname_update={ window.noname_update={
version:'1.9.109.2', version:'1.9.109.3',
update:'1.9.109.1', update:'1.9.109.2',
changeLog:[ changeLog:[
'魏王粲、陈震、孙邵、荀谌', '国战《不臣篇·上》',
'bug修复', 'bug修复',
], ],
files:[ files:[
//'card/extra.js', 'card/extra.js',
//'card/gujian.js', //'card/gujian.js',
//'card/guozhan.js', 'card/guozhan.js',
//'card/gwent.js', //'card/gwent.js',
//'card/huanlekapai.js', //'card/huanlekapai.js',
//'card/mtg.js', //'card/mtg.js',
@ -19,8 +19,8 @@ window.noname_update={
'card/yingbian.js', 'card/yingbian.js',
//'card/zhenfa.js', //'card/zhenfa.js',
//'card/zhulu.js', //'card/zhulu.js',
//'character/diy.js', 'character/diy.js',
'character/extra.js', //'character/extra.js',
//'character/hearth.js', //'character/hearth.js',
//'character/gujian.js', //'character/gujian.js',
//'character/gwent.js', //'character/gwent.js',
@ -29,17 +29,17 @@ window.noname_update={
//'character/mtg.js', //'character/mtg.js',
//'character/old.js', //'character/old.js',
//'character/ow.js', //'character/ow.js',
'character/rank.js', //'character/rank.js',
//'character/refresh.js', 'character/refresh.js',
//'character/shenhua.js', //'character/shenhua.js',
//'character/sp.js', 'character/sp.js',
'character/sp2.js', 'character/sp2.js',
//'character/tw.js', //'character/tw.js',
//'character/standard.js', //'character/standard.js',
//'character/swd.js', //'character/swd.js',
//'character/xianjian.js', //'character/xianjian.js',
//'character/xinghuoliaoyuan.js', //'character/xinghuoliaoyuan.js',
//'character/yijiang.js', 'character/yijiang.js',
//'character/yxs.js', //'character/yxs.js',
//'extension/boss/extension.js', //'extension/boss/extension.js',
//'layout/default/layout.css', //'layout/default/layout.css',
@ -55,7 +55,7 @@ window.noname_update={
//'mode/stone.js', //'mode/stone.js',
//'mode/tafang.js', //'mode/tafang.js',
//'mode/versus.js', //'mode/versus.js',
//'game/game.js', 'game/game.js',
//'game/keyWords.js', //'game/keyWords.js',
//'game/NoSleep.js', //'game/NoSleep.js',
//'game/config.js', //'game/config.js',

BIN
image/character/liuqi.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 165 KiB

BIN
image/character/mengda.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 155 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 144 KiB

BIN
image/character/tangzi.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 149 KiB

File diff suppressed because it is too large Load Diff