Merge pull request #504 from mengxinzxz/PR-Branch

新武将+bugfix
This commit is contained in:
Spmario233 2023-10-11 10:53:39 +08:00 committed by GitHub
commit a40cfd1cdf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 599 additions and 11 deletions

View File

@ -3872,7 +3872,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
dcqizi:{
mod:{
playerEnabled:function(card,player,target){
cardSavable:function(card,player,target){
if(get.distance(player,target)>2&&card.name=='tao'&&target==_status.event.dying) return false;
},
}

View File

@ -6,7 +6,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
connect:true,
characterSort:{
mobile:{
mobile_default:['xin_guozhao',"miheng","taoqian","lingcao","sunru","lifeng","zhuling","liuye","zhaotongzhaoguang","majun","simazhao","wangyuanji","pangdegong","shenpei","hujinding","zhangyì","jiakui","yangbiao","chendeng","dongcheng","yangyi","dengzhi","zhengxuan","sp_sufei","furong","dingyuan","simashi","yanghuiyu","hucheer","gongsunkang","nanhualaoxian","zhouqun","qiaozhou","fuqian","simafu","mayuanyi","yanpu","sunhanhua","sp_maojie","peixiu","sp_jianggan","ruanhui","xin_mamidi","sp_caosong","yangfu","wangjun","sp_pengyang","qianzhao",'shichangshi'],
mobile_default:['xin_wuban','laimin','baoxin','jiangji','liwei','xin_guozhao',"miheng","taoqian","lingcao","sunru","lifeng","zhuling","liuye","zhaotongzhaoguang","majun","simazhao","wangyuanji","pangdegong","shenpei","hujinding","zhangyì","jiakui","yangbiao","chendeng","dongcheng","yangyi","dengzhi","zhengxuan","sp_sufei","furong","dingyuan","simashi","yanghuiyu","hucheer","gongsunkang","nanhualaoxian","zhouqun","qiaozhou","fuqian","simafu","mayuanyi","yanpu","sunhanhua","sp_maojie","peixiu","sp_jianggan","ruanhui","xin_mamidi","sp_caosong","yangfu","wangjun","sp_pengyang","qianzhao",'shichangshi'],
mobile_yijiang:["yj_zhanghe","yj_zhangliao","yj_xuhuang","yj_ganning",'yj_huangzhong','yj_weiyan','yj_zhoubuyi'],
mobile_standard:["xin_xiahoudun","xin_zhangfei"],
mobile_shenhua_feng:['re_xiaoqiao',"xin_zhoutai"],
@ -26,6 +26,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
},
character:{
xin_wuban:['male','shu',4,['xinjintao'],['clan:陈留吴氏','character:wuban']],
baoxin:['male','qun',4,['mutao','yimou'],['character:tw_baoxin']],
jiangji:['male','wei',3,['twjichou','jilun'],['character:tw_jiangji']],
liwei:['male','shu',4,['jiaohua'],['character:tw_liwei','die:tw_liwei']],
laimin:['male','shu',3,['laishou','luanqun']],
yj_zhoubuyi:['male','wei',3,['mbhuiyao','mbquesong']],
xin_guozhao:['female','wei',3,['yichong','wufei']],
xin_zhangyi:['male','shu',4,['xinwurong','shizhi']],
@ -166,6 +171,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
scs_gaowang:['male','qun','',['scsmiaoyu'],['unseen','sex:male_castrated']],
},
characterIntro:{
laimin:'来敏165年—261年字敬达义阳新野人东汉太中大夫来歙之后司空来艳之子三国时期蜀汉官员。东汉末年逢董卓之乱来敏跟随姐夫黄琬到荆州避难黄琬是刘璋祖母的侄子来敏又与姐姐来氏入蜀被刘璋引为宾客。来敏喜欢读书尤其喜欢《左氏春秋》。刘备平定益州后以来敏为典学校尉后立太子来敏为家令。刘禅继位后任命来敏为虎贲中郎将诸葛亮驻汉中请来敏为军祭酒、辅军将军。却因其口出狂言而被罢官诸葛亮死后来敏历任大长秋、光禄大夫、执慎将军等职期间多次因说错话而被免官蜀汉景耀年间来敏去世时年九十七岁。',
shichangshi:'十常侍指中国东汉公元25年—220年灵帝时期168年-189年操纵政权的十二个宦官张让、赵忠、夏恽、郭胜、孙璋、毕岚、栗嵩、段珪、高望、张恭、韩悝、宋典在小说《三国演义》里十常侍指的是指张让、赵忠、封谞、段珪、曹节、侯览、蹇硕、程旷、夏恽、郭胜十人他们都任职中常侍。玩弄小皇帝于股掌之中以至灵帝称“张常侍是我父赵常侍是我母”。十常侍自己横征暴敛卖官鬻爵他们的父兄子弟遍布天下横行乡里祸害百姓无官敢管。人民不堪剥削、压迫纷纷起来反抗。当时一些比较清醒的官吏已看出宦官集团的黑暗腐败导致大规模农民起义的形势。郎中张钧在给皇帝的奏章中明确指出黄巾起义是外戚宦官专权逼出来的他说“张角所以能兴兵作乱万人所以乐附之者其源皆由十常侍多放父兄、子弟、婚宗、宾客典据州郡辜确财利侵略百姓百姓之怨无所告诉故谋议不轨聚为盗贼。”后被曹操、袁绍所歼。',
sunzhang:'孙璋(?-189年东汉末期汉灵帝的宦官官居中常侍为十常侍之一在张让、赵忠之下位居第三。光熹元年189年张让、赵忠、段珪等诛杀何进袁绍率军入宫诛杀孙璋。',
bilan:'毕岚—189东汉宦官十常侍之一。十常侍朋比为奸祸乱朝纲制造出党锢之祸后被袁绍诛杀。另外毕岚曾制造翻车用于取河水洒路。',
@ -380,6 +386,373 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
},
skill:{
//吴班
xinjintao:{
audio:'jintao',
inherit:'jintao',
content:function(){
var evt=trigger.getParent('phaseUse');
var index=player.getHistory('useCard',function(evtx){
return evtx.card.name=='sha'&&evtx.getParent('phaseUse')==evt;
}).indexOf(trigger);
if(index==0){
game.log(trigger.card,'不可被响应');
trigger.directHit.addArray(game.players);
}
else{
game.log(trigger.card,'伤害+1');
if(typeof trigger.baseDamage!='number') trigger.baseDamage=1;
trigger.baseDamage++;
}
},
},
//鲍信
mutao:{
audio:'twmutao',
inherit:'twmutao',
content:function(){
'step 0'
event.togive=target.getNext();
var cards=target.getCards('h',{name:'sha'});
if(!cards.length){
game.log('但',target,'没有','#y杀','');
event.finish();
}
else target.addToExpansion(cards,target,'give').gaintag.add('mutao');
'step 1'
var card=target.getExpansions('mutao').randomGet();
target.give(card,event.togive);
'step 2'
if(target.getExpansions('mutao').length){
event.togive=event.togive.getNext();
event.goto(1);
}
else{
target.line(event.togive);
event.togive.damage(Math.min(3,event.togive.countCards('h',{name:'sha'})),target);
}
},
intro:{
content:'expansion',
markcount:'expansion',
},
},
yimou:{
audio:'twyimou',
inherit:'twyimou',
content:function(){
'step 0'
if(trigger.player!=player) player.addExpose(0.3);
var target=get.translation(trigger.player);
var choiceList=[
'令'+target+'获得牌堆里的一张【杀】',
'令'+target+'将一张牌交给另一名角色,然后'+target+'摸两张牌',
];
var list=['选项一'];
if(trigger.player.countCards('h')) list.push('选项二');
else choiceList[1]='<span style="opacity:0.5">'+choiceList[1]+'</span>';
player.chooseControl(list).set('prompt','毅谋:请选择一项').set('choiceList',choiceList).set('ai',function(){
var evt=_status.event.getTrigger(),list=_status.event.list;
var player=_status.event.player;
var target=evt.player;
if(target.countCards('h')&&list.contains('选项二')) return '选项二';
return '选项一';
}).set('list',list);
'step 1'
event.choice=result.control;
'step 2'
if(event.choice!='选项二'){
var card=get.cardPile2(function(card){
return card.name=='sha';
});
if(card) trigger.player.gain(card,'gain2');
else game.log('但牌堆里已经没有','#y杀','了!');
if(event.choice=='选项一') event.finish();
}
'step 3'
if(event.choice!='选项一'){
if(trigger.player.countCards('h')) trigger.player.chooseCardTarget({
prompt:'将一张手牌交给另一名其他角色并摸两张牌',
filterCard:true,
forced:true,
filterTarget:lib.filter.notMe,
ai1:function(card){
return 1/Math.max(0.1,get.value(card));
},
ai2:function(target){
var player=_status.event.player,att=get.attitude(player,target);
if(target.hasSkillTag('nogain')) att/=9;
return 4+att;
},
});
else event.finish();
}
'step 4'
var target=result.targets[0];
trigger.player.line(target);
trigger.player.give(result.cards,target);
trigger.player.draw(2);
},
},
//蒋济
jilun:{
audio:'twjilun',
inherit:'twjilun',
filter:function(event,player){
return player.hasSkill('twjichou');
},
content:function(){
'step 0'
var num=Math.min(Math.max(1,player.getStorage('twjichou').length),5);
event.num=num;
var choices=['选项一'];
var choiceList=[
'摸'+get.cnNumber(num)+'张牌',
'获得一个“机论”标记',
];
if(!player.getStorage('twjichou').length||!player.getStorage('twjichou').filter(function(name){
return !player.getStorage('jilun').contains(name)&&player.hasUseTarget({name:name});
}).length) choiceList[1]='<span style="opacity:0.5">'+choiceList[1]+'</span>';
else choices.push('选项二');
player.chooseControl(choices,'cancel2').set('choiceList',choiceList).set('prompt',get.prompt('jilun')).set('ai',()=>{
if(_status.event.choiceList.length==1||!player.getStorage('twjichou').length) return 0;
var val=_status.event.num>3?Math.min(1.5,1+(_status.event.num-3)*0.1):1;
for(var name of player.getStorage('twjichou')){
if(player.getStorage('jilun').contains(name)) continue;
if(player.getUseValue({name:name})>4*val) return 1;
}
return 0;
}).set('num',num);
'step 1'
if(result.control!='cancel2'){
player.logSkill('jilun');
if(result.control=='选项一') player.draw(num);
else player.addMark('jilun_mark',1);
}
},
group:'jilun_effect',
subSkill:{
mark:{
intro:{content:'mark'},
},
effect:{
audio:'twjilun',
trigger:{global:'phaseJieshuBegin'},
filter:function(event,player){
return player.hasMark('jilun_mark');
},
forced:true,
content:function(){
'step 0'
if(!player.getStorage('twjichou').length||!player.getStorage('twjichou').filter(function(name){
return !player.getStorage('jilun').contains(name)&&player.hasUseTarget({name:name});
}).length){
if(player.hasMark('jilun_mark')) player.removeMark('jilun_mark',player.countMark('jilun_mark'));
event.finish();
return;
}
var list=[];
for(var name of player.getStorage('twjichou')){
if(!player.getStorage('jilun').contains(name)){
list.push(['锦囊','',name]);
}
}
player.chooseButton(['###机论:请选择你要执行的选项###<div class="text center"><li>失去1枚“机论”标记视为使用一张〖急筹〗已记录但〖机论〗未记录的普通锦囊牌<br><li>失去所有“机论”标记</div>',[list,'vcard']]).set('filterButton',function(button){
return _status.event.player.hasUseTarget({name:button.link[2]});
}).set('ai',function(button){
return _status.event.getParent().player.getUseValue({name:button.link[2]},null,true);
});
'step 1'
if(result.bool){
player.removeMark('jilun_mark',1);
var card={name:result.links[0][2],isCard:true};
player.chooseUseTarget(card,true);
player.markAuto('jilun',[card.name]);
player.syncStorage('jilun');
}
else{
player.removeMark('jilun_mark',player.countMark('jilun_mark'));
event.finish();
}
'step 2'
if(player.hasMark('jilun_mark')) event.goto(0);
},
},
},
},
//李遗
jiaohua:{
onremove:true,
audio:'twjiaohua',
enable:'phaseUse',
usable:3,
chooseButton:{
dialog:function(event,player){
return ui.create.dialog('###教化###选择一种牌的类型,令一名角色从牌堆获得此类型的一张牌');
},
chooseControl:function(event,player){
var list=['basic','trick','equip'].filter(type=>!player.getStorage('jiaohua').contains(type));
list.push('cancel2');
return list;
},
check:function(event,player){
var list=['trick','equip','basic'].filter(type=>!player.getStorage('jiaohua').contains(type));
return list[0];
},
backup:function(result,player){
return{
type:result.control,
audio:'twjiaohua',
filterTarget:true,
content:function(){
'step 0'
var type=lib.skill.jiaohua_backup.type;
var card=get.cardPile2(card=>get.type2(card)==type);
if(card) target.gain(card,'gain2');
else game.log('但牌堆里已经没有','#y'+get.translation(type)+'牌','了!');
'step 1'
player.markAuto('jiaohua',[lib.skill.jiaohua_backup.type]);
'step 2'
if(!['basic','trick','equip'].some(type=>!player.getStorage('jiaohua').contains(type))){
player.popup('教化');
player.unmarkAuto('jiaohua',player.getStorage('jiaohua'));
game.log(player,'清空了','#g【教化】','记录');
}
},
ai:{
result:{target:1},
},
}
},
prompt:function(result,player){
return '令一名角色从牌堆中获得一张'+get.translation(result.control)+'牌';
},
},
ai:{
order:7,
result:{player:1},
},
intro:{content:'已记录$牌'},
},
//来敏
laishou:{
audio:2,
trigger:{player:['damageBegin4','phaseZhunbeiBegin']},
filter:function(event,player){
var num=9;
if(event.name=='damage') return event.num>=player.getHp()&&player.maxHp<num;
return player.maxHp>=num;
},
forced:true,
content:function(){
if(trigger.name=='damage'){
player.gainMaxHp(trigger.num);
trigger.cancel();
}
else player.die();
},
},
luanqun:{
audio:2,
enable:'phaseUse',
filter:function(event,player){
return player.countCards('h');
},
usable:1,
content:function(){
'step 0'
var targets=game.filterPlayer(current=>current.countCards('h')).sortBySeat();
event.targets=targets;
var next=player.chooseCardOL(targets,'乱群:请选择要展示的牌',true).set('ai',function(card){
return -get.value(card);
}).set('source',player);
next.aiCard=function(target){
var hs=target.getCards('h');
return {bool:true,cards:[hs.randomGet()]};
};
next._args.remove('glow_result');
'step 1'
var cards=[];
event.videoId=lib.status.videoId++;
for(var i=0;i<targets.length;i++) cards.push(result[i].cards[0]);
event.cards=cards;
game.log(player,'展示了',targets,'的',cards);
game.broadcastAll(function(targets,cards,id,player){
var dialog=ui.create.dialog(get.translation(player)+'发动了【乱群】',cards);
dialog.videoId=id;
var getName=function(target){
if(target._tempTranslate) return target._tempTranslate;
var name=target.name;
if(lib.translate[name+'_ab']) return lib.translate[name+'_ab'];
return get.translation(name);
}
for(var i=0;i<targets.length;i++){
dialog.buttons[i].querySelector('.info').innerHTML=getName(targets[i])+get.translation(cards[i].suit);
}
},targets,cards,event.videoId,player);
game.delay(4);
'step 2'
game.broadcastAll('closeDialog',event.videoId);
var card=cards[targets.indexOf(player)];
var cardx=cards.filter(cardy=>cardy!=card&&get.color(cardy,targets[cards.indexOf(cardy)])==get.color(card,player));
if(cardx.length){
player.chooseButton(['乱群:是否获得其中的一张牌',cardx]).set('forceAuto',true).set('ai',function(button){
var cards=_status.event.list[0];
var targets=_status.event.list[1];
var player=_status.event.player;
if(get.attitude(player,targets[cards.indexOf(button.link)])) return 0;
return get.value(button.link,player);
}).set('list',[cards,targets]);
}
else event.goto(4);
'step 3'
if(result.bool){
var card=result.links[0];
player.gain(card,get.owner(card),'give');
}
'step 4'
var card=cards[targets.indexOf(player)];
targets=targets.filter(target=>get.color(cards[targets.indexOf(target)],target)!=get.color(card,player));
if(targets.length){
player.line(targets);
targets.forEach(target=>{
target.addTempSkill('luanqun_effect',{player:'phaseUseAfter'});
target.markAuto('luanqun_effect',[player]);
});
}
},
ai:{
order:9,
result:{
player:function(player,target){
if(player.hasSkill('laishou')) return 1;
return player.hp>=2?1:0;
},
},
},
subSkill:{
effect:{
charlotte:true,
onremove:true,
intro:{content:'出牌阶段第一张【杀】只能指定$为目标,且此牌不可被响应'},
mod:{
playerEnabled:function(card,player,target){
if(!player.isPhaseUsing()) return;
if(card.name=='sha'&&player.getStorage('luanqun_effect').contains(target)) return false;
},
},
trigger:{player:'useCard1'},
filter:function(event,player){
return player.isPhaseUsing()&&event.card.name=='sha';
},
forced:true,
content:function(){
trigger.directHit.addArray(player.getStorage('luanqun_effect'));
player.removeSkill('luanqun_effect');
},
},
},
},
//☆周不疑
mbhuiyao:{
audio:2,
@ -542,7 +915,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
player.markSkill('yichong');
game.broadcastAll(function(player,suit){
if(player.marks.yichong) player.marks.yichong.firstChild.innerHTML=get.translation(suit);
},player,suit)
},player,suit);
if(target.countCards('he',{suit:suit})) player.gain(target.getCards('he',{suit:suit}),target,'giveAuto');
game.countPlayer(function(current){
current.removeSkill('yichong_'+player.playerid);
@ -14890,6 +15263,26 @@ game.import('character',function(lib,game,ui,get,ai,_status){
re_chenqun_prefix:'手杀',
old_yuanshu:'手杀袁术',
old_yuanshu_prefix:'手杀',
baoxin:'鲍信',
mutao:'募讨',
mutao_info:'出牌阶段限一次。你可以选择一名角色令其将手牌中所有的【杀】置于武将牌上然后将这些牌依次随机交给其下家开始的每一名角色。然后其对最后一名以此法获得【杀】的角色A造成X点伤害X为A手牌中【杀】的数量且至多为3。',
yimou:'毅谋',
yimou_info:'当一名角色受到伤害后若其存活且你至其的距离不大于1你可以选择一项1.令其从牌堆中获得一张【杀】2.令其将一张手牌交给另一名角色并摸两张牌。',
jiangji:'蒋济',
jilun:'机论',
jilun_info:'①当你受到伤害后若你拥有技能〖急筹〗则你可以一项1.摸X张牌X为〖急筹①〗记录数且X且至少为1至多为5。2.获得1枚“机论”标记。②一名角色的结束阶段若你拥有“机论”则重复选择执行以下项直到你没有“机论”标记1.失去1枚“机论”标记视为使用一张〖急筹①〗记录过且未被〖机论②〗记录过的普通锦囊牌并记录此牌牌名。2.失去所有“机论”标记。',
liwei:'李遗',
jiaohua:'教化',
jiaohua_backup:'教化',
jiaohua_info:'出牌阶段限三次,你可以选择一个未被〖教化〗记录过的牌的类型,令一名角色从牌堆中获得一张此类型的牌,然后记录此类型,若基本、锦囊、装备均已被你发动〖教化〗记录,则你清空〖教化〗记录。',
laimin:'来敏',
laishou:'来寿',
laishou_info:'锁定技。①当你受到伤害值大于等于你的体力值的伤害时若你的体力上限小于9你防止此伤害并增加等量体力上限。②准备阶段若你的体力上限不小于9你死亡。',
luanqun:'乱群',
luanqun_info:'出牌阶段限一次,若你有手牌,则你可以令所有有手牌的角色同时展示一张手牌,然后你可以获得其中一张与你展示的牌颜色相同的展示牌,所有本次展示牌颜色与你展示的牌颜色不同的角色的下个出牌阶段使用的第一张【杀】只能对你使用,且此【杀】不可被响应。',
xin_wuban:'吴班',
xinjintao:'进讨',
xinjintao_info:'锁定技,你使用【杀】无距离限制且次数上限+1。你于出牌阶段内使用的第一张【杀】不可被响应第二张【杀】伤害+1。',
mobile_standard:'手杀异构·标准包',
mobile_shenhua_feng:'手杀异构·其疾如风',

View File

@ -38,6 +38,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
sb_liubiao:['male','qun',3,['sbzishou','sbzongshi']],
sb_zhurong:['female','shu',4,['sblieren','sbjuxiang']],
sb_menghuo:['male','shu',4,['sbhuoshou','sbzaiqi']],
sb_yl_luzhi:['male','qun',3,['nzry_mingren','sbzhenliang']],
sb_xiaoqiao:['female','wu',3,['sbtianxiang','xinhongyan']],
},
characterSort:{
sb:{
@ -49,6 +51,185 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
},
skill:{
//卢植
sbzhenliang:{
mark:true,
locked:false,
zhuanhuanji:true,
marktext:'☯',
intro:{
content:function(storage,player){
if(storage) return '你的回合外,一名角色使用或打出牌结算完成后,若此牌与“任”类别相同,则你可以令一名角色摸一张牌。';
return '出牌阶段限一次你可以弃置一张与“任”颜色相同的牌并对攻击范围内的一名角色造成1点伤害。';
},
},
audio:2,
enable:'phaseUse',
filter:function(event,player){
if(player.storage.sbzhenliang) return false;
var storage=player.getExpansions('nzry_mingren');
if(!storage.length) return false;
var color=get.color(storage[0]);
return game.hasPlayer(function(current){
return player.inRange(current)&&player.countCards('he',function(card){
return get.color(card)==color;
})>=Math.max(1,Math.abs(player.getHp()-current.getHp()));
});
},
filterCard:function(card,player){
return get.color(card)==get.color(player.getExpansions('nzry_mingren')[0]);
},
selectCard:[1,Infinity],
complexSelect:true,
complexCard:true,
position:'he',
filterTarget:function(card,player,target){
return player.inRange(target)&&ui.selected.cards.length==Math.max(1,Math.abs(player.getHp()-target.getHp()));
},
check:function(card){
return 6.5-get.value(card);
},
prompt:'弃置与攻击范围内的一名角色体力值之差至少为1张与“任”颜色相同的牌对其造成1点伤害。',
content:function(){
player.changeZhuanhuanji('sbzhenliang');
target.damage('nocard');
},
ai:{
order:5,
result:{
player:function(player,target){
return get.damageEffect(target,player,player);
},
},
},
group:'sbzhenliang_draw',
subSkill:{
draw:{
trigger:{global:['useCardAfter','respondAfter']},
filter:function(event,player){
if(_status.currentPhase==player||!player.storage.sbzhenliang) return false;
var card=player.getExpansions('nzry_mingren')[0];
return card&&get.type2(event.card)==get.type2(card);
},
direct:true,
content:function(){
'step 0'
player.chooseTarget(get.prompt('sbzhenliang'),'令一名角色摸一张牌').set('ai',function(target){
if(target.hasSkillTag('nogain')) return 0.1;
var att=get.attitude(player,target);
return att*(Math.max(5-target.countCards('h'),2)+3);
});
'step 1'
if(result.bool){
var target=result.targets[0];
player.changeZhuanhuanji('sbzhenliang');
player.logSkill('sbzhenliang',target);
target.draw();
}
},
},
},
ai:{combo:'nzry_mingren'},
},
//小乔
sbtianxiang:{
audio:2,
enable:'phaseUse',
filter:function(event,player){
return player.countCards('he',card=>lib.skill.sbtianxiang.filterCard(card,player))&&game.hasPlayer(target=>lib.skill.sbtianxiang.filterTarget(null,player,target));
},
filterCard:function(card,player){
return get.color(card,player)=='red';
},
filterTarget:function(card,player,target){
return target!=player&&!target.getSkills().some(skill=>skill.indexOf('sbtianxiang_')==0);
},
discard:false,
lose:false,
delay:0,
usable:3,
prompt:'将一张红色牌交给一名角色并令其获得此花色的“天香”标记',
content:function(){
player.give(cards,target);
var suit=get.suit(cards[0],player);
target.addSkill('sbtianxiang_'+suit);
},
ai:{
order:5,
result:{target:-1},
},
group:['sbtianxiang_draw','sbtianxiang_effect'],
subSkill:{
heart:{
charlotte:true,
mark:true,
marktext:'♥︎',
intro:{content:'伤害转移术'},
},
diamond:{
charlotte:true,
mark:true,
marktext:'♦︎',
intro:{content:'掳掠大法'},
},
draw:{
audio:'sbtianxiang',
trigger:{player:'phaseZhunbeiBegin'},
filter:function(event,player){
return game.hasPlayer(target=>target.getSkills().some(skill=>skill.indexOf('sbtianxiang_')==0));
},
forced:true,
locked:false,
content:function(){
var num=0;
game.countPlayer(target=>{
var skills=target.getSkills().filter(skill=>skill.indexOf('sbtianxiang_')==0);
target.removeSkill(skills);
num+=skills.length;
});
player.draw(num);
},
},
effect:{
trigger:{player:'damageBegin3'},
filter:function(event,player){
return game.hasPlayer(target=>target.getSkills().some(skill=>skill.indexOf('sbtianxiang_')==0));
},
direct:true,
content:function(){
'step 0'
player.chooseTarget(get.prompt('sbtianxiang'),'移去一名角色的“天香”标记并执行相应效果',function(card,player,target){
return target.getSkills().some(skill=>skill.indexOf('sbtianxiang_')==0);
}).set('ai',target=>{
var player=_status.event.player;
return -get.attitude(player,target)*target.getSkills().filter(skill=>skill.indexOf('sbtianxiang_')==0).length;
});
'step 1'
if(result.bool){
var target=result.targets[0];
event.target=target;
player.logSkill('sbtianxiang',target);
var skills=target.getSkills().filter(skill=>skill.indexOf('sbtianxiang_')==0);
target.removeSkill(skills);
if(skills.contains('sbtianxiang_heart')){
target.damage(trigger.source?trigger.source:'nosource');
trigger.cancel();
}
if(skills.contains('sbtianxiang_diamond')){
var cards=target.getCards('he');
if(!cards.length) event.finish();
else if(cards.length<=2) event._result={bool:true,cards:cards};
else target.chooseCard('he',2,'天香:交给'+get.translation(player)+'两张牌',true);
}
else event.finish();
}
else event.finish();
'step 2'
if(result.bool) player.gain(result.cards,target,'giveAuto');
},
},
},
},
//张郃
sbqiaobian:{
audio:2,
@ -4936,6 +5117,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
sb_zhanghe:'谋张郃',
sbqiaobian:'巧变',
sbqiaobian_info:'每回合限一次。①你可以失去1点体力并跳过判定阶段将判定区的所有牌移动给一名其他角色无法置入其判定区的牌改为弃置之。②你可以跳过摸牌阶段于下个准备阶段摸两张牌并回复1点体力。③你可以将手牌数弃置至六张若手牌数少于六张则跳过之并跳过出牌阶段和弃牌阶段然后移动场上的一张牌。',
sb_yl_luzhi:'谋卢植',
sb_yl_luzhi_prefix:'谋',
sbzhenliang:'贞良',
sbzhenliang_info:'转换技。阴出牌阶段限一次你可以弃置X张与“任”颜色相同的牌并对攻击范围内的一名角色造成1点伤害X为你与其体力值值差且X至少为1。阳你的回合外一名角色使用或打出牌结算完成后若此牌与“任”类别相同则你可以令一名角色摸一张牌。',
sb_xiaoqiao:'谋小乔',
sb_xiaoqiao_prefix:'谋',
sbtianxiang:'天香',
sbtianxiang_info:'①出牌阶段限三次你可以交给一名没有“天香”标记的其他角色一张红色牌然后令其获得此牌花色的“天香”标记。②当你受到伤害时你可以移去一名角色的“天香”标记若此“天香”标记为红桃你防止此伤害其受到伤害来源对其造成的1点伤害若没有伤害来源则改为无来源伤害方片其交给你两张牌。③准备阶段你移去场上所有的“天香”标记然后摸等量的牌。',
sb_zhi:'谋攻篇·知',
sb_shi:'谋攻篇·识',

View File

@ -2270,6 +2270,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
nzry_mingren:{
audio:"nzry_mingren_1",
audioname:['sb_yl_luzhi'],
marktext:"任",
intro:{
content:'expansion',
@ -2283,6 +2284,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
subSkill:{
1:{
audio:2,
audioname:['sb_yl_luzhi'],
trigger:{
global:'phaseBefore',
player:'enterGame',
@ -2307,7 +2309,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
},
2:{
audio:2,
trigger:{
player:'phaseJieshuBegin',
},
@ -2317,7 +2318,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
direct:true,
content:function(){
'step 0'
player.chooseCard('h','是否用一张手牌替换“任”('+get.translation(player.getExpansions('nzry_mingren')[0])+'').set('ai',function(card){
player.chooseCard('h',get.prompt('nzry_mingren'),'选择一张手牌替换“任”('+get.translation(player.getExpansions('nzry_mingren')[0])+'').set('ai',function(card){
var player=_status.event.player;
var color=get.color(card);
if(color==get.color(player.getExpansions('nzry_mingren')[0])) return false;
@ -6922,6 +6923,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
xinhongyan:{
audio:2,
audioname:['sb_xiaoqiao'],
mod:{
suit:function(card,suit){
if(suit=='spade') return 'heart';

View File

@ -14145,7 +14145,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
equan_info:'锁定技。①当有角色于你的回合内受到伤害后其获得X枚“毒”X为伤害值。②准备阶段你令所有拥有“毒”标记的角色移去所有“毒”标记并失去等量的体力。③当有角色因〖恶泉②〗进入濒死状态时你令其所有技能失效直到回合结束。',
manji:'蛮汲',
manji_info:'锁定技。其他角色失去体力后若你的体力值不大于该角色你回复1点体力不小于该角色你摸一张牌。',
wuban:'吴班',
wuban:'TW吴班',
wuban_prefix:'TW',
jintao:'进讨',
jintao_info:'锁定技,你使用【杀】无距离限制且次数上限+1。你于出牌阶段内使用的第一张【杀】伤害+1第二张【杀】不可被响应。',
yuejiu:'TW乐就',
@ -14301,7 +14302,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
twbingde_info:'出牌阶段限一次。你可以选择一个本阶段未选择过的花色并弃置一张牌,你摸等同于本阶段你使用此花色的牌数,然后若你以此法弃置的牌的花色与你选择的花色相同,你令你〖秉德〗于此阶段发动的次数上限+1。',
twqingtao:'清滔',
twqingtao_info:'①摸牌阶段结束时,你可以重铸一张牌。若此牌为【酒】或非基本牌,你摸一张牌。②结束阶段,若你本回合未发动〖清滔①〗,你可以发动〖清滔①〗。',
tw_jiangji:'蒋济',
tw_jiangji:'TW蒋济',
tw_jiangji_prefix:'TW',
twjichou:'急筹',
twjichou_info:'①每回合限一次。你可以视为使用一张未被〖急筹①〗记录过的普通锦囊牌并记录此牌。②你无法响应或{使用对应实体牌包含你的手牌的}〖急筹①〗记录过的锦囊牌。③出牌阶段限一次。你可将手牌中的一张〖急筹①〗记录过的锦囊牌交给其他角色。',
twjilun:'机论',
@ -14334,7 +14336,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
twxiongzheng_info:'一轮游戏开始时①若你上一轮发动过〖雄争〗且选择过“雄争”角色你可以选择一项1.视为对任意名上一轮内未对“雄争”角色造成过伤害的角色依次使用一张【杀】2.令任意名上一轮对“雄争”角色造成过伤害的角色摸两张牌。②你可以选择一名未以此法选择过的角色,称为“雄争”角色。',
twluannian:'乱年',
twluannian_info:'主公技。其他群势力角色的出牌阶段限一次。其可以弃置X张牌并对“雄争”角色造成1点伤害X为所有角色于本轮发动〖乱年〗的次数+1。',
tw_baoxin:'鲍信',
tw_baoxin:'TW鲍信',
tw_baoxin_prefix:'TW',
twmutao:'募讨',
twmutao_info:'出牌阶段限一次。你可以选择一名角色令其将手牌中所有的【杀】依次交给其下家开始的每一名角色。然后其对最后一名以此法获得【杀】的角色A造成X点伤害X为A手牌中【杀】的数量且至多为2。',
twyimou:'毅谋',
@ -14499,7 +14502,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
tw_liuzhang_prefix:'TW',
twyaohu:'邀虎',
twyaohu_info:'每轮限一次。回合开始时你须选择场上的一个势力。该势力的角色的出牌阶段开始时其获得你的一张“生”然后其须选择一项1.对你指定的另一名的其他角色使用一张【杀】无距离限制2.本回合其使用伤害牌指定你为目标时须交给你两张牌,否则取消此目标。',
tw_liwei:'李遗',
tw_liwei:'TW李遗',
tw_liwei_prefix:'TW',
twjiaohua:'教化',
twjiaohua_info:'当你或体力值最小的其他角色因摸牌而得到牌后,你可以令该角色从牌堆或弃牌堆中获得一张本次未获得的类别的牌(每种类别每回合限一次)。',
tw_yanxiang:'阎象',

View File

@ -12802,7 +12802,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
audio:2,
enable:'phaseUse',
filter:function(event,player){
return true;//player.countCards('h')>player.maxHp;
return player.countCards('h')>player.maxHp;
},
usable:1,
content:function(){
@ -14508,7 +14508,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
olddanshou_info:'当你造成伤害后,你可以摸一张牌。若如此做,终止一切结算,当前回合结束。',
xindanshou_info:'①每回合限一次当你成为基本牌或锦囊牌的目标后你可以摸X张牌X为你本回合内成为过基本牌或锦囊牌的目标的次数。②一名其他角色的结束阶段若你本回合内没有发动过〖胆守①〗则你可以弃置X张牌并对其造成1点伤害X为其手牌数无牌则不弃。',
yizhong_info:'锁定技,当你的防具栏为空时,黑色的【杀】对你无效',
xinzhan_info:'出牌阶段限一次,你可以观看牌堆顶的3张牌然后展示其中任意数量♥的牌并获得之。',
xinzhan_info:'出牌阶段限一次,若你的手牌数大于你的体力上限,你可以观看牌堆顶的三张牌,然后展示其中任意红桃牌并获得之。',
huilei_info:'锁定技,当你死亡时,杀死你的角色弃置所有的牌。',
enyuan_info:'锁定技。①当其他角色令你回复1点体力后该角色摸一张牌。②当其他角色对你造成伤害后其须交给你一张♥手牌否则失去1点体力。',
xuanhuo_info:'出牌阶段限一次,你可以将一张红桃手牌交给一名其他角色,获得该角色的一张牌,然后交给除该角色外的一名其他角色',