手刹傻逼新策划的杰作

This commit is contained in:
Spmario233 2021-05-08 20:10:31 +08:00
parent 7a8d5d02ad
commit b231525be0
39 changed files with 618 additions and 40 deletions

BIN
audio/die/feiyi.mp3 Normal file

Binary file not shown.

BIN
audio/die/luotong.mp3 Normal file

Binary file not shown.

BIN
audio/die/sp_bianfuren.mp3 Normal file

Binary file not shown.

BIN
audio/die/sp_duyu.mp3 Normal file

Binary file not shown.

BIN
audio/die/zongyu.mp3 Normal file

Binary file not shown.

BIN
audio/skill/chengshang1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/chengshang2.mp3 Normal file

Binary file not shown.

BIN
audio/skill/fyjianyu1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/fyjianyu2.mp3 Normal file

Binary file not shown.

BIN
audio/skill/qinzheng1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/qinzheng2.mp3 Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
audio/skill/spmiewu1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/spmiewu2.mp3 Normal file

Binary file not shown.

BIN
audio/skill/spsanchen1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/spsanchen2.mp3 Normal file

Binary file not shown.

BIN
audio/skill/spwanwei1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/spwanwei2.mp3 Normal file

Binary file not shown.

BIN
audio/skill/spwuku1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/spwuku2.mp3 Normal file

Binary file not shown.

BIN
audio/skill/spyuejian1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/spyuejian2.mp3 Normal file

Binary file not shown.

BIN
audio/skill/zyqiao1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/zyqiao2.mp3 Normal file

Binary file not shown.

View File

