This commit is contained in:
Spmario233 2021-11-07 13:45:48 +08:00
parent f1d5dbc1d2
commit b7cd766440
35 changed files with 598 additions and 42 deletions

BIN
audio/die/dufuren.mp3 Normal file

Binary file not shown.

BIN
audio/die/lvlingqi.mp3 Normal file

Binary file not shown.

BIN
audio/die/ol_wangrong.mp3 Normal file

Binary file not shown.

BIN
audio/skill/guowu1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/guowu2.mp3 Normal file

Binary file not shown.

BIN
audio/skill/olfengzi1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/olfengzi2.mp3 Normal file

Binary file not shown.

BIN
audio/skill/olfusong1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/olfusong2.mp3 Normal file

Binary file not shown.

BIN
audio/skill/oljizhan1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/oljizhan2.mp3 Normal file

Binary file not shown.

BIN
audio/skill/shunshi1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/shunshi2.mp3 Normal file

Binary file not shown.

BIN
audio/skill/yise1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/yise2.mp3 Normal file

Binary file not shown.

BIN
audio/skill/zhuangrong1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/zhuangrong2.mp3 Normal file

Binary file not shown.

View File

@ -8649,6 +8649,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
usedu:true,
save:true,
skillTagFilter:function(player,tag,target){
if(tag=='usedu') return player.isDamaged();
return player==target&&player.hasUsableCard('du')&&!player.hasSkill('lucia_duqu_terra');
},
},

View File

@ -128,7 +128,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
hujinding:['female','shu','2/6',['renshi','wuyuan','huaizi']],
re_zhanggong:['male','wei',3,['reqianxin','rezhenxing']],
re_xugong:['male','wu',3,['rebiaozhao','yechou']],
re_xugong:['male','qun',3,['rebiaozhao','yechou']],
re_weiwenzhugezhi:['male','wu',4,['refuhai']],
xin_yuanshao:['male','qun',4,['reluanji','xueyi'],['zhu']],

View File