@ -1732,6 +1732,8 @@ game.import('card',function(lib,game,ui,get,ai,_status){
cardEnabled2:function(card,player){
if(!_status.event.addCount_extra||player.hasSkill('zhuge_skill',null,false)) return;
if(card&&card==player.getEquip('zhuge')){
var cardz=get.card();
if(!cardz||cardz.name!='sha') return;
_status.zhuge_temp=true;
var bool=lib.filter.cardUsable(get.autoViewAs({name:'sha'},ui.selected.cards.concat([card])),player);
delete _status.zhuge_temp;

View File

@ -8,7 +8,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
mobile:{
mobile_default:["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"],
mobile_yijiang:["yj_zhanghe","yj_zhangliao","yj_xuhuang","yj_ganning"],
mobile_shijizhi:["sp_wangcan","sp_chenzhen","sp_sunshao","sp_xunchen"],
mobile_shijizhi:["sp_wangcan","sp_chenzhen","sp_sunshao","sp_xunchen","luotong","sp_duyu","sp_bianfuren","feiyi"],
mobile_sunben:["re_sunben"],
mobile_standard:["xin_xiahoudun","xin_zhangfei"],
mobile_shenhua:["re_pangtong","re_guanqiujian","xin_yuanshao","re_liushan","re_dongzhuo","re_sp_zhugeliang","re_sunjian","re_dengai"],
@ -17,10 +17,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
},
character:{
feiyi:['male','shu',3,['reshengxi','fyjianyu']],
sp_bianfuren:['female','wei',3,['spwanwei','spyuejian']],
sp_duyu:['male','qun',4,['spwuku','spsanchen']],
luotong:['male','wu',4,['qinzheng']],
re_handang:['male','wu',4,['regongji','jiefan']],
sp_wangcan:['male','wei',3,['spqiai','spshanxi']],
sp_chenzhen:['male','shu',3,['shameng']],
sp_sunshao:['male','wu',3,['fubi','zuici']],
sp_sunshao:['male','wu',3,['refubi','rezuici']],
sp_xunchen:['male','qun',3,['jianzhan','duoji']],
re_dengai:['male','wei',4,['retuntian','zaoxian']],
xin_fuhuanghou:['female','qun',3,['xinzhuikong','xinqiuyuan']],
@ -95,6 +99,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
re_sunben:['male','wu',4,['jiang','rehunzi','zhiba'],['zhu']],
},
characterIntro:{
feiyi:'费祎253年2月字文伟江夏鄳县今河南省罗山县三国时期蜀汉名臣与诸葛亮、蒋琬、董允并称为蜀汉四相。深得诸葛亮器重屡次出使东吴孙权、诸葛恪、羊茞等人以辞锋刁难而费祎据理以答辞义兼备始终不为所屈。孙权非常惊异于他的才能加以礼遇。北伐时为中护军又转为司马。当时魏延与杨仪不和经常争论费祎常为二人谏喻两相匡护以尽其用。诸葛亮死后初为后军师再为尚书令官至大将军封成乡侯。费祎主政时与姜维北伐的主张相左执行休养生息的政策为蜀汉的发展尽心竭力。费祎性格谦恭真诚颇为廉洁家无余财。后为魏降将郭循一作郭脩行刺身死。葬于今广元市昭化古城城西。',
luotong:'骆统193年228年字公绪。会稽郡乌伤县今浙江义乌人。东汉末年至三国时期吴国将领、学者陈国相骆俊之子。骆统二十岁时已任乌程国相任内有政绩使得国中民户过万。又迁为功曹行骑都尉。曾劝孙权尊贤纳士省役息民。后出任为建忠中郎将。将军凌统逝世后统领其部曲。因战功迁偏将军封新阳亭侯任濡须督。黄武七年228年骆统去世年仅三十六岁。有集十卷今已佚。',
chenzhen:'陈震—公元235年字孝起。荆州南阳郡今河南南阳人。三国时期蜀汉官员。刘备领荆州牧时辟陈震为从事。后随刘备入蜀为蜀郡北部都尉、汶山太守、犍为太守。建兴三年225年拜尚书迁尚书令。建兴七年229年孙权称帝。蜀汉以陈震为卫尉前往祝贺与孙权开坛歃盟交分天下。还蜀封城阳亭侯。建兴十三年235年卒。',
nanhualaoxian:'南华老仙,其原型来自道教典籍中对庄子的封号,又称“南华仙人”、“南华真人”等。在古典小说《三国演义》通行本的第一回中,描述了南华老仙将《太平要术》赠送给张角的情节。',
hucheer:'胡车儿(生卒年不详),东汉末年武将,初从张绣,为其心腹猛将,勇冠三军,与贾诩交情甚佳。宛城大战后,张绣投降曹操,曹操爱胡车儿之骁勇,手以黄金与之。后因曹操私纳张绣亡叔张济的遗孀邹氏,张绣深感其辱,欲杀曹操,与贾诩商议后决心反曹。《三国演义》中,作者考虑到典韦的勇猛,便增加了令胡车儿盗走典韦的双戟的情节。最终典韦、曹昂(曹操长子)、曹安民(曹操侄子)皆死于此次战斗。野史说胡车儿跟随曹操征战,被赵云在长坂坡上红枪挑死。',
@ -328,6 +334,492 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
skill:{
//始计篇·智
refubi:{
audio:'fubi',
trigger:{
global:'gameDrawAfter',
player:'enterGame',
},
direct:true,
content:function(){
'step 0'
player.chooseTarget(get.prompt2('refubi'),lib.filter.notMe).set('ai',function(target){
return 1+get.attitude(_status.event.player,target);
});
'step 1'
if(result.bool){
var target=result.targets[0];
player.logSkill('refubi',target);
target.addMark('refubi',1);
}
},
intro:{
content:function(info,player){
var str='已获得“辅弼”标记'
if(player.storage.refubi_effect0){
str+=';本回合使用【杀】的次数上限+';
str+=player.storage.refubi_effect0;
}
if(player.storage.refubi_effect1){
str+=';本回合的手牌上限+';
str+=(player.storage.refubi_effect1*3);
}
return str;
},
},
marktext:'弼',
group:'refubi_buff',
subSkill:{
buff:{
trigger:{global:'phaseUseBegin'},
direct:true,
filter:function(event,player){
return event.player!=player&&event.player.hasMark('refubi');
},
content:function(){
'step 0'
var str=get.translation(trigger.player);
player.chooseControl('cancel2').set('choiceList',[
'令'+str+'本回合使用【杀】的次数上限+1',
'令'+str+'本回合的手牌上限+3',
]).set('ai',function(){
var player=_status.event.player,target=_status.event.getTrigger().player;
if(get.attitude(player,target)<=0) return 'cancel2';
if(target.countCards('h',function(card){
return get.name(card,target)=='sha'&&target.hasValueTarget(card);
})>target.getCardUsable('sha')) return 0;
return 1;
});
'step 1'
if(result.control!='cancel2'){
var target=trigger.player;
player.logSkill('refubi',target);
var str='refubi_effect'+result.index;
target.addTempSkill(str);
target.addMark(str,1,false);
game.log(target,[
'本回合使用【杀】的次数上限+1',
'本回合的手牌上限+3',
][result.index]);
}
},
},
effect0:{
onremove:true,
mod:{
cardUsable:function(card,player,num){
if(card.name=='sha') return num+player.countMark('refubi_effect0');
},
},
},
effect1:{
onremove:true,
mod:{
maxHandcard:function(player,num){
return num+3*player.countMark('refubi_effect1');
},
},
},
},
},
rezuici:{
audio:'zuici',
enable:'chooseToUse',
filter:function(event,player){
if(event.type=='phase'||event.type=='dying'&&player==event.dying) return (player.isDamaged()&&player.countCards('e')>0);
return false;
},
chooseButton:{
dialog:function(event,player){
return ui.create.dialog('###罪辞###选择废除一个有牌的装备栏然后回复2点体力并可移动“辅弼”标记。');
},
chooseControl:function(event,player){
var list=[];
for(var i=1;i<6;i++){
if(player.getEquip(i)) list.push('equip'+i);
}
list.push('cancel2');
return list;
},
check:function(event,player){
if(player.hp>1&&player.getDamagedHp()<2) return 'cancel2';
var cards=player.getCards('e').sort(function(a,b){
return get.value(a)-get.value(b);
});
var sub=get.subtype(cards[0],false);
if(player.hp<1) return sub;
var val=get.value(cards[0]);
if(val<0) return sub;
return val<4?sub:'cancel2';
},
backup:function(result){
var next=get.copy(lib.skill.rezuicix);
next.position=result.control;
return next;
},
},
ai:{
order:2.7,
result:{
player:1,
},
save:true,
skillTagFilter:function(player,tag,arg){
return player==arg;
},
},
},
rezuicix:{
audio:'zuici',
content:function(){
'step 0'
player.disableEquip(lib.skill.rezuici_backup.position);
player.recover(2);
'step 1'
var b1=false,b2=false;
for(var i of game.players){
if(i.hasMark('refubi')) b1=true;
else if(i!=player) b2=true;
if(b1&&b2) break;
}
if(b1&&b2){
player.chooseTarget('是否转移“辅弼”标记?',function(card,player,target){
return target!=player&&!target.hasMark('refubi');
}).set('ai',function(target){
var player=_status.event.player;
var att=get.attitude(player,target);
return Math.min(att,att-_status.event.preatt);
}).set('preatt',get.attitude(player,game.findPlayer(function(current){
return current.hasMark('refubi');
})));
}
else event.finish();
'step 2'
if(result.bool){
var target=result.targets[0];
player.line(target,'group');
game.countPlayer(function(current){
var num=current.countMark('refubi');
if(num) current.removeMark('refubi',1,false);
});
target.addMark('refubi',1);
}
},
ai:{
result:{
player:1,
},
},
},
reshengxi:{
audio:'shengxi',
audioname:['feiyi'],
trigger:{player:'phaseJieshuBegin'},
frequent:true,
filter:function(event,player){
return !player.getHistory('sourceDamage').length;
},
content:function(){
player.draw(2);
},
},
fyjianyu:{
enable:'phaseUse',
usable:1,
filter:function(event,player){
return !player.hasSkill('fyjianyu2')&&game.countPlayer(function(current){
return !current.hasMark('fyjianyux');
})>1;
},
filterTarget:function(card,player,target){
return !target.hasMark('fyjianyux');
},
selectTarget:2,
content:function(){
player.addTempSkill('fyjianyux',{player:'phaseBegin'});
target.addMark('fyjianyux',1);
},
ai:{
order:0.1,
result:{
target:function(player,target){
if(!ui.selected.targets.length) return target==player?1:0;
if(get.attitude(player,target)<0) return -1.6*(1+(target.countCards('h',function(card){
return target.hasValueTarget(card)&&get.effect(player,card,target,target)>0;
}))*Math.sqrt(target.countCards('h')));
return 0.3*(1+(target.countCards('h',function(card){
return target.hasValueTarget(card)&&get.effect(player,card,target,target)>0;
}))*Math.sqrt(target.countCards('h')));
},
},
},
},
fyjianyux:{
trigger:{global:'useCardToPlayer'},
forced:true,
charlotte:true,
filter:function(event,player){
return event.player!=event.target&&event.player.hasMark('fyjianyux')&&
event.target.hasMark('fyjianyux')&&event.target.isAlive();
},
logTarget:'target',
content:function(){
trigger.target.draw();
},
onremove:function(){
game.countPlayer(function(current){
var num=current.countMark('fyjianyux');
if(num) current.removeMark('fyjianyux');
});
},
intro:{
content:'mark',
},
},
fyjianyu2:{},
spwanwei:{
audio:2,
enable:'chooseToUse',
filter:function(event,player){
if(player.hasSkill('spwanwei2')||player.hp<1) return false;
if(event.type=='dying') return event.dying!=player;
if(event.type!='phase') return false;
return game.hasPlayer(function(current){
return current!=player&&current.isDamaged();
});
},
filterTarget:function(card,player,target){
if(_status.event.type=='dying') return target==_status.event.dying;
return player!=target&&target.isDamaged();
},
selectTarget:function(){
if(_status.event.type=='dying') return -1;
return 1;
},
content:function(){
player.addTempSkill('spwanwei2','roundStart');
var num=player.hp;
target.recover(Math.max(num+1,1-target.hp));
player.loseHp(num);
},
ai:{
save:true,
skillTagFilter:function(player,tag,target){
return player!=target;
},
expose:0.5,
order:6,
result:{
target:function(player,target){
if(_status.event.type!='dying') return 0;
if(get.attitude(player,target)<4) return 0;
if(player.countCards('he')<2&&target!=get.zhu(player)) return 0;
return 1;
},
},
},
},
spwanwei2:{},
spyuejian:{
mod:{
maxHandcardBase:function(player){
return player.maxHp;
},
},
audio:2,
enable:'chooseToUse',
filter:function(event,player){
return event.type=='dying'&&player==event.dying&&player.countCards('he')>1;
},
selectCard:2,
filterCard:true,
position:'he',
check:function(card){
return 1/Math.max(0.1,get.value(card));
},
content:function(){
player.recover();
},
ai:{
save:true,
skillTagFilter:function(player,tag,target){
return player==target;
},
order:1.4,
result:{
player:1,
},
},
},
spwuku:{
audio:2,
trigger:{global:'useCard'},
forced:true,
filter:function(event,player){
if(get.type(event.card)!='equip') return false;
var gz=get.mode()=='guozhan';
if(gz&&event.player.isFriendOf(player)) return false;
return player.countMark('spwuku')<(gz?2:3);
},
content:function(){
player.addMark('spwuku',1);
},
marktext:'库',
intro:{
content:'mark',
},
},
spsanchen:{
audio:2,
trigger:{player:'phaseJieshuBegin'},
forced:true,
juexingji:true,
skillAnimation:true,
animationColor:'gray',
filter:function(event,player){
return player.countMark('spwuku')>2;
},
content:function(){
player.awakenSkill('spsanchen');
player.gainMaxHp();
player.recover();
player.addSkillLog('spmiewu');
},
derivation:'spmiewu',
},
spmiewu:{
audio:2,
enable:['chooseToUse','chooseToRespond'],
filter:function(event,player){
if(!player.countMark('spwuku')||!player.countCards('he')||player.hasSkill('spmiewu2')) return false;
for(var i of lib.inpile){
var type=get.type2(i);
if((type=='basic'||type=='trick')&&lib.filter.filterCard({name:i},player,event)) return true;
}
return false;
},
chooseButton:{
dialog:function(event,player){
var list=[];
for(var i=0;i<lib.inpile.length;i++){
var name=lib.inpile[i];
if(name=='sha'){
if(event.filterCard({name:name},player,event)) list.push(['基本','','sha']);
if(event.filterCard({name:name,nature:'fire'},player,event)) list.push(['基本','','sha','fire']);
if(event.filterCard({name:name,nature:'thunder'},player,event)) list.push(['基本','','sha','thunder']);
if((get.mode()!='guozhan'||_status.mode=='yingbian')&&event.filterCard({name:name,nature:'ice'},player,event)) list.push(['基本','','sha','ice']);
}
else if(get.type2(name)=='trick'&&event.filterCard({name:name},player,event)) list.push(['锦囊','',name]);
else if(get.type(name)=='basic'&&event.filterCard({name:name},player,event)) list.push(['基本','',name]);
}
return ui.create.dialog('灭吴',[list,'vcard']);
},
filter:function(button,player){
return _status.event.getParent().filterCard({name:button.link[2]},player,_status.event.getParent());
},
check:function(button){
var player=_status.event.player;
if(player.countCards('h',button.link[2])>0) return 0;
if(['wugu','zhulu_card'].contains(button.link[2])) return 0;
var effect=player.getUseValue(button.link[2]);
if(effect>0) return effect;
return 0;
},
check:function(button){
if(_status.event.getParent().type!='phase') return 1;
var player=_status.event.player;
if(['wugu','zhulu_card','yiyi','lulitongxin','lianjunshengyan','diaohulishan'].contains(button.link[2])) return 0;
return player.getUseValue({
name:button.link[2],
nature:button.link[3],
});
},
backup:function(links,player){
return {
filterCard:true,
audio:'spmiewu',
popname:true,
check:function(card){
return 8-get.value(card);
},
position:'he',
viewAs:{name:links[0][2],nature:links[0][3]},
precontent:function(){
player.addTempSkill('spmiewu2');
player.removeMark('spwuku',1);
},
}
},
prompt:function(links,player){
return '将一张牌当做'+(get.translation(links[0][3])||'')+get.translation(links[0][2])+'使用';
}
},
hiddenCard:function(player,name){
var type=get.type2(name);
return (type=='basic'||type=='trick')&&player.countMark('spwuku')>0&&player.countCards('he')>0&&!player.hasSkill('spmiewu2');
},
ai:{
combo:'spwuku',
fireAttack:true,
respondSha:true,
respondShan:true,
skillTagFilter:function(player){
if(player.countMark('spwuku')||!player.countCards('he')||player.hasSkill('spmiewu2')) return false;
},
order:1,
result:{
player:function(player){
if(_status.event.dying) return get.attitude(player,_status.event.dying);
return 1;
},
},
},
},
spmiewu2:{
trigger:{player:['useCardAfter','respondAfter']},
forced:true,
charlotte:true,
popup:false,
filter:function(event,player){
return event.skill=='spmiewu_backup';
},
content:function(){
player.draw();
},
},
spmiewu_backup:{audio:'spmiewu'},
qinzheng:{
audio:2,
trigger:{player:['useCard','respond']},
forced:true,
filter:function(event,player){
var num=player.getAllHistory('useCard').length+player.getAllHistory('respond').length;
return num%3==0||num%5==0||num%8==0;
},
content:function(){
var num=player.getAllHistory('useCard').length+player.getAllHistory('respond').length;
var cards=[];
if(num%3==0){
var card=get.cardPile2(function(card){
return card.name=='sha'||card.name=='shan';
});
if(card) cards.push(card);
}
if(num%5==0){
var card=get.cardPile2(function(card){
return card.name=='tao'||card.name=='jiu';
});
if(card) cards.push(card);
}
if(num%8==0){
var card=get.cardPile2(function(card){
return card.name=='juedou'||card.name=='wuzhong';
});
if(card) cards.push(card);
}
if(cards.length) player.gain(cards,'gain2');
},
},
spqiai:{
audio:2,
enable:'phaseUse',
@ -3853,6 +4345,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
cardEnabled2:function(card,player){
if(!_status.event.addCount_extra||player.hasSkill('rw_zhuge_skill',null,false)) return;
if(card&&card==player.getEquip('rewrite_zhuge')){
var cardz=get.card();
if(!cardz||cardz.name!='sha') return;
_status.rw_zhuge_temp=true;
var bool=lib.filter.cardUsable(get.autoViewAs({name:'sha'},ui.selected.cards.concat([card])),player);
delete _status.rw_zhuge_temp;
@ -7038,7 +7532,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
game.log(player,'将',result.cards,'放到了武将牌上');
}
},
group:['gnjinfan3','gnjinfan4','gnjinfan6','gnjinfan7','gnjinfan8'],
group:['gnjinfan3','gnjinfan4','gnjinfan6','gnjinfan7'],
marktext:'铃',
intro:{
content:'cards',
@ -7172,7 +7666,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
popup:false,
filter:function(event,player){
var evt=event.getParent();
return evt&&evt.player==player&&player!=_status.currentPhase&&evt.skill&&evt.skill.indexOf('gnjinfan')==0;
return evt&&evt.player==player&&evt.skill&&evt.skill.indexOf('gnjinfan')==0;
},
content:function(){
'step 0'
@ -7280,6 +7774,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
wangcan:['wangcan','sp_wangcan'],
sunshao:['sp_sunshao','sunshao'],
xunchen:['xunchen','sp_xunchen'],
//duyu:['duyu','sp_duyu'],
bianfuren:['sp_bianfuren','bianfuren'],
},
translate:{
liuzan:'手杀留赞',
@ -7484,7 +7980,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
qiaosi:'巧思',
qiaosi_info:'出牌阶段限一次你可以表演「大键角色图」并根据表演结果获得相应的牌。然后你选择一项1.弃置X张牌。2.将X张牌交给一名其他角色。X为你以此法获得的牌数',
qiaosi_map:'大键角色图',
qiaosi_map_info:'<br><li>星野 梦美:锦囊牌*2<br><li>能美 库特莉亚芙卡:装备牌/【杀】/【酒】*1<br><li>友利 奈绪:【杀】/【酒】*1<br><li>神尾 观铃:【闪】/【桃】*1<br><li>伊吹 风子:锦囊牌/【闪】/【桃】*1<br><li>仲村 ゆり:装备牌*2<br><li>Illustration: うら;Twitter:@ura530',
qiaosi_map_info:'<br><li>星野 梦美:锦囊牌*2<br><li>能美 库特莉亚芙卡:装备牌/【杀】/【酒】*1<br><li>友利 奈绪:【杀】/【酒】*1<br><li>神尾 观铃:【闪】/【桃】*1<br><li>伊吹 风子:锦囊牌/【闪】/【桃】*1<br><li>仲村 由理:装备牌*2<br><li>Illustration: うら;Twitter:@ura530',
qiaosi_c1:'<img src="'+lib.assetURL+'image/card/qiaosi_card1.png" width="60" height="60"> ',
//星野 梦美
qiaosi_c2:'<img src="'+lib.assetURL+'image/card/qiaosi_card2.png" width="60" height="60"> ',
@ -7496,7 +7992,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
qiaosi_c5:'<img src="'+lib.assetURL+'image/card/qiaosi_card5.png" width="60" height="60"> ',
//伊吹 风子
qiaosi_c6:'<img src="'+lib.assetURL+'image/card/qiaosi_card6.png" width="60" height="60"> ',
//仲村 ゆり
//仲村 由理
mobile_sunben:'那个男人',
//孙笨
@ -7580,7 +8076,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
gnjinfan7:'锦帆',
gnjinfan8:'锦帆',
gnjinfan4_backup:'锦帆',
gnjinfan_info:'弃牌阶段开始时,你可将任意张手牌置于武将牌上,称为“铃”(每种花色的“铃”限一张)。当你需要使用或打出一张手牌时,你可以使用或打出一张“铃”。你的回合外,当有“铃”移动到处理区后,你从牌堆中获得与“铃”花色相同的一张牌。回合开始时,你获得所有“铃”。',
gnjinfan_info:'弃牌阶段开始时,你可将任意张手牌置于武将牌上,称为“铃”(每种花色的“铃”限一张)。当你需要使用或打出一张手牌时,你可以使用或打出一张“铃”。当有“铃”移动到处理区后,你从牌堆中获得与“铃”花色相同的一张牌。',
gnsheque:'射却',
gnsheque_info:'一名其他角色的准备阶段开始时,若其装备区内有牌,则你可以对其使用一张【杀】(无距离关系的限制且无视防具)。',
sp_sufei:'SP苏飞',
@ -7705,6 +8201,35 @@ game.import('character',function(lib,game,ui,get,ai,_status){
duoji:'夺冀',
duoji_info:'限定技,出牌阶段,你可弃置两张手牌并选择一名装备区有牌的其他角色。你获得其装备区里的所有牌。',
re_handang:'手杀韩当',
luotong:'骆统',
qinzheng:'勤政',
qinzheng_info:'锁定技当你使用或打出牌时若你本局游戏内使用或打出过的牌数和为3的倍数你从牌堆中获得一张【杀】或【闪】为5的倍数你从牌堆中获得一张【桃】或【酒】为8的倍数你从牌堆中获得一张【决斗】或【无中生有】。',
sp_duyu:'SP杜预',
spwuku:'武库',
spwuku_info:'锁定技当有角色使用装备牌时若你的“武库”数小于3则你获得一个“武库”。',
spwuku_info_guozhan:'锁定技当有其他势力的角色使用装备牌时若你的“武库”数小于2则你获得一个“武库”。',
spsanchen:'三陈',
spsanchen_info:'觉醒技结束阶段若你的“武库”数大于2则你加1点体力上限并回复1点体力然后获得〖灭吴〗。',
spmiewu:'灭吴',
spmiewu2:'灭吴',
spmiewu_backup:'灭吴',
spmiewu_info:'每回合限一次。你可弃置一枚“武库”并将一张牌当做任意基本牌或锦囊牌使用,然后摸一张牌。',
sp_bianfuren:'SP卞夫人',
spwanwei:'挽危',
spwanwei_info:'每轮累计限一次。①出牌阶段你可选择一名其他角色。②当有其他角色处于濒死状态时。你可令该角色回复X+1点体力至少回复至1然后你失去X点体力。X为你的体力值',
spyuejian:'约俭',
spyuejian_info:'锁定技你的手牌上限基数等于你的体力上限。当你处于濒死状态时你可弃置两张牌然后回复1点体力。',
feiyi:'费祎',
reshengxi:'生息',
reshengxi_info:'结束阶段,若你于本回合内未造成过伤害,则你可摸两张牌。',
fyjianyu:'谏喻',
fyjianyu_info:'每轮限一次。出牌阶段你可选择两名角色令这些角色获得“喻”直到你的下回合开始。当一名有“喻”的角色A使用牌指定另一名有“喻”的角色B为目标时你令B摸一张牌。',
fyjianyux:'谏喻',
refubi:'辅弼',
refubi_info:'游戏开始时,你可令一名其他角色获得“辅弼”标记。有“辅弼”标记的角色的出牌阶段开始时,你可选择一项:①令其本回合使用【杀】的次数上限+1。②令其本回合的手牌上限+3。',
rezuici:'罪辞',
rezuici_backup:'罪辞',
rezuici_info:'出牌阶段或当你处于濒死状态时你可以废除一个有牌的装备栏并回复2点体力然后可以移动“辅弼”标记。',
mobile_standard:'手杀异构·标准包',
mobile_shenhua:'手杀异构·神话再临',

View File

@ -458,6 +458,7 @@ window.noname_character_rank={
'sp_chenzhen',
'sp_wangcan',
'caosong',
'sp_duyu',
],
bp:[
'chess_diaochan',
@ -655,6 +656,8 @@ window.noname_character_rank={
'jin_simazhao',
'jin_zhangchunhua',
'xin_handang',
'luotong',
'feiyi',
],
b:[
'diy_feishi',
@ -807,6 +810,7 @@ window.noname_character_rank={
'ns_caimao',
'sp_zhangliao',
'xinxianying',
'sp_bianfuren',
'key_haruko',
'key_rei',
'key_komari',
@ -968,6 +972,7 @@ window.noname_character_rank={
'sp_xunchen',
'zhaozhong',
'zongyu',
'sp_sunshao',
],
c:[
'xiahoudun',
@ -1010,7 +1015,6 @@ window.noname_character_rank={
'panfeng',
'hanba',
'ns_fanchou',
'sp_sunshao',
'zhangchunhua',
],
d:[
@ -1294,6 +1298,7 @@ window.noname_character_rank={
'fanyufeng',
're_taoqian',
'caosong',
'sp_duyu',
'key_haruko',
'key_akiko',
'key_sunohara',
@ -1595,6 +1600,9 @@ window.noname_character_rank={
'zhaozhong',
're_zhangchunhua',
'xin_handang',
'sp_bianfuren',
'luotong',
'feiyi',
],
junk:[
'sunshao',

View File

@ -9142,7 +9142,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
gzquanji_info:'当你受到伤害后或当你使用牌指定唯一目标并对其造成伤害后,你可以摸一张牌,然后你将一张牌置于武将牌上,称为“权”;你的手牌上限+XX为“权”的数量。',
gzpaiyi:'排异',
gzpaiyi_backup:'排异',
gzpaiyi_info:'出牌阶段,你可以将移去一张“权”放入弃牌堆然后选择一名角色并令其摸X张牌X为“权”的数量若其手牌数不小于你则你对其造成1点伤害且本技能于此回合内失效。',
gzpaiyi_info:'出牌阶段,你可以将移去一张“权”然后选择一名角色并令其摸X张牌X为“权”的数量若其手牌数不小于你则你对其造成1点伤害且本技能于此回合内失效。',
refresh_standard:'界限突破·标',
refresh_feng:'界限突破·风',

View File

@ -129,7 +129,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
yuejin:['male','wei',4,['xiaoguo']],
chendong:['male','wu',4,['duanxie','fenming']],
sp_dongzhuo:['male','qun',5,['hengzheng']],
jiangfei:['male','shu',3,['shengxi','shoucheng']],
jiangfei:['male','shu',3,['reshengxi','shoucheng']],
jiangqing:['male','wu',4,['shangyi','zniaoxiang']],
hetaihou:['female','qun',3,['zhendu','qiluan']],
kongrong:['male','qun',3,['lirang','mingshi']],
@ -13152,12 +13152,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
huxiao:{
trigger:{source:'damageSource'},
//silent:true,
forced:true,
filter:function(event,player){
if(event._notrigger.contains(event.player)) return false;
return event.nature=='fire';
},
logTarget:'player',
content:function(){
if(!player.storage.huxiao3){
player.storage.huxiao3=[];
@ -13166,17 +13166,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
trigger.player.draw();
player.addTempSkill('huxiao3');
},
//group:['huxiao_clear'],
subSkill:{
clear:{
trigger:{source:'damageSource'},
priority:-7,
silent:true,
content:function(){
delete player.storage.huxiao;
}
}
}
},
huxiao3:{
onremove:true,

View File

@ -3983,6 +3983,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
usable:1,
logTarget:'target',
filter:function(event,player){
if(event.card.name!='sha') return false;
if(event.parent.gongjian_targets&&event.parent.gongjian_targets.filter(function(target){
return event.targets.contains(target);
}).length>0) return event.target.countDiscardableCards(player,'he')>0;
var evt=event.getParent();
var history=player.getAllHistory('useCard',function(evtx){
return evtx.card.name=='sha'
@ -4006,6 +4010,21 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(cards.length) player.gain(cards,'gain2','log');
}
},
group:'gongjian_count',
subSkill:{
count:{
trigger:{global:'useCard1'},
silent:true,
firstDo:true,
filter:function(event,player){
return event.card&&event.card.name=='sha';
},
content:function(){
if(player.storage.gongjian) trigger.gongjian_targets=player.storage.gongjian;
player.storage.gongjian=trigger.targets;
},
},
},
},
kuimang:{
audio:2,
@ -9789,7 +9808,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
zhanwan_info:'锁定技,有“流”的角色于弃牌阶段弃牌后,你摸等量的牌,然后其移去所有的“流”。',
zhujun:'朱儁',
gongjian:'攻坚',
gongjian_info:'每回合限一次,当你使用【杀】指定目标后,若此【杀】和你使用的上一张【杀】有相同的目标,则你可以弃置其两张牌,然后获得以此法弃置的所有【杀】。',
gongjian_info:'每回合限一次,当你使用【杀】指定目标后,若此【杀】和你使用的上一张【杀】或场上使用的上一张【杀】有相同的目标,则你可以弃置其两张牌,然后获得以此法弃置的所有【杀】。',
kuimang:'溃蟒',
kuimang_info:'锁定技,一名角色死亡后,若你对其造成过伤害,你摸两张牌。',
liuhong:'刘宏',

View File

@ -3128,8 +3128,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
yxswushuang_info:'出牌阶段你使用【杀】时可同时打出两张【杀】则该【杀】具有以下效果之一1伤害+12额外指定两个目标',
xiaoyong:'骁勇',
xiaoyong_info:'你可以将黑色手牌当作【杀】来使用',
qinzheng:'亲征',
qinzheng_info:'出牌阶段,你对其他角色造成伤害时,可以令场上任意角色摸一张牌。',
yxsqinzheng:'亲征',
yxsqinzheng_info:'出牌阶段,你对其他角色造成伤害时,可以令场上任意角色摸一张牌。',
juma:'拒马',
juma_info:'你与其他角色的距离始终视为1。',
},

View File

@ -1,5 +1,5 @@
window.noname_asset_list=[
'v1.9.109.3.5',
'v1.9.109.3.7',
'audio/background/aozhan_chaoming.mp3',
'audio/background/aozhan_online.mp3',
'audio/background/aozhan_rewrite.mp3',
@ -696,6 +696,11 @@ window.noname_asset_list=[
'audio/die/re_zhangchunhua.mp3',
'audio/die/xin_handang.mp3',
'audio/die/zhaozhong.mp3',
'audio/die/feiyi.mp3',
'audio/die/luotong.mp3',
'audio/die/sp_bianfuren.mp3',
'audio/die/sp_duyu.mp3',
'audio/die/zongyu.mp3',
'audio/skill/decadezishou1.mp3',
'audio/skill/decadezishou2.mp3',
@ -3062,6 +3067,26 @@ window.noname_asset_list=[
'audio/skill/yixiang_re_taoqian2.mp3',
'audio/skill/zhaohuo_re_taoqian1.mp3',
'audio/skill/zhaohuo_re_taoqian2.mp3',
'audio/skill/chengshang1.mp3',
'audio/skill/chengshang2.mp3',
'audio/skill/fyjianyu1.mp3',
'audio/skill/fyjianyu2.mp3',
'audio/skill/qinzheng1.mp3',
'audio/skill/qinzheng2.mp3',
'audio/skill/shengxi_feiyi1.mp3',
'audio/skill/shengxi_feiyi2.mp3',
'audio/skill/spmiewu1.mp3',
'audio/skill/spmiewu2.mp3',
'audio/skill/spsanchen1.mp3',
'audio/skill/spsanchen2.mp3',
'audio/skill/spwanwei1.mp3',
'audio/skill/spwanwei2.mp3',
'audio/skill/spwuku1.mp3',
'audio/skill/spwuku2.mp3',
'audio/skill/spyuejian1.mp3',
'audio/skill/spyuejian2.mp3',
'audio/skill/zyqiao1.mp3',
'audio/skill/zyqiao2.mp3',
'audio/voice/male/0.mp3',
'audio/voice/male/1.mp3',
@ -3859,6 +3884,10 @@ window.noname_asset_list=[
'image/character/xin_handang.jpg',
'image/character/zongyu.jpg',
'image/character/key_ushio.jpg',
'image/character/feiyi.jpg',
'image/character/luotong.jpg',
'image/character/sp_bianfuren.jpg',
'image/character/sp_duyu.jpg',
'image/character/baiwuchang.jpg',
'image/character/baosanniang.jpg',

View File

@ -1,19 +1,19 @@
window.noname_update={
version:'1.9.109.3.6',
update:'1.9.109.3.5',
version:'1.9.109.3.7',
update:'1.9.109.3.6',
changeLog:[
'野心家钟会',
'SP卞夫人、费祎、骆统、群杜预',
'bug修复',
],
files:[
//'card/extra.js',
//'card/gujian.js',
'card/guozhan.js',
//'card/guozhan.js',
//'card/gwent.js',
//'card/huanlekapai.js',
//'card/mtg.js',
//'card/sp.js',
//'card/standard.js',
'card/standard.js',
//'card/swd.js',
//'card/yunchou.js',
//'card/yingbian.js',
@ -25,22 +25,22 @@ window.noname_update={
//'character/gujian.js',
//'character/gwent.js',
//'character/hearth.js',
//'character/mobile.js',
'character/mobile.js',
//'character/mtg.js',
//'character/old.js',
//'character/ow.js',
//'character/rank.js',
'character/rank.js',
'character/refresh.js',
//'character/shenhua.js',
//'character/sp.js',
//'character/sp2.js',
'character/sp.js',
'character/sp2.js',
//'character/tw.js',
//'character/standard.js',
//'character/swd.js',
//'character/xianjian.js',
//'character/xinghuoliaoyuan.js',
//'character/yijiang.js',
//'character/yxs.js',
'character/yxs.js',
//'extension/boss/extension.js',
//'layout/default/layout.css',
//'layout/default/menu.css',
@ -55,7 +55,7 @@ window.noname_update={
//'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/feiyi.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 168 KiB

BIN
image/character/luotong.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 187 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 199 KiB

BIN
image/character/sp_duyu.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 175 KiB

View File

@ -295,7 +295,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
'gz_weiyan','gz_huangyueying','gz_zhugeliang',
'gz_lingtong','gz_sunshangxiang','gz_sunce',
'gz_re_yuanshao','gz_yuanshu','gz_hetaihou',
'gz_jin_simashi','gz_tangzi',
'gz_jin_simashi','gz_tangzi','gz_sp_duyu',
],
'6':[
'gz_zhenji','gz_guojia','gz_yujin',
@ -353,7 +353,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
guozhan_double:['gz_tangzi','gz_liuqi','gz_mengda','gz_mifangfushiren','gz_zhanglu','gz_shixie'],
guozhan_yexinjia:['gz_zhonghui'],
guozhan_zongheng:['gz_huaxin','gz_luyusheng','gz_zongyu'],
guozhan_others:["gz_lingcao","gz_lifeng","gz_beimihu","gz_jianggan","gz_key_ushio"],
guozhan_others:["gz_lingcao","gz_lifeng","gz_beimihu","gz_jianggan","gz_key_ushio","gz_sp_duyu"],
}
},
characterPack:{
@ -368,6 +368,8 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
gz_shibing2qun:['female','qun',0,[],['unseen']],
gz_shibing1jin:['male','qun',0,[],['unseen']],
gz_shibing2jin:['female','qun',0,[],['unseen']],
gz_shibing1ye:['male','qun',0,[],['unseen']],
gz_shibing2ye:['female','qun',0,[],['unseen']],
gz_zhonghui:['male','ye',4,['gzquanji','gzpaiyi']],
gz_tangzi:['male','wei',4,['gzxingzhao'],['doublegroup:wei:wu']],
@ -445,7 +447,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
gz_dengai:['male','wei',4,['tuntian','ziliang','gzjixi'],['gzskin','die_audio']],
gz_caohong:['male','wei',4,['huyuan','heyi'],['gzskin']],
gz_jiangfei:['male','shu',3,['shengxi','gzshoucheng']],
gz_jiangfei:['male','shu',3,['reshengxi','gzshoucheng']],
gz_jiangwei:['male','shu',4,['tiaoxin','yizhi','tianfu'],['gzskin']],
gz_xusheng:['male','wu',4,['yicheng'],['gzskin']],
gz_jiangqing:['male','wu',4,['gzshangyi','niaoxiang']],
@ -477,6 +479,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
gz_lifeng:['male','shu',3,['tunchu','shuliang']],
gz_beimihu:["female","qun",3,["hmkguishu","hmkyuanyu"]],
gz_jianggan:["male","wei",3,["weicheng","daoshu"]],
gz_sp_duyu:['male','qun',4,['spwuku','spmiewu']],
gz_huaxin:['male','wei',3,['wanggui','xibing']],
gz_luyusheng:['female','wu',3,['zhente','zhiwei']],
gz_zongyu:['male','shu',3,['zyqiao','chengshang']],
@ -8274,6 +8277,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
junling6_bg:'令',
junling6_info:'若被执行,执行者选择一张手牌和一张装备区内牌(若有),然后弃置其余的牌。',
gz_sp_duyu:'杜预',
gzpozhen:'破阵',
gzpozhen_info:'限定技,其他角色的回合开始时,你可以令其本回合不可使用、打出或重铸手牌;若其处于队列或围攻关系中,你可依次弃置此队列或参与围攻关系的其他角色的一张牌。',
gzjiancai:'荐才',
@ -8572,6 +8576,8 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
gz_shibing2qun:'群兵',
gz_shibing1jin:'晋兵',
gz_shibing2jin:'晋兵',
gz_shibing1ye:'士兵',
gz_shibing2ye:'士兵',
gzduanchang:'断肠',
gzduanchang_info:'锁定技,当你死亡时,你令杀死你的角色失去一张武将牌上的所有技能。',
gzweimu:'帷幕',