@ -255,6 +255,7 @@ window.noname_character_rank={
'caochun',
'xin_caifuren',
'shen_xunyu',
'ol_wangrong',
'key_misuzu',
'key_sunohara',
'key_umi',
@ -473,6 +474,7 @@ window.noname_character_rank={
'ns_yanghu',
'ns_zhangning',
'huangchengyan',
'lvlingqi',
'zhongyan',
'wangling',
'zhouchu',
@ -703,6 +705,7 @@ window.noname_character_rank={
'ol_lusu',
'zhangzhongjing',
'db_wenyang',
'dufuren',
],
b:[
'diy_feishi',
@ -1405,6 +1408,7 @@ window.noname_character_rank={
're_panshu',
'db_wenyang',
'qiaozhou',
'lvlingqi',
'key_kano',
'key_haruko',
'key_akiko',
@ -1741,6 +1745,8 @@ window.noname_character_rank={
'jiachong',
'ol_lusu',
'xin_sunluban',
'ol_wangrong',
'dufuren',
],
junk:[
'sunshao',

View File

@ -6134,7 +6134,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
intro:{
content:function(storage,player,skill){
var str='<li>锁定技你不能于〖蛊惑〗的结算流程中进行质疑。当你的体力值不大于1时你的其他技能失效。';
var list=player.getSkills(null,null,false).filter(function(i){
var list=player.getSkills(null,false,false).filter(function(i){
return lib.skill.rechanyuan.skillBlocker(i,player);
});
if(list.length) str+=('<br><li>失效技能:'+get.translation(list))

View File

@ -7193,7 +7193,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
intro:{
content:function(storage,player,skill){
var str='<li>锁定技你不能质疑于吉只要你的体力值为1你的其他技能便全部失效。';
var list=player.getSkills(null,null,false).filter(function(i){
var list=player.getSkills(null,false,false).filter(function(i){
return lib.skill.rechanyuan.skillBlocker(i,player);
});
if(list.length) str+=('<br><li>失效技能:'+get.translation(list))

View File

@ -16,7 +16,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
characterFilter:{},
character:{
ol_wangrong:['female','qun',3,['olfengzi','oljizhan','olfusong'],['unseen']],
ol_wangrong:['female','qun',3,['olfengzi','oljizhan','olfusong']],
ol_dengzhi:['male','shu',3,['olxiuhao','olsujian']],
bianfuren:['female','wei',3,['fuwei','yuejian']],
duxi:['male','wei',3,['quxi','bixiong']],
@ -413,8 +413,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(player!=game.me&&!player.isUnderControl()&&!player.isOnline()) game.delayx();
var type=get.type(trigger.card,false);
player.chooseToDiscard('h',get.prompt('olfengzi'),'弃置一张'+get.translation(type)+'牌,令'+get.translation(trigger.card)+'结算两次',function(card,player){
return get.type(card,player)==_status.event.type;
}).set('type',type).logSkill='olfengzi';
return get.type2(card,player)==_status.event.type;
}).set('type',type).set('ai',()=>-1).logSkill='olfengzi';
'step 1'
if(result.bool){
player.addTempSkill('olfengzi_buff','phaseUseAfter');
@ -454,7 +454,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
player.showCards(card,get.translation(player)+'发动了【吉占】');
'step 1'
var str=get.strNumber(num);
player.chooseControl('大于'+str,'小于'+str,'cancel2').set('prompt','吉占:猜测下一张牌的点数');
player.chooseControl('大于'+str,'小于'+str,'cancel2').set('prompt','吉占:猜测下一张牌的点数').set('choice',num<7?0:1).set('ai',()=>_status.event.choice);
'step 2'
var card=get.cards()[0];
game.cardsGotoOrdering(card);
@ -485,13 +485,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
'step 0'
player.chooseTarget(get.prompt('olfusong'),'令一名体力上限大于你的其他角色获得〖丰姿〗或〖吉占〗',function(card,player,target){
return target.maxHp>player.maxHp;
}).set('forceDie',true);
}).set('forceDie',true).set('ai',(target)=>get.attitude(_status.event.player,target));
'step 1'
if(result.bool){
var target=result.targets[0];
event.target=target;
player.logSkill('olfusong',target);
player.chooseControl('olfengzi','oljizhan').set('prompt','令'+get.translation(target)+'获得其中一个技能');
player.chooseControl('olfengzi','oljizhan').set('prompt','令'+get.translation(target)+'获得其中一个技能').set('ai',()=>(Math.random()>0.5?0:1));
}
else event.finish();
'step 2'

View File

@ -4,6 +4,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
name:'sp2',
connect:true,
character:{
lvlingqi:['female','qun',4,['guowu','zhuangrong']],
dufuren:['female','wei',3,['yise','shunshi']],
zhanghu:['male','wei',4,['cuijian','tongyuan']],
caoanmin:['male','wei',4,['xianwei']],
re_panshu:['female','wu',3,['zhiren','yaner']],
@ -54,7 +56,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
xingdaorong:['male','qun','4/6',['xuxie']],
lijue:["male","qun","4/6",["xinfu_langxi","xinfu_yisuan"],[]],
zhangji:["male","qun",4,["xinfu_lveming","xinfu_tunjun"],[]],
fanchou:["male","qun",4,["xinfu_xingluan"],[]],
fanchou:["male","qun",4,["xinxingluan"],[]],
guosi:["male","qun",4,["xinfu_tanbei","xinfu_sidao"],[]],
lvkai:["male","shu",3,["xinfu_tunan","xinfu_bijing"],[]],
zhanggong:["male","wei",3,["xinfu_zhenxing","xinfu_qianxin"],[]],
@ -102,10 +104,428 @@ game.import('character',function(lib,game,ui,get,ai,_status){
sp_fadong:['ol_dingyuan','wangrong','re_quyi','hanfu'],
sp_xuzhou:['re_taoqian','caosong','zhangmiao','qiuliju'],
sp_zhongyuan:['re_hucheer','re_zoushi','caoanmin'],
sp_decade:['wulan','leitong','huaman','wangshuang','wenyang','re_liuzan','caobuxing','re_maliang','xin_baosanniang','re_xinxianying','dongxie','guozhao','fanyufeng','ruanyu','liangxing','re_niujin','re_dongzhao','re_dongcheng','yangwan','heyan','re_panshu','zhanghu'],
sp_decade:['wulan','leitong','huaman','wangshuang','wenyang','re_liuzan','caobuxing','re_maliang','xin_baosanniang','re_xinxianying','dongxie','guozhao','fanyufeng','ruanyu','liangxing','re_niujin','re_dongzhao','re_dongcheng','yangwan','heyan','re_panshu','zhanghu','dufuren'],
}
},
skill:{
//樊稠
xinxingluan:{
audio:'xinfu_xingluan',
usable:1,
trigger:{player:'useCardAfter'},
direct:true,
filter:function(event,player){
return player.isPhaseUsing();
},
content:function(){
'step 0'
var list=['观看牌堆中两张点数为6的牌并获得其中一张'];
event.addIndex=1;
var bool2=false,bool3=game.hasPlayer(function(current){
if(current!=player&&current.countCards('he')>0) bool2=true;
return current.hasCard(function(card){
return get.number(card)==6&&lib.filter.canBeGained(card,current,player);
},'ej');
});
if(bool2){
event.addIndex=0;
list.push('令一名其他角色弃置一张点数为6的牌或交给你一张牌');
}
if(bool3) list.push('获得场上一张点数为6的牌');
player.chooseControl('cancel2').set('choiceList',list).set('prompt',get.prompt('xinxingluan')).set('ai',function(){
var player=_status.event.player;
if(game.hasPlayer(function(current){
if(current==player) return false;
var att=-get.sgn(get.attitude(player,current)-0.1);
return current.hasCard(function(card){
return get.number(card)==6&&lib.filter.canBeGained(card,current,player)&&get.sgn(get.useful(card,current))==att;
},'ej');
})) return 2-_status.event.getParent().addIndex;
if(game.hasPlayer(function(target){
if(target==player) return false;
var att=get.attitude(player,target);
return att<0&&target.countCards('he')>0&&!target.hasCard(function(card){
return get.value(card,target)<=0;
},'he');
})) return 1;
return 0;
});
'step 1'
if(result.control!='cancel2'){
if(result.index==0){
player.logSkill('xinxingluan');
}
else if(result.index+event.addIndex==1) event.goto(6);
else event.goto(4);
}
else event.finish();
'step 2'
var cards=[];
while(cards.length<2){
var card=get.cardPile(function(card){
return !cards.contains(card)&&get.number(card)==6;
});
if(!card) break;
cards.push(card);
}
if(!cards.length){
player.draw();
event.finish();
}
else if(cards.length==1){
event._result={bool:true,links:cards};
}
else player.chooseButton(['兴乱:选择获得其中一张',cards],true).set('ai',function(button){
return get.value(button.link,_status.event.player);
});
'step 3'
if(result.bool){
player.gain(result.links,'gain2');
}
event.finish();
'step 4'
player.chooseTarget('获得一名角色装备区或判定区内点数为6的牌',true,function(card,player,current){
return current.hasCard(function(card){
return get.number(card)==6&&lib.filter.canBeGained(card,current,player);
},'ej');
}).set('ai',function(target){
var player=_status.event.player,att=-get.sgn(get.attitude(player,target)-0.1),max=0,ej=target.getCards('ej',function(card){
return get.number(card)==6&&lib.filter.canBeGained(card,target,player);
});
for(var i of ej){
var num=get.useful(i,target)*att;
if(num>max) max=num;
return max;
}
});
'step 5'
if(result.bool){
var target=result.targets[0];
player.logSkill('xinxingluan',target);
player.gainPlayerCard(target,'ej',true).set('filterButton',function(button){
return get.number(button.link)==6;
});
}
event.finish();
'step 6'
player.chooseTarget('令一名其他角色弃置一张点数为6的牌否则交给你一张牌',true,function(card,player,current){
return current!=player&&current.countCards('he')>0;
}).set('ai',function(target){
var player=_status.event.player,att=get.attitude(player,target);
if(att>=0) return 0;
if(!target.hasCard(function(card){
return get.value(card,target)<=0;
},'he')) return -att/Math.sqrt(target.countCards('he'));
return 0;
});
'step 7'
if(result.bool){
var target=result.targets[0];
event.target=target;
player.logSkill('xinxingluan',target);
target.chooseToDiscard('he','弃置一张点数为6的牌否则交给'+get.translation(player)+'一张牌',function(card){
return get.number(card)==6;
}).ai=(card)=>(8-get.value(card));
}
'step 8'
if(!result.bool){
target.chooseCard('he',true,'交给'+get.translation(player)+'一张牌');
}
else event.finish();
'step 9'
if(result.bool) player.gain(result.cards,target,'giveAuto');
},
},
rexingluan:{
audio:'xinfu_xingluan',
usable:1,
trigger:{player:'useCardAfter'},
filter:function(event,player){
return event.targets&&event.targets.length==1&&typeof get.number(event.card,false)=='number'&&player.isPhaseUsing();
},
direct:true,
content:function(){
'step 0'
var str='',num=get.number(trigger.card,false),nums=get.strNumber(num);
var list=game.filterPlayer(function(current){
return current.hasCard(function(card){
return get.number(card)==num&&lib.filter.canBeGained(card,current,player);
},'ej');
});
if(list.length){
str+='获得一名角色装备区或判定区内的一张点数为'+nums+'的牌,或直接从牌堆中获得一张点数为'+nums+'的牌';
player.chooseTarget(get.prompt('rexingluan'),str,[0,1],function(card,player,target){
return _status.event.targets.contains(target);
}).set('targets',list).set('ai',function(target){
if(!target) return 1;
var player=_status.event.player,num=get.number(_status.event.getTrigger().card,false),att=-get.sgn(get.attitude(player,target));
if(target.hasCard(function(card){
return get.number(card)==num&&get.effect(target,card,target,player)<0;
},'j')) return 1.2*Math.abs(get.attitude(player,target));
if(target.hasCard(function(card){
return get.number(card)==num&&get.sgn(get.value(card,target)+0.1)==att;
},'e')) return Math.abs(get.attitude(player,target));
return 0;
});
}
else{
player.chooseBool(get.prompt('rexingluan'),'从牌堆中获得一张点数为'+nums+'的牌').ai=()=>true;
}
'step 1'
if(result.bool){
if(result.targets&&result.targets.length){
var target=result.targets[0];
player.logSkill('rexingluan',target);
player.gainPlayerCard(target,'ej',true).set('num',get.number(trigger.card,false)).set('filterButton',function(button){
return get.number(button.link)==_status.event.num;
});
}
else{
player.logSkill('rexingluan');
var num=get.number(trigger.card,false),card=get.cardPile2(function(i){
return get.number(i,false)==num;
});
if(card) player.gain(card,'gain2');
}
}
},
},
//吕玲绮
guowu:{
trigger:{player:'phaseUseBegin'},
filter:function(event,player){
return player.countCards('h')>0;
},
content:function(){
'step 0'
var hs=player.getCards('h');
player.showCards(hs,get.translation(player)+'发动了【帼舞】');
var list=[];
for(var i of hs){
list.add(get.type2(i,player));
if(list.length>=3) break;
}
if(list.length>=1){
var card=get.discardPile(function(i){
return i.name=='sha';
});
if(card) player.gain(card,'gain2');
}
if(list.length>=2) player.addTempSkill('guowu_dist','phaseUseAfter');
if(list.length>=3) player.addTempSkill('guowu_add','phaseUseAfter');
},
subSkill:{
dist:{
charlotte:true,
mod:{targetInRange:()=>true},
},
add:{
charlotte:true,
trigger:{player:'useCard1'},
direct:true,
filter:function(event,player){
var info=get.info(event.card,false);
if(info.allowMultiple==false) return false;
if(event.card.name!='sha'&&info.type!='trick') return false;
if(event.targets&&!info.multitarget){
if(game.hasPlayer(function(current){
return !event.targets.contains(current)&&lib.filter.targetEnabled2(event.card,player,current)&&lib.filter.targetInRange(event.card,player,current);
})){
return true;
}
}
return false;
},
content:function(){
'step 0'
var num=game.countPlayer(function(current){
return !trigger.targets.contains(current)&&lib.filter.targetEnabled2(trigger.card,player,current)&&lib.filter.targetInRange(trigger.card,player,current);
});
player.chooseTarget('帼舞:是否为'+get.translation(trigger.card)+'增加'+(num>1?'至多两个':'一个')+'目标?',[1,Math.min(2,num)],function(card,player,target){
var trigger=_status.event.getTrigger();
var card=trigger.card;
return !trigger.targets.contains(target)&&lib.filter.targetEnabled2(card,player,target)&&lib.filter.targetInRange(card,player,target);
}).set('ai',function(target){
var player=_status.event.player;
var card=_status.event.getTrigger().card;
return get.effect(target,card,player,player);
});
'step 1'
if(result.bool){
if(player!=game.me&&!player.isOnline()) game.delayx();
}
else event.finish();
'step 2'
var targets=result.targets.sortBySeat();
player.logSkill('guowu_add',targets);
trigger.targets.addArray(targets);
},
},
},
},
zhuangrong:{
derivation:['llqshenwei','wushuang'],
trigger:{global:'phaseEnd'},
forced:true,
juexingji:true,
skillAnimation:true,
animationColor:'gray',
filter:function(event,player){
return player.hp==1||player.countCards('h')==1;
},
content:function(){
'step 0'
player.awakenSkill('zhuangrong');
player.loseMaxHp();
'step 1'
if(player.maxHp>player.hp) player.recover(player.maxHp-player.hp);
'step 2'
player.drawTo(Math.min(5,player.maxHp));
player.addSkillLog('llqshenwei');
player.addSkillLog('wushuang');
},
},
llqshenwei:{
audio:2,
trigger:{player:'phaseDrawBegin2'},
forced:true,
filter:(event)=>!event.numFixed,
content:function(){
trigger.num+=2;
},
mod:{
maxHandcard:(player,num)=>num+2,
},
},
//杜夫人
yise:{
audio:2,
trigger:{global:'gainAfter'},
filter:function(event,player){
if(player==event.player||!event.player.isIn()) return false;
var evt=event.getl(player);
if(!evt||!evt.cards2.length) return false;
if(event.player.isDamaged()) return true;
for(var i of evt.cards2){
var color=get.color(i,player);
if(color=='black') return true;
}
return false;
},
direct:true,
content:function(){
'step 0'
var cards=trigger.getl(player).cards2;
for(var i of cards){
event[get.color(i,player)]=true;
if(event.red&&event.black) break;
}
if(event.red&&trigger.player.isDamaged()){
player.chooseBool(get.prompt('yise',trigger.player),'令'+get.translation(trigger.player)+'回复1点体力').set('ai',()=>get.recoverEffect(_status.event.getTrigger().player,_status.event.player,_status.event.player)>0);
}
'step 1'
if(event.black||event.red&&result.bool) player.logSkill('yise',trigger.player);
if(event.red&&result.bool) trigger.player.recover();
if(event.black){
trigger.player.addMark('yise_damage',1,false);
trigger.player.addSkill('yise_damage');
}
},
subSkill:{
damage:{
trigger:{player:'damageBegin1'},
forced:true,
charlotte:true,
onremove:true,
filter:function(event,player){
return event.card&&event.card.name=='sha'&&event.getParent().name=='sha';
},
content:function(){
trigger.num+=player.countMark('yise_damage');
player.removeSkill('yise_damage');
},
intro:{
content:'下一次受到杀的伤害+#',
},
},
},
},
shunshi:{
trigger:{player:['damageEnd','phaseZhunbeiBegin']},
direct:true,
filter:function(event,player){
return (event.name!='damage'||player!=_status.currentPhase)&&player.countCards('he')>0&&game.hasPlayer(function(current){
return current!=player&&current!=event.source;
});
},
content:function(){
'step 0'
player.chooseCardTarget({
prompt:get.prompt('shunshi'),
prompt2:'将一张牌交给一名其他角色,并获得+1效果',
filterCard:true,
filterTarget:function(card,player,target){
return target!=player&&target!=_status.event.source;
},
position:'he',
source:trigger.source,
ai1:function(card){
var player=_status.event.player;
if(player.hasSkill('yise')){
if(get.color(card,player)=='red'&&game.hasPlayer(function(current){
return current!=player&&current!=_status.event.source&&current.isDamaged()&&get.recoverEffect(current,player,player)>0;
})) return 10-get.value(card);
if(get.color(card,player)=='black') return 4-get.value(card);
}
return 8-get.value(card);
},
ai2:function(target){
var player=_status.event.player,card=ui.selected.cards[0];
if(player.hasSkill('yise')){
if(get.color(card)=='red'&&target.isDamaged()) return 2*get.recoverEffect(target,player,player);
if(get.color(card)=='black') return -get.attitude(player,target);
}
if(get.value(card,target)<0) return -get.attitude(player,target);
if(get.value(card,target)<1) return 0.01*-get.attitude(player,target);
return Math.max(1,get.value(card,target)-get.value(card,player))*get.attitude(player,target);
},
});
'step 1'
if(result.bool){
var target=result.targets[0];
player.logSkill('shunshi',target);
target.gain(result.cards,player,'giveAuto');
player.addMark('shunshi_mark',1,false);
player.addTempSkill('shunshi_mark',{player:'phaseEnd'});
}
},
subSkill:{
mark:{
onremove:true,
trigger:{player:'phaseDrawBegin2'},
forced:true,
charlotte:true,
popup:false,
filter:function(event,player){
return !event.numFixed;
},
content:function(){
trigger.num+=player.countMark('shunshi_mark');
},
mod:{
maxHandcard:function(player,num){
return num+player.countMark('shunshi_mark');
},
cardUsable:function(card,player,num){
if(card.name=='sha') return num+player.countMark('shunshi_mark');
},
},
intro:{
content:'拥有#层效果',
},
},
},
},
cuijian:{
audio:2,
enable:'phaseUse',
@ -170,11 +590,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
game.log(player,'修改了技能','#g【摧坚】');
}
else{
if(trigger.card.name=='wuxie') trigger.directHit.addArray(game.players);
else{
if(typeof trigger.baseDamage!='number') trigger.baseDamage=1;
trigger.baseDamage++;
}
if(trigger.card.name=='wuxie') trigger.directHit.addArray(game.players);
else{
if(typeof trigger.baseDamage!='number') trigger.baseDamage=1;
trigger.baseDamage++;
}
}
},
},
@ -8279,7 +8699,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
trigger:{player:'phaseJieshuBegin'},
frequent:true,
filter:function(event,player){
if(player.getHistory('skipped').contains('phaseUse')) return false;
//if(player.getHistory('skipped').contains('phaseUse')) return false;
return player.getHistory('useCard',function(evt){
if(evt.targets&&evt.targets.length&&evt.isPhaseUsing()){
var targets=evt.targets.slice(0);
@ -8944,7 +9364,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
},
},
"xinfu_zhenxing":{
xinfu_zhenxing:{
audio:2,
trigger:{
player:["damageEnd","phaseJieshuBegin"],
@ -9609,6 +10029,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
luyusheng:'陆郁生(?年-三国时期吴国官员陆绩之女。陆郁生的父亲陆绩是吴郡公认的才子又是当时吴郡陆氏的领袖。陆绩赴任担任郁林太守遂取此名。陆郁生年少的时候就定下坚贞的志向。建安二十四年219年)陆绩早亡她与两个兄弟陆宏、陆睿当时都只有几岁一起返回吴县被他们的从兄陆瑁接回抚养。13周岁的陆郁生嫁给同郡出身的张白为妻。出嫁3个月后张白因为其兄张温一族的案件遭到连坐被处以流刑后死于流放地陆郁生成为了寡妇其后公开宣言不再改嫁困难于生计但拒绝了所有提亲在艰苦中从未停止服侍、照顾张白的姐妹。事情传到朝廷皇帝褒奖陆郁生号其为“义姑”。她的表侄姚信在文集中称赞她的义举。',
dongxie:'董卓之女,牛辅之妻。在《三国群英传》中名为董宜,在电视剧《三国群英会之吕布与貂蝉》中名为董媛。',
caoanmin:'曹安民(?-197年沛国谯县今安徽亳州字安民。东汉时期人物曹德之子曹操之侄曹昂的堂兄弟曹丕的堂兄死于宛城之战。按曹丕《典论》记载的“亡兄孝廉子脩、从兄安民遇害。”等情况来看安民应该是曹操侄子错不了曹丕是他们属于兄弟关系肯定不会弄错。另外从典论的记载来看安民是和子脩并提的子脩是曹昂的字安民则肯定也是字不是名至于三国志中记载则应取自曹丕之《典论》但陈寿又不知曹安民其名故写为“长子昂、弟子安民”。',
dufuren:'杜夫人(生卒年不详),东汉末年至三国时人。有异色,原为吕布将秦宜禄之妻,生子秦朗。后为曹操纳为妾,又生曹林、曹衮、金乡公主。',
lvlingqi:'吕玲绮虚拟人物源于日本光荣株式会社现光荣特库摩公司旗下游戏《真·三国无双》系列初次登场于《真三国无双7猛将传》。吕布的女儿寂寥而威风凛凛的战姬发挥着不亚于父亲的武艺非常勇敢地身先士卒立于前线。虽然有着能够直面困难的坚强意志却由于过去的经历而有着非常害怕孤独的一面。',
},
characterTitle:{
wulan:'#b对决限定武将',
@ -9759,7 +10181,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
rewenji:'问计',
rewenji_info:'出牌阶段开始时,你可以令一名其他角色交给你一张牌。你于本回合内使用与该牌类型相同的牌时不能被其他角色响应。',
sptunjiang:'屯江',
sptunjiang_info:'结束阶段,若你未跳过本回合的出牌阶段,且你于本回合出牌阶段内未使用牌指定过其他角色为目标则你可以摸X张牌X为全场势力数。',
sptunjiang_info:'结束阶段,若你未于本回合的出牌阶段内使用牌指定过其他角色为目标则你可以摸X张牌X为全场势力数。',
zongkui:'纵傀',
zongkui_mark:'纵傀',
zongkui_mark_bg:'傀',
@ -10204,6 +10626,22 @@ game.import('character',function(lib,game,ui,get,ai,_status){
cuijian_info:'出牌阶段限一次,你可以选择一名有手牌的其他角色。若其手牌中:有【闪】,其将装备区内的防具牌和所有【闪】交给你,然后你交给其等量的牌;没有【闪】,你弃置一张手牌。',
tongyuan:'同援',
tongyuan_info:'锁定技。①当你于回合外使用【无懈可击】时,你将〖摧坚〗中的“弃置一张手牌”改为“摸一张牌”;②当你于回合外使用【桃】时,你将〖摧坚〗中的“等量的牌”改为“一张牌”。③当你使用【无懈可击】/【桃】时,若你已发动过〖摧坚①〗和〖摧坚②〗,则此牌不可被响应/回复值+1。',
dufuren:'杜夫人',
yise:'异色',
yise_info:'其他角色获得你的牌后若这些牌中有红色牌你可令其回复1点体力有黑色牌其下次受到【杀】造成的伤害时此伤害+1。',
shunshi:'顺世',
shunshi_info:'准备阶段开始时,或当你受到伤害后,你可将一张牌交给一名其他角色并获得如下效果直到你的回合结束:摸牌阶段的额定摸牌数+1使用【杀】的次数上限+1手牌上限+1。',
lvlingqi:'吕玲绮',
guowu:'帼舞',
guowu_info:'出牌阶段开始时,你可以展示全部手牌,根据你展示的类型数,你获得对应效果:至少一类,从弃牌堆获得一张【杀】;至少两类,此阶段使用牌无距离限制;至少三类,此阶段使用【杀】或普通锦囊牌可以多指定两个目标。',
zhuangrong:'妆戎',
zhuangrong_info:'觉醒技一名角色的回合结束时若你的体力值或手牌数为1你减1点体力上限并回复体力至上限将手牌摸至体力上限然后获得〖神威〗和〖无双〗。',
llqshenwei:'神威',
llqshenwei_info:'锁定技,摸牌阶段开始时,你令额定摸牌数+2你的手牌上限+2。',
rexingluan:'兴乱',
rexingluan_info:'出牌阶段限一次,当你使用的仅指定一个目标的牌结算完成后,你可以获得场上一张与此牌点数相同的牌,或获得牌堆中随机一张点数与此牌相同的牌。',
xinxingluan:'兴乱',
xinxingluan_info:'出牌阶段限一次。当你使用牌结算结束后你可选择一项①观看牌堆中的两张点数为6的牌并获得其中一张没有则改为摸一张牌②令一名其他角色弃置一张点数为6的牌或交给你一张牌③获得场上的一张点数为6的牌。',
sp_whlw:"文和乱武",
sp_zlzy:"逐鹿中原",

View File

@ -2448,7 +2448,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
wushuang:{
shaRelated:true,
audio:2,
audioname:['re_lvbu','shen_lvbu'],
audioname:['re_lvbu','shen_lvbu','lvlingqi'],
forced:true,
locked:true,
group:['wushuang1','wushuang2'],
@ -2456,7 +2456,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
wushuang1:{
audio:'wushuang',
audioname:['re_lvbu','shen_lvbu'],
audioname:['re_lvbu','shen_lvbu','lvlingqi'],
trigger:{player:'useCardToPlayered'},
forced:true,
filter:function(event,player){
@ -2484,7 +2484,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
wushuang2:{
audio:'wushuang',
audioname:['re_lvbu','shen_lvbu'],
audioname:['re_lvbu','shen_lvbu','lvlingqi'],
trigger:{player:'useCardToPlayered',target:'useCardToTargeted'},
forced:true,
logTarget:function(trigger,player){

View File

@ -9508,6 +9508,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
ai:{
order:1,
combo:'quanji',
result:{
player:1,
}

View File

@ -9,7 +9,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
zhongyan:['female','jin',3,['bolan','yifa']],
weiguan:['male','jin',3,['zhongyun','shenpin']],
cheliji:['male','qun',4,['chexuan','qiangshou']],
simazhou:['male','jin',4,['caiwang','naxiang']],
simazhou:['male','jin',4,['recaiwang','naxiang']],
ol_lisu:['male','qun',3,['qiaoyan','xianzhu']],
jin_yanghuiyu:['female','jin',3,['huirong','ciwei','caiyuan'],['hiddenSkill']],
shibao:['male','jin',4,['zhuosheng']],
@ -31,6 +31,81 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
},
skill:{
recaiwang:{
audio:'caiwang',
inherit:'caiwang',
group:['recaiwang_hand','recaiwang_equip','recaiwang_judge'],
},
recaiwang_hand:{
audio:'caiwang',
enable:['chooseToUse','chooseToRespond'],
viewAsFilter:function(player){
var js=player.getCards('h');
return js.length==1&&game.checkMod(js[0],player,'unchanged','cardEnabled2',player);
},
selectCard:-1,
filterCard:true,
position:'h',
prompt:'将全部手牌当做【闪】使用',
viewAs:{name:'shan'},
check:(card)=>10-get.value(card),
ai:{
order:1,
respondShan:true,
skillTagFilter:function(player){
return player.countCards('h')==1;
},
},
},
recaiwang_equip:{
audio:'caiwang',
enable:['chooseToUse','chooseToRespond'],
viewAsFilter:function(player){
var js=player.getCards('e');
return js.length==1&&game.checkMod(js[0],player,'unchanged','cardEnabled2',player);
},
selectCard:-1,
filterCard:true,
check:(card)=>9-get.value(card),
position:'e',
prompt:'将装备区的牌当做【无懈可击】使用',
viewAs:{name:'wuxie'},
ai:{
order:1,
},
},
recaiwang_judge:{
audio:'caiwang',
enable:['chooseToUse','chooseToRespond'],
viewAsFilter:function(player){
var js=player.getCards('j');
return js.length==1&&game.checkMod(js[0],player,'unchanged','cardEnabled2',player);
},
selectCard:-1,
filterCard:true,
position:'j',
prompt:'将判定区的牌当做【杀】使用',
viewAs:{name:'sha'},
check:(card)=>1,
locked:false,
ai:{
order:10,
respondSha:true,
skillTagFilter:function(player){
return player.countCards('j')==1;
},
effect:{
target:function(card,player,target,current){
if(card&&(card.name=='shandian'||card.name=='fulei')&&player==target&&!target.countCards('j')&&target.isPhaseUsing()&&target.hasValueTarget({name:'sha'},null,true)) return [1,2];
},
},
},
mod:{
aiOrder:function(player,card,num){
if(card.name=='shandian'||card.name=='fulei') return num+3;
},
},
},
zhaosong:{
trigger:{global:'phaseUseBegin'},
logTarget:'player',
@ -991,9 +1066,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
check:function(event,player){
return get.attitude(player,lib.skill.caiwang.logTarget(event,player))<=0;
},
popup:false,
content:function(){
'step 0'
if(player!=game.me&&!player.isOnline()) game.delayx();
'step 1'
var target=lib.skill.caiwang.logTarget(trigger,player);
player.logSkill(event.name,target);
player[player.getStorage('naxiang2').contains(target)?'gainPlayerCard':'discardPlayerCard'](target,'he',true);
},
},
@ -2532,7 +2611,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
caiwang_info:'当你使用或打出牌响应其他角色使用的牌,或其他角色使用或打出牌响应你使用的牌后,若这两张牌颜色相同,则你可以弃置对方的一张牌。',
naxiang:'纳降',
naxiang2:'纳降',
naxiang_info:'锁定技,当你受到其他角色造成的伤害后,或你对其他角色造成伤害后,你对其发动〖才望〗时的“弃置”改为“获得”直到你的下回合开始。',
naxiang_info:'锁定技,当你受到其他角色造成的伤害后,或你对其他角色造成伤害后,你对其发动〖才望〗时的“弃置”改为“获得”直到你的下回合开始。',
cheliji:'彻里吉',
chexuan:'车悬',
chexuan_info:'出牌阶段,若你的装备区里没有宝物牌,你可弃置一张黑色牌,选择一张【舆】置入你的装备区;当你失去装备区里的宝物牌后,你可进行判定,若结果为黑色,将一张随机的【舆】置入你的装备区。',
@ -2570,6 +2649,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
zhaosong_info:'一名其他角色于其出牌阶段开始时,若其没有标记,你可令其正面向上交给你一张手牌,然后根据此牌的类型,令该角色获得对应的标记:锦囊牌,“诔”标记;装备牌,“赋”标记;基本牌,“颂”标记。进入濒死时,你可弃置"诔"减少一点体力上限回复至1体力并摸1张牌出牌阶段开始时你可弃置“赋”弃置一名角色区域内的一张牌然后可令其摸一张牌你使用仅指定一个目标的【杀】时可弃置“颂”为此【杀】额外选择至多两个目标然后若此【杀】造成的伤害小于2你失去1点体力。',
lisi:'离思',
lisi_info:'每当你于回合外使用牌的置入弃牌堆时,你可将其交给一名手牌数不大于你的其他角色。',
recaiwang:'才望',
recaiwang_info:'①当你使用或打出牌响应其他角色使用的牌或其他角色使用或打出牌响应你使用的牌后若这两张牌颜色相同则你可以弃置对方的一张牌。②若你的手牌数为1则你可以将该手牌当做【闪】使用或打出。③若你的装备区牌数为1则你可以将该装备当做【无懈可击】使用或打出。④若你的判定区牌数为1则你可以将该延时锦囊牌当做【杀】使用或打出。',
recaiwang_hand:'才望',
recaiwang_equip:'才望',
recaiwang_judge:'才望',
yingbian_pack1:'文德武备·理',
yingbian_pack2:'文德武备·备',

View File

@ -1,5 +1,5 @@
window.noname_asset_list=[
'v1.9.110.9.3.4',
'v1.9.110.9.3.5',
'audio/background/aozhan_chaoming.mp3',
'audio/background/aozhan_online.mp3',
'audio/background/aozhan_rewrite.mp3',
@ -798,6 +798,9 @@ window.noname_asset_list=[
'audio/die/re_lusu.mp3',
'audio/die/wuban.mp3',
'audio/die/yuejiu.mp3',
'audio/die/dufuren.mp3',
'audio/die/lvlingqi.mp3',
'audio/die/ol_wangrong.mp3',
'audio/skill/decadezishou1.mp3',
'audio/skill/decadezishou2.mp3',
@ -3594,6 +3597,20 @@ window.noname_asset_list=[
'audio/skill/reweimu2.mp3',
'audio/skill/wansha_re_jiaxu1.mp3',
'audio/skill/wansha_re_jiaxu2.mp3',
'audio/skill/guowu1.mp3',
'audio/skill/guowu2.mp3',
'audio/skill/olfengzi1.mp3',
'audio/skill/olfengzi2.mp3',
'audio/skill/olfusong1.mp3',
'audio/skill/olfusong2.mp3',
'audio/skill/oljizhan1.mp3',
'audio/skill/oljizhan2.mp3',
'audio/skill/shunshi1.mp3',
'audio/skill/shunshi2.mp3',
'audio/skill/yise1.mp3',
'audio/skill/yise2.mp3',
'audio/skill/zhuangrong1.mp3',
'audio/skill/zhuangrong2.mp3',
'audio/voice/male/0.mp3',
'audio/voice/male/1.mp3',
@ -4539,6 +4556,9 @@ window.noname_asset_list=[
'image/character/xin_caozhen.jpg',
'image/character/xin_sunluban.jpg',
'image/character/ol_dengzhi.jpg',
'image/character/dufuren.jpg',
'image/character/lvlingqi.jpg',
'image/character/ol_wangrong.jpg',
'image/character/baiwuchang.jpg',
'image/character/baosanniang.jpg',

View File

@ -51721,16 +51721,21 @@
return false;
};
if(create!='discardPile'){
var num=get.rand(0,ui.cardPile.childNodes.length-1);
for(var i=0;i<ui.cardPile.childNodes.length;i++){
if(filter(ui.cardPile.childNodes[i])){
return ui.cardPile.childNodes[i];
var j=i;
if(j>=ui.cardPile.childNodes.length) j-=ui.cardPile.childNodes.length;
if(filter(ui.cardPile.childNodes[j])){
return ui.cardPile.childNodes[j];
}
}
}
if(create!='cardPile'){
for(var i=0;i<ui.discardPile.childNodes.length;i++){
if(filter(ui.discardPile.childNodes[i])){
return ui.discardPile.childNodes[i];
var j=i;
if(j>=ui.discardPile.childNodes.length) j-=ui.discardPile.childNodes.length;
if(filter(ui.discardPile.childNodes[j])){
return ui.discardPile.childNodes[j];
}
}
}

View File

@ -1,8 +1,9 @@
window.noname_update={
version:'1.9.110.9.3.4',
update:'1.9.110.9.3.3',
version:'1.9.110.9.3.5',
update:'1.9.110.9.3.4',
changeLog:[
'界鲁肃、孙登、郭皇后、薛综、杜畿技能修改',
'杜夫人、吕玲绮、OL王荣',
'司马伷,樊稠技能修改',
'bug修复',
],
files:[
@ -19,7 +20,7 @@ window.noname_update={
//'card/yingbian.js',
//'card/zhenfa.js',
//'card/zhulu.js',
//'character/diy.js',
'character/diy.js',
//'character/extra.js',
//'character/hearth.js',
//'character/gujian.js',
@ -36,11 +37,11 @@ window.noname_update={
'character/sp.js',
'character/sp2.js',
//'character/tw.js',
//'character/standard.js',
'character/standard.js',
//'character/swd.js',
//'character/xianjian.js',
'character/xinghuoliaoyuan.js',
//'character/yingbian.js',
//'character/xinghuoliaoyuan.js',
'character/yingbian.js',
'character/yijiang.js',
//'character/yxs.js',
//'extension/boss/extension.js',
@ -49,18 +50,18 @@ window.noname_update={
//'layout/default/menu.css',
//'layout/nova/layout.css',
//'layout/mobile/equip.css',
'mode/boss.js',
//'mode/brawl.js',
//'mode/boss.js',
'mode/brawl.js',
//'mode/chess.js',
//'mode/connect.js',
//'mode/doudizhu.js',
//'mode/guozhan.js',
'mode/guozhan.js',
//'mode/identity.js',
//'mode/single.js',
//'mode/stone.js',
//'mode/tafang.js',
//'mode/versus.js',
//'game/game.js',
'game/game.js',
//'game/keyWords.js',
//'game/NoSleep.js',
//'game/config.js',

BIN
image/character/dufuren.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 153 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 155 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 188 KiB

View File

@ -468,7 +468,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
for(var j=0;j<list.length;j++){
if(skills.contains(list[j])||banned.contains(list[j])) continue;
var info=get.info(list[j]);
if(!info||info.zhuSkill||info.juexingji||info.charlotte||info.limited) continue;
if(!info||info.zhuSkill||info.juexingji||info.charlotte||info.limited||info.hiddenSkill||info.dutySkill||info.groupSkill||(info.ai&&info.ai.combo)) continue;
skills.push(list[j]);
}
}

View File

@ -530,7 +530,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
gz_duyu:['male','jin',4,['sanchen']],
gz_zhanghuyuechen:['male','jin',4,['xijue']],
gz_jin_yanghuiyu:['female','jin',3,['ciwei','caiyuan']],
gz_simazhou:['male','jin',4,['caiwang','naxiang']],
gz_simazhou:['male','jin',4,['recaiwang','naxiang']],
gz_shibao:['male','jin',4,['gzzhuosheng']],
gz_weiguan:['male','jin',3,['zhongyun','shenpin']],
gz_zhongyan:['female','jin',3,['bolan','yifa']],