The end of Charlotte
This commit is contained in:
parent
1ca5185a98
commit
903fc118ce
|
@ -605,25 +605,31 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
skill:{
|
||||
jinhe_lose:{
|
||||
trigger:{player:'loseEnd'},
|
||||
trigger:{
|
||||
player:['loseAfter','equipAfter'],
|
||||
},
|
||||
equipSkill:true,
|
||||
forced:true,
|
||||
filter:function(event,player){
|
||||
if(event.type!='discard'||!_status.jinhe||event.getParent(2).name=='jinhe_skill'&&event.getParent(2).player==player) return false;
|
||||
for(var i=0;i<event.es.length;i++){
|
||||
if(event.es[i].name=='jinhe'&&_status.jinhe[event.es[i].cardid]) return true;
|
||||
if(event.getl===false) return false;
|
||||
if(event.name=='lose'&&event.position!=ui.discardPile||!_status.jinhe||event.getParent(2).name=='jinhe_skill'&&event.getParent(2).player==player) return false;
|
||||
var evt=event.getl(player);
|
||||
if(!evt) return false;
|
||||
for(var i=0;i<evt.es.length;i++){
|
||||
if(evt.es[i].name=='jinhe'&&_status.jinhe[evt.es[i].cardid]) return true;
|
||||
}
|
||||
return false;
|
||||
},
|
||||
content:function(){
|
||||
"step 0"
|
||||
for(var i=0;i<trigger.es.length;i++){
|
||||
if(trigger.es[i].name=='jinhe'&&_status.jinhe[trigger.es[i].cardid]){
|
||||
var card=_status.jinhe[trigger.es[i].cardid].card;
|
||||
var es=trigger.getl(player).es;
|
||||
for(var i=0;i<es.length;i++){
|
||||
if(es[i].name=='jinhe'&&_status.jinhe[es[i].cardid]){
|
||||
var card=_status.jinhe[es[i].cardid].card;
|
||||
game.cardsDiscard(card);
|
||||
player.$throw(card);
|
||||
game.log(card,'进入了弃牌堆');
|
||||
delete _status.jinhe[trigger.es[i].cardid];
|
||||
delete _status.jinhe[es[i].cardid];
|
||||
};
|
||||
}
|
||||
game.broadcastAll(function(jinhe){
|
||||
|
|
135
character/diy.js
135
character/diy.js
|
@ -3,7 +3,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
return {
|
||||
name:'diy',
|
||||
connect:true,
|
||||
connectBanned:['diy_tianyu','diy_yangyi','diy_lukang','ns_huamulan','ns_yuji','ns_duangui','ns_liuzhang'],
|
||||
connectBanned:['diy_tianyu','diy_yangyi','diy_lukang','ns_huamulan','ns_yuji','ns_duangui','ns_liuzhang','key_yuu'],
|
||||
character:{
|
||||
sp_key_yuri:['female','qun',4,['mubing','diaoling']],
|
||||
ns_zhangwei:['female','wei',3,['nsqiyue','nsxuezhu']],
|
||||
|
@ -58,6 +58,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
key_akiko:['female','key',3,['akiko_dongcha']],
|
||||
key_abyusa:['female','key',3,['abyusa_jueqing','abyusa_dunying']],
|
||||
key_godan:['male','key',6,['godan_yuanyi','godan_feiqu','godan_xiaoyuan']],
|
||||
key_yuu:['male','key',3,['yuu_lveduo']],
|
||||
|
||||
key_kud:['female','key',3,['kud_qiaoshou','kud_buhui']],
|
||||
key_misuzu:['female','key',3,['misuzu_hengzhou','misuzu_nongyin','misuzu_zhongxing']],
|
||||
|
@ -133,6 +134,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
ns_xinnanhua:['male','qun',3,['ns_xiandao','ns_xiuzheng','ns_chuanshu'],[]],
|
||||
},
|
||||
characterFilter:{
|
||||
key_yuu:function(mode){
|
||||
return mode=='identity'||mode=='doudizhu'||mode=='single'||(mode=='versus'&&_status.mode!='standard');
|
||||
},
|
||||
key_tomoya:function(mode){
|
||||
return mode!='chess'&&mode!='tafang'&&mode!='stone';
|
||||
},
|
||||
|
@ -152,7 +156,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
"ns_huangchengyan","ns_sunchensunjun","ns_yuanxi","ns_caoshuang"],
|
||||
diy_tieba:["diy_wenyang","ns_zuoci","ns_lvzhi","ns_wangyun","ns_nanhua","ns_nanhua_left","ns_nanhua_right","ns_huamulan","ns_huangzu","ns_jinke","ns_yanliang","ns_wenchou","ns_caocao","ns_caocaosp","ns_zhugeliang","ns_wangyue","ns_yuji","ns_xinxianying","ns_guanlu","ns_simazhao","ns_sunjian","ns_duangui","ns_zhangbao","ns_masu","ns_zhangxiu","ns_lvmeng","ns_shenpei","ns_yujisp","ns_yangyi","ns_liuzhang","ns_xinnanhua","ns_zhangwei"],
|
||||
diy_default:["diy_feishi","diy_liuyan","diy_yuji","diy_caiwenji","diy_lukang","diy_zhenji","diy_liufu","diy_xizhenxihong","diy_liuzan","diy_zaozhirenjun","diy_yangyi","diy_tianyu"],
|
||||
diy_key:["key_lucia","key_kyousuke","key_yuri","key_haruko","key_umi","key_rei","key_komari","key_yukine","key_yusa","key_misa","key_masato","key_iwasawa","key_kengo","key_yoshino","key_yui","key_tsumugi","key_saya","key_harukakanata","key_inari","key_shiina","key_sunohara","key_rin","key_sasami","key_akane","key_doruji","key_yuiko","key_riki","key_hisako","key_hinata","key_noda","key_tomoya","key_nagisa","key_ayato","key_ao","key_yuzuru","sp_key_kanade","key_mio","key_midori","key_kyoko","key_shizuru","key_shiorimiyuki","key_miki","key_shiori","key_kaori","sp_key_yuri","key_akiko","key_abyusa","key_godan"],
|
||||
diy_key:["key_lucia","key_kyousuke","key_yuri","key_haruko","key_umi","key_rei","key_komari","key_yukine","key_yusa","key_misa","key_masato","key_iwasawa","key_kengo","key_yoshino","key_yui","key_tsumugi","key_saya","key_harukakanata","key_inari","key_shiina","key_sunohara","key_rin","key_sasami","key_akane","key_doruji","key_yuiko","key_riki","key_hisako","key_hinata","key_noda","key_tomoya","key_nagisa","key_ayato","key_ao","key_yuzuru","sp_key_kanade","key_mio","key_midori","key_kyoko","key_shizuru","key_shiorimiyuki","key_miki","key_shiori","key_kaori","sp_key_yuri","key_akiko","key_abyusa","key_godan","key_yuu"],
|
||||
diy_yongjian:["ns_chendao","yj_caoang"],
|
||||
},
|
||||
},
|
||||
|
@ -168,6 +172,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
diy_tianyu:'字国让,渔阳雍奴(今天津市武清区东北)人。三国时期曹魏将领。初从刘备,因母亲年老回乡,后跟随公孙瓒,公孙瓒败亡,劝说鲜于辅加入曹操。曹操攻略河北时,田豫正式得到曹操任用,历任颖阴、郎陵令、弋阳太守等。',
|
||||
},
|
||||
characterTitle:{
|
||||
key_yuu:'#bCharlotte',
|
||||
key_godan:'#rAngel Beats!',
|
||||
key_abyusa:'#rAngel Beats!',
|
||||
key_akiko:'#bKanon',
|
||||
|
@ -321,6 +326,118 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
key_lucia:['key_shizuru'],
|
||||
},
|
||||
skill:{
|
||||
yuu_lveduo:{
|
||||
mod:{
|
||||
cardEnabled:function(card,player){
|
||||
if(player.isTurnedOver()) return false;
|
||||
},
|
||||
cardRespondable:function(card,player){
|
||||
if(player.isTurnedOver()) return false;
|
||||
},
|
||||
cardSavable:function(card,player){
|
||||
if(player.isTurnedOver()) return false;
|
||||
},
|
||||
},
|
||||
trigger:{global:'phaseBeginStart'},
|
||||
filter:function(event,player){
|
||||
return player!=event.player&&!event.player._trueMe&&!player.getStorage('yuu_lveduo').contains(event.player)&&!player.isTurnedOver()&&!player.hasSkill('yuu_lveduo4');
|
||||
},
|
||||
charlotte:true,
|
||||
check:function(event,player){
|
||||
if(get.attitude(player,event.player)>0) return false;
|
||||
if(event.player.hasJudge('lebu')||!event.player.needsToDiscard()) return false;
|
||||
return true;
|
||||
},
|
||||
logTarget:'player',
|
||||
content:function(){
|
||||
'step 0'
|
||||
player.turnOver();
|
||||
'step 1'
|
||||
if(player.isTurnedOver()){
|
||||
player.addTempSkill('yuu_lveduo4','roundStart')
|
||||
if(!player.storage.yuu_lveduo) player.storage.yuu_lveduo=[];
|
||||
player.storage.yuu_lveduo.push(trigger.player);
|
||||
trigger.player._trueMe=player;
|
||||
game.addGlobalSkill('autoswap');
|
||||
if(trigger.player==game.me){
|
||||
game.notMe=true;
|
||||
if(!_status.auto) ui.click.auto();
|
||||
}
|
||||
player.addSkill('yuu_lveduo2');
|
||||
trigger.player.addSkill('yuu_lveduo3');
|
||||
}
|
||||
},
|
||||
},
|
||||
yuu_lveduo2:{
|
||||
trigger:{
|
||||
player:'turnOverEnd',
|
||||
},
|
||||
lastDo:true,
|
||||
charlotte:true,
|
||||
forceDie:true,
|
||||
forced:true,
|
||||
silent:true,
|
||||
filter:function(event,player){
|
||||
return !player.isTurnedOver();
|
||||
},
|
||||
content:function(){
|
||||
var target=game.findPlayer(function(current){
|
||||
return current._trueMe==player;
|
||||
});
|
||||
if(target){
|
||||
if(target==game.me){
|
||||
if(!game.notMe) game.swapPlayerAuto(target._trueMe)
|
||||
else delete game.notMe;
|
||||
if(_status.auto) ui.click.auto();
|
||||
}
|
||||
delete target._trueMe;
|
||||
target.removeSkill('yuu_lveduo3');
|
||||
var skills=target.getStockSkills(true,true).filter(function(skill){
|
||||
var info=get.info(skill);
|
||||
return info&&info.charlotte==true;
|
||||
});
|
||||
if(skills.length){
|
||||
target.removeSkill(skills);
|
||||
player.addSkill(skills);
|
||||
lib.translate.yuu_lveduo_info=lib.translate.yuu_lveduo_full_info;
|
||||
}
|
||||
if(target.name=='key_yusa'){
|
||||
delete target.storage.dualside;
|
||||
target.storage.dualside_over=true;
|
||||
target.unmarkSkill('dualside');
|
||||
target.removeSkill('dualside');
|
||||
}
|
||||
else if(target.name=='key_misa'){
|
||||
delete target.storage.dualside;
|
||||
target.storage.dualside_over=true;
|
||||
target.unmarkSkill('dualside');
|
||||
target.reinit('key_misa','key_yusa');
|
||||
target.removeSkill('yusa_misa');
|
||||
target.removeSkill('dualside');
|
||||
target.turnOver(false);
|
||||
}
|
||||
}
|
||||
player.removeSkill('yuu_lveduo2');
|
||||
},
|
||||
},
|
||||
yuu_lveduo3:{
|
||||
trigger:{
|
||||
player:['phaseAfter','dieAfter'],
|
||||
global:'phaseBefore',
|
||||
},
|
||||
lastDo:true,
|
||||
charlotte:true,
|
||||
forceDie:true,
|
||||
forced:true,
|
||||
silent:true,
|
||||
content:function(){
|
||||
player.removeSkill('yuu_lveduo3');
|
||||
},
|
||||
onremove:function(player){
|
||||
if(player._trueMe&&player._trueMe.isTurnedOver()) player._trueMe.turnOver();
|
||||
},
|
||||
},
|
||||
yuu_lveduo4:{},
|
||||
godan_yuanyi:{
|
||||
trigger:{player:'phaseBegin'},
|
||||
forced:true,
|
||||
|
@ -881,6 +998,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
misuzu_hengzhou:{
|
||||
trigger:{player:['phaseJieshuBegin','recoverEnd','damageEnd','phaseDrawBegin2','phaseZhunbeiBegin']},
|
||||
forced:true,
|
||||
character:true,
|
||||
filter:function(event,player){
|
||||
if(event.name=='phaseZhunbei') return true;
|
||||
if(['damage','recover'].contains(event.name)) return event.num>0;
|
||||
|
@ -1519,6 +1637,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
shizuru_nianli:{
|
||||
enable:'chooseToUse',
|
||||
charlotte:true,
|
||||
prompt:'展示一张♦/♣/♥/♠手牌,然后视为使用一张雷杀/闪/桃/无懈可击',
|
||||
viewAs:function(cards,player){
|
||||
var name=false;
|
||||
|
@ -1877,6 +1996,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
trigger:{player:'phaseZhunbeiBegin'},
|
||||
limited:true,
|
||||
unique:true,
|
||||
charlotte:true,
|
||||
skillAnimation:true,
|
||||
animationColor:'water',
|
||||
filter:function(event,player){
|
||||
|
@ -1899,6 +2019,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
midori_nonghuan:{
|
||||
enable:'phaseUse',
|
||||
charlotte:true,
|
||||
filter:function(event,player){
|
||||
return (player.getStat('skill').midori_nonghuan||0)<player.hp;
|
||||
},
|
||||
|
@ -1949,6 +2070,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
midori_tishen:{
|
||||
trigger:{player:'phaseZhunbeiBegin'},
|
||||
limited:true,
|
||||
charlotte:true,
|
||||
unique:true,
|
||||
skillAnimation:true,
|
||||
animationColor:'water',
|
||||
|
@ -2476,6 +2598,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
nagisa_tiandu:{
|
||||
trigger:{player:'judgeEnd'},
|
||||
charlotte:true,
|
||||
frequent:function(event){
|
||||
if(event.result.card.name=='du') return false;
|
||||
return true;
|
||||
|
@ -2754,6 +2877,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
hisako_zhuanyun:{
|
||||
trigger:{player:'judgeBegin'},
|
||||
forced:true,
|
||||
charlotte:true,
|
||||
silent:true,
|
||||
filter:function(event,player){
|
||||
return !event.directresult;
|
||||
|
@ -3866,6 +3990,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
tsumugi_huilang:{
|
||||
trigger:{player:'phaseEnd'},
|
||||
charlotte:true,
|
||||
line:{color:[253, 198, 116]},
|
||||
direct:true,
|
||||
filter:function(event,player){
|
||||
|
@ -5516,7 +5641,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
check:function(event,player){
|
||||
if(['equip','delay'].contains(get.type(event.card))) return get.attitude(player,event.player)<0;
|
||||
return get.value(event.cards.filterInD()>0);
|
||||
return get.value(event.cards.filterInD())>0;
|
||||
},
|
||||
logTarget:'player',
|
||||
content:function(){
|
||||
|
@ -10371,6 +10496,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
key_akiko:'水濑秋子',
|
||||
key_abyusa:'游佐',
|
||||
key_godan:'松下护騨',
|
||||
key_yuu:'乙坂有宇',
|
||||
lucia_duqu:'毒躯',
|
||||
lucia_duqu_info:'锁定技,①当你对其他角色造成伤害或受到其他角色的伤害时,你和对方各获得一张花色点数随机的【毒】。<br>②当你因【毒】失去体力时,你改为回复等量的体力。<br>③当你处于濒死状态时,你可以使用一张【毒】(每回合限一次)。',
|
||||
lucia_zhenren:'振刃',
|
||||
|
@ -10619,6 +10745,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
godan_feiqu_info:'锁定技,当你使用【杀】时,或你成为【杀】的目标后,你令此【杀】不可被响应。',
|
||||
godan_xiaoyuan:'消元',
|
||||
godan_xiaoyuan_info:'觉醒技,当你扣减体力时,若你的体力值小于4,则你减3点体力上限并摸三张牌,失去【肥躯】。',
|
||||
yuu_lveduo:'掠夺',
|
||||
yuu_lveduo_info:'每轮限一次,其他角色的回合开始时,若你本局游戏内未对其发动过〖掠夺〗且你的武将牌正面朝上,你可以将武将牌翻面并获得该角色本回合内的控制权。此回合结束时,你将武将牌翻回正面。锁定技,若你的武将牌背面朝上,则你不能使用或打出牌。',
|
||||
yuu_lveduo_full_info:'每轮限一次,其他角色的回合开始时,若你本局游戏内未对其发动过〖掠夺〗且你的武将牌正面朝上,你可以将武将牌翻面并获得该角色本回合内的控制权。此回合结束时,你将武将牌翻回正面,获得该角色武将牌上所有的带有「Charlotte」标签的技能,且该角色失去这些技能。锁定技,若你的武将牌背面朝上,则你不能使用或打出牌。',
|
||||
|
||||
key_kud:'库特莉亚芙卡',
|
||||
kud_qiaoshou:'巧手',
|
||||
|
|
|
@ -51,7 +51,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
characterFilter:{
|
||||
shen_diaochan:function(mode){
|
||||
return mode=='identity'||mode=='doudizhu';
|
||||
return mode=='identity'||mode=='doudizhu'||mode=='single'||(mode=='versus'&&_status.mode!='standard');
|
||||
},
|
||||
},
|
||||
skill:{
|
||||
|
@ -154,8 +154,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
else event.finish();
|
||||
'step 3'
|
||||
if(result.bool!==true) targets[0].addMark('huoxin',1);
|
||||
if(result.bool!==false) targets[1].addMark('huoxin',1);
|
||||
if(result.winner!==targets[0]) targets[0].addMark('huoxin',1);
|
||||
if(result.winner!==targets[1]) targets[1].addMark('huoxin',1);
|
||||
},
|
||||
marktext:'魅',
|
||||
intro:{
|
||||
|
@ -3594,7 +3594,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
caopi_xingdong_info:'出牌阶段限一次,你可以将一张【杀】或普通锦囊牌交给一名其他角色,然后该角色选择一项:对除你以外的角色使用此牌并在此牌结算完成后和你各摸一张牌;或跳过下回合的判定阶段和摸牌阶段。',
|
||||
shen_diaochan:'神貂蝉',
|
||||
meihun:'魅魂',
|
||||
meihun_info:'结束阶段或当你成为【杀】的目标后,你可以令一名其他角色交给你一张你声明的花色的牌,若其没有则你观看其手牌然后弃置其中一张。',
|
||||
meihun_info:'结束阶段或当你成为【杀】的目标后,你可以令一名其他角色交给你一张你声明的花色的手牌,若其没有则你观看其手牌然后弃置其中一张。',
|
||||
huoxin_control:'惑心',
|
||||
huoxin:'惑心',
|
||||
huoxin_info:'出牌阶段限一次,你可以展示两张花色相同的手牌并分别交给两名其他角色,然后令这两名角色拼点,没赢的角色获得1个“魅惑”标记。拥有2个或更多“魅惑”的角色回合即将开始时,该角色移去其所有“魅惑”,此回合改为由你操控。',
|
||||
|
|
|
@ -75,7 +75,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
jiaxu:['liqueguosi'],
|
||||
re_yuanshao:['yanwen'],
|
||||
menghuo:['zhurong'],
|
||||
sp_zhugeliang:['pangtong'],
|
||||
sp_zhugeliang:['pangtong','huangyueying'],
|
||||
sunce:['zhouyu','taishici','daqiao'],
|
||||
zuoci:['yuji'],
|
||||
xunyu:['xunyou'],
|
||||
|
|
|
@ -11,7 +11,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
sp_sticker:['sp_gongsunzan','sp_simazhao','sp_wangyuanji','sp_xinxianying','sp_liuxie'],
|
||||
sp_guozhan:["zangba","shamoke","ganfuren","yuejin","hetaihou","dingfeng","panfeng","jianggan"],
|
||||
sp_guozhan2:["mifuren","mateng","tianfeng","chendong","sp_dongzhuo","jiangfei","jiangqing","kongrong","bianfuren","liqueguosi","lvfan","cuimao","jiling","zhangren","zoushi"],
|
||||
sp_single:["hejin","hansui","niujin"],
|
||||
sp_single:["niujin"],
|
||||
sp_others:["hanba","caiyang"],
|
||||
},
|
||||
},
|
||||
|
@ -33,8 +33,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
yuantanyuanshang:['male','qun',4,['neifa']],
|
||||
xujing:['male','shu',3,['yuxu','xjshijian']],
|
||||
|
||||
hejin:['male','qun',4,['spmouzhu']],
|
||||
hansui:['male','qun',4,['spniluan','spweiwu']],
|
||||
niujin:['male','wei',4,['cuorui','liewei']],
|
||||
jianggan:["male","wei",3,["weicheng","daoshu"]],
|
||||
|
||||
|
@ -469,7 +467,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
selectTarget:-1,
|
||||
content:function(){
|
||||
'step 0'
|
||||
target.chooseCard('he','交给'+get.translation(player)+'一张牌',true);
|
||||
if(!target.countCards('he')) event.finish();
|
||||
else target.chooseCard('he','交给'+get.translation(player)+'一张牌',true);
|
||||
'step 1'
|
||||
player.gain(result.cards,target,'giveAuto');
|
||||
'step 2'
|
||||
|
@ -8972,7 +8971,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
forced:true,
|
||||
audio:2,
|
||||
filter:function(event,player){
|
||||
return event.parent.name=='phaseDiscard'&&player.countCards('h',{type:'basic'})<player.countCards('h');
|
||||
return player.countCards('h')>player.getHandcardLimit();
|
||||
},
|
||||
content:function(){},
|
||||
mod:{
|
||||
|
@ -11680,12 +11679,17 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
},
|
||||
sijian:{
|
||||
trigger:{player:'loseAfter'},
|
||||
trigger:{
|
||||
player:'loseAfter',
|
||||
source:'gainAfter',
|
||||
global:['equipAfter','addJudgeAfter'],
|
||||
},
|
||||
direct:true,
|
||||
audio:2,
|
||||
filter:function(event,player){
|
||||
if(player.countCards('h')) return false;
|
||||
return event.hs&&event.hs.length>0;
|
||||
var evt=event.getl(player);
|
||||
return evt&&evt.hs&&evt.hs.length>0;
|
||||
},
|
||||
content:function(){
|
||||
"step 0"
|
||||
|
|
185
character/sp2.js
185
character/sp2.js
|
@ -4,6 +4,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
name:'sp2',
|
||||
connect:true,
|
||||
character:{
|
||||
hejin:['male','qun',4,['spmouzhu']],
|
||||
hansui:['male','qun',4,['spniluan','spweiwu']],
|
||||
liuhong:['male','qun',4,['yujue','tuxing'],['unseen']],
|
||||
zhujun:['male','qun',4,['gongjian','kuimang'],['unseen']],
|
||||
caoxing:['male','qun',4,['cxliushi','zhanwan'],['unseen']],
|
||||
re_maliang:['male','shu',3,['rexiemu','heli'],[]],
|
||||
ol_yujin:['male','wei',4,['rezhenjun']],
|
||||
|
@ -61,10 +65,171 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
sp_shengun:["puyuan","guanlu","gexuan","xushao"],
|
||||
sp_baigei:['re_panfeng','xingdaorong','caoxing'],
|
||||
sp_guandu:["sp_zhanghe","xunchen","sp_shenpei","gaolan","lvkuanglvxiang","chunyuqiong","sp_xuyou"],
|
||||
sp_huangjin:['liuhong','zhujun','hejin','hansui'],
|
||||
sp_decade:['wulan','leitong','huaman','wangshuang','wenyang','re_liuzan','re_sunluyu','caobuxing','ol_xinxianying','ol_yujin','re_maliang'],
|
||||
}
|
||||
},
|
||||
skill:{
|
||||
yujue:{
|
||||
derivation:'zhihu',
|
||||
enable:'phaseUse',
|
||||
usable:1,
|
||||
filter:function(event,player){
|
||||
return player.countDisabled()<5;
|
||||
},
|
||||
chooseButton:{
|
||||
dialog:function(event,player){
|
||||
return ui.create.dialog('###鬻爵###'+lib.translate.yujue_info);
|
||||
},
|
||||
chooseControl:function(event,player){
|
||||
var list=[];
|
||||
for(var i=1;i<6;i++){
|
||||
if(!player.isDisabled(i)) list.push('equip'+i);
|
||||
}
|
||||
list.push('cancel2');
|
||||
return list;
|
||||
},
|
||||
backup:function(result){
|
||||
var next=get.copy(lib.skill.yujuex);
|
||||
next.position=result.control;
|
||||
return next;
|
||||
},
|
||||
},
|
||||
},
|
||||
yujuex:{
|
||||
audio:'yujue',
|
||||
content:function(){
|
||||
'step 0'
|
||||
player.disableEquip(lib.skill.yujue_backup.position);
|
||||
'step 1'
|
||||
if(player.isAlive()&&game.hasPlayer(function(current){
|
||||
return current!=player&¤t.countCards('h');
|
||||
})){
|
||||
player.chooseTarget(true,'选择一名角色交给你一张牌并获得技能〖执笏〗',function(card,player,target){
|
||||
if(player==target) return false;
|
||||
var hs=target.countCards('h');
|
||||
return hs>0&&!game.hasPlayer(function(current){
|
||||
return current!=player&¤t!=target&¤t.countCards('h')>hs;
|
||||
});
|
||||
});
|
||||
}
|
||||
else event.finish();
|
||||
'step 2'
|
||||
if(result.bool){
|
||||
var target=result.targets[0];
|
||||
event.target=target;
|
||||
player.line(target);
|
||||
target.chooseCard('h',true,'交给'+get.translation(player)+'一张手牌');
|
||||
}
|
||||
else event.finish();
|
||||
'step 3'
|
||||
if(result.bool&&result.cards&&result.cards.length){
|
||||
player.gain(result.cards,target,'giveAuto');
|
||||
target.storage.zhihu_mark=player;
|
||||
target.addSkill('zhihu');
|
||||
target.addSkill('zhihu_mark');
|
||||
}
|
||||
},
|
||||
},
|
||||
zhihu:{
|
||||
usable:3,
|
||||
trigger:{source:'damageSource'},
|
||||
forced:true,
|
||||
filter:function(event,player){
|
||||
return player!=event.player;
|
||||
},
|
||||
content:function(){
|
||||
player.draw();
|
||||
},
|
||||
},
|
||||
zhihu_mark:{
|
||||
mark:'character',
|
||||
intro:{
|
||||
content:'以$之名,授予汝技能〖执笏〗,直至$的下回合开始为止!',
|
||||
},
|
||||
onremove:function(player){
|
||||
delete player.storage.zhihu_mark;
|
||||
player.removeSkill('zhihu');
|
||||
},
|
||||
trigger:{global:'phaseBeginStart'},
|
||||
firstDo:true,
|
||||
charlotte:true,
|
||||
silent:true,
|
||||
filter:function(event,player){
|
||||
return event.player==player.storage.zhihu_mark;
|
||||
},
|
||||
content:function(){
|
||||
player.removeSkill('zhihu_mark');
|
||||
},
|
||||
},
|
||||
tuxing:{
|
||||
trigger:{player:'disableEquipAfter'},
|
||||
forced:true,
|
||||
content:function(){
|
||||
'step 0'
|
||||
player.gainMaxHp();
|
||||
player.recover();
|
||||
'step 1'
|
||||
if(player.countDisabled()>=5){
|
||||
player.loseMaxHp(4);
|
||||
player.addSkill('tuxing2');
|
||||
}
|
||||
}
|
||||
},
|
||||
tuxing2:{
|
||||
audio:'tuxing',
|
||||
trigger:{source:'damageBegin1'},
|
||||
forced:true,
|
||||
charlotte:true,
|
||||
filter:function(event,player){
|
||||
return event.getParent().name=='sha';
|
||||
},
|
||||
content:function(){
|
||||
trigger.num++;
|
||||
},
|
||||
mark:true,
|
||||
intro:{
|
||||
content:'因执行【杀】的效果造成伤害时,此伤害+1',
|
||||
},
|
||||
},
|
||||
gongjian:{
|
||||
trigger:{player:'useCardToPlayered'},
|
||||
usable:1,
|
||||
logTarget:'target',
|
||||
filter:function(event,player){
|
||||
var evt=event.getParent();
|
||||
var history=player.getAllHistory('useCard',function(evtx){
|
||||
return evtx.card.name=='sha'
|
||||
});
|
||||
var index=history.indexOf(evt);
|
||||
return index>0&&history[index-1].targets.filter(function(target){
|
||||
return evt.targets.contains(target);
|
||||
}).length>0&&event.target.countDiscardableCards(player,'he')>0;
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
player.discardPlayerCard(trigger.target,true,'he',2);
|
||||
'step 1'
|
||||
if(result.bool){
|
||||
var cards=result.cards.filter(function(card){
|
||||
return get.name(card,card.original=='h'?trigger.target:false)=='sha';
|
||||
});
|
||||
if(cards.length) player.gain(cards,'gain2','log');
|
||||
}
|
||||
},
|
||||
},
|
||||
kuimang:{
|
||||
trigger:{global:'dieAfter'},
|
||||
forced:true,
|
||||
filter:function(event,player){
|
||||
return player.getAllHistory('sourceDamage',function(target){
|
||||
return target.player==event.player;
|
||||
}).length>0;
|
||||
},
|
||||
content:function(){
|
||||
player.draw(2);
|
||||
},
|
||||
},
|
||||
cxliushi:{
|
||||
enable:'phaseUse',
|
||||
filter:function(event,player){
|
||||
|
@ -475,7 +640,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
backup:function(links,player){
|
||||
return {
|
||||
audio:'juanhui',
|
||||
popname·true,
|
||||
popname:true,
|
||||
filterCard:true,
|
||||
viewAs:{
|
||||
name:links[0][2],
|
||||
|
@ -5265,6 +5430,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
wenyang:"文俶(238年—291年),一作文淑,字次骞,小名阿鸯,世称文鸯,谯郡(今安徽亳州市)人。魏末晋初名将,曹魏扬州刺史文钦之子。骁勇善战,依附大将军曹爽,效忠于王室。司马师废黜皇帝曹芳后,随父联合毌丘俭于淮南起兵勤王。兵败之后,向南投奔吴国。诸葛诞发动淮南叛乱,奉命率军驰援。双方发生内讧,父亲为诸葛诞所害,遂降于司马昭,封关内侯。西晋建立后,任平虏护军。咸宁三年(277年),拜平西将军、都督凉秦雍州三州军事,大破鲜卑首领秃发树机能,名震天下,迁使持节、护东夷校尉、监辽东军事。八王之乱中,为诸葛诞外孙、东安王司马繇所诬杀,惨遭灭族,时年五十四岁。",
|
||||
liuzan:'字正明,会稽长山人人,曾任左护军,有两子:留略、留平。少为会稽郡吏,曾参与镇压黄巾起义,后被东吴大将凌统所引用,任屯骑校尉。吴五凤二年(公元255年)留赞任左护军,随孙峻征淮南,因病撤军,被魏将蒋班围困于道,力战而死,时年73岁。',
|
||||
caoxing:'曹性,东汉末年吕布部将,史载他曾与身为自己上司的反叛者郝萌交战,并砍去郝萌一臂,受到吕布的嘉奖。在罗贯中所著古典小说《三国演义》中,也有关于曹性箭射夏侯惇左目的描述,而曹性也随即被暴怒的夏侯惇所杀。',
|
||||
zhujun:'朱儁(?-195年),字公伟。会稽郡上虞县(今浙江绍兴上虞区)人。东汉末年名将。朱儁出身寒门,赡养母亲,以好义轻财闻名,受乡里敬重。后被太守徐珪举为孝廉,任兰陵令,颇有治绩。再升任交州刺史,以家兵五千大破叛军,平定交州。战后以功封都亭侯,入朝为谏议大夫。光和七年(184年),黄巾起义爆发,朱儁以右中郎将、持节平定三郡之地,以功进封西乡侯,迁镇贼中郎将。又率军讨平黄巾,“威声满天下”。中平二年(185年),进拜右车骑将军,更封钱塘侯。后为河内太守,击退进逼的张燕。权臣董卓秉政时,想任朱儁为副手,遭其婉拒。其后出逃荆州,更屯军中牟,徐州刺史陶谦等欲推举他为太师,并传檄各州牧伯,相邀讨伐李傕、奉迎天子。但朱儁却奉诏入京任太仆。初平三年(192年),升任太尉、录尚书事。兴平元年(194年),行骠骑将军事,持节镇关东,因故未成行。兴平二年(195年),李傕与郭汜相互攻杀,郭汜扣留朱儁作为人质。朱儁性格刚烈,即日发病而死。',
|
||||
liuhong:'汉灵帝刘宏(157年,一作156年-189年5月13日),生于冀州河间国(今河北深州)。东汉第十二位皇帝(168年-189年在位),汉章帝刘炟的玄孙。刘宏早年世袭解渎亭侯。永康元年(167年)十二月,汉桓帝刘志逝世,刘宏被外戚窦氏挑选为皇位继承人,于建宁元年(168年)正月即位。刘宏在位的大部分时期,施行党锢及宦官政治。他又设置西园,巧立名目搜刮钱财,甚至卖官鬻爵以用于自己享乐。在位晚期,爆发了黄巾起义,而凉州等地也陷入持续动乱之中。中平六年(189年),刘宏去世,谥号孝灵皇帝,葬于文陵。刘宏喜好辞赋,作有《皇羲篇》、《追德赋》、《令仪颂》、《招商歌》等。',
|
||||
},
|
||||
characterTitle:{
|
||||
wulan:'#b对决限定武将',
|
||||
|
@ -5582,6 +5749,21 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
cxliushi_info:'出牌阶段,你可以将一张红桃牌置于牌堆顶,视为对一名角色使用一张不计入次数的【杀】。若此【杀】造成伤害,该角色手牌上限永久-1。',
|
||||
zhanwan:'斩腕',
|
||||
zhanwan_info:'锁定技,受到【流矢】效果影响的角色若弃牌阶段有弃牌,你摸等量的牌,然后移除【流矢】的效果。',
|
||||
zhujun:'朱儁',
|
||||
gongjian:'攻坚',
|
||||
gongjian_info:'每回合限一次,当你使用【杀】指定目标后,若此【杀】和你使用的上一张【杀】有相同的目标,则你可以弃置其两张牌,然后获得以此法弃置的所有【杀】。',
|
||||
kuimang:'溃蟒',
|
||||
kuimang_info:'锁定技,一名角色死亡后,若你对其造成过伤害,你摸两张牌。',
|
||||
liuhong:'刘宏',
|
||||
yujue:'鬻爵',
|
||||
yujue_backup:'鬻爵',
|
||||
yujue_info:'出牌阶段限一次,你可以废除一个装备栏,然后令除你之外手牌数最多的一名其他角色交给你一张手牌。其获得〖执笏〗直到你的下回合开始。',
|
||||
zhihu:'执笏',
|
||||
zhihu_mark:'执笏',
|
||||
zhihu_info:'锁定技,每回合限三次,当你对其他角色造成伤害后,你摸一张牌。',
|
||||
tuxing:'图兴',
|
||||
tuxing2:'图兴',
|
||||
tuxing_info:'锁定技,当你废除一个装备栏时,你加1点体力上限并回复1点体力。然后若你所有的装备栏均已被废除,则你减4点体力上限,且本局游戏内使用【杀】造成的伤害+1。',
|
||||
|
||||
sp_whlw:"文和乱武",
|
||||
sp_zlzy:"逐鹿中原",
|
||||
|
@ -5591,6 +5773,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
sp_shengun:'三国奇人传',
|
||||
sp_baigei:'无双上将',
|
||||
sp_guandu:'官渡之战',
|
||||
sp_huangjin:'黄巾之乱',
|
||||
sp_decade:'其他新服武将',
|
||||
},
|
||||
};
|
||||
|
|
|
@ -77,7 +77,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
zhenji:['caopi'],
|
||||
caocao:['xuzhu','dianwei','bianfuren'],
|
||||
huangzhong:['weiyan'],
|
||||
zhugeliang:['huangyueying','jiangwei','jiangfei'],
|
||||
zhugeliang:['jiangwei','jiangfei'],
|
||||
liubei:['guanyu','zhangfei','ganfuren'],
|
||||
zhaoyun:['liushan'],
|
||||
daqiao:['xiaoqiao'],
|
||||
|
|
|
@ -17,7 +17,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
swd_chenjingchou:['male','wu',3,['youyin','yihua']],
|
||||
swd_duguningke:['female','qun',3,['nlianji','touxi']],
|
||||
swd_guyue:['male','wei',3,['gtiandao','gxianyin','wangchen']],
|
||||
swd_tuobayuer:['female','shu',4,['liuhong','poyue','niepan']],
|
||||
swd_tuobayuer:['female','shu',4,['swdliuhong','poyue','niepan']],
|
||||
swd_yuwentuo:['male','shu',4,['wushuang','xielei','kunlunjing']],
|
||||
swd_yuxiaoxue:['female','wei',3,['huanhun','daixing','yinyue']],
|
||||
|
||||
|
@ -4005,7 +4005,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
player.recover();
|
||||
}
|
||||
},
|
||||
liuhong:{
|
||||
swdliuhong:{
|
||||
trigger:{player:['useCard']},
|
||||
frequent:true,
|
||||
filter:function(event){
|
||||
|
@ -10082,8 +10082,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
gongshen:'工神',
|
||||
gongshen_info:'任意一名其他角色使用一张基本牌或锦囊牌指定目标后,你可以弃置一张装备牌令其失效',
|
||||
|
||||
liuhong:'流虹',
|
||||
liuhong_info:'每当你使用一张杀,可以摸一张牌',
|
||||
swdliuhong:'流虹',
|
||||
swdliuhong_info:'每当你使用一张杀,可以摸一张牌',
|
||||
poyue:'破月',
|
||||
poyue_info:'锁定技,你的黑杀无视距离,红色杀不计入回合内的出杀限制且不可闪避',
|
||||
poyue_info_alter:'锁定技,你的黑杀无视距离,红色杀不可闪避',
|
||||
|
|
|
@ -421,9 +421,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
},
|
||||
},
|
||||
qinguo_use:{audio:2},
|
||||
"xinfu_qinguo":{
|
||||
group:"xinfu_qinguo_recover",
|
||||
audio:2,
|
||||
audio:'qinguo_use',
|
||||
subfrequent:['recover'],
|
||||
trigger:{
|
||||
player:"useCardEnd",
|
||||
|
@ -433,11 +434,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
direct:true,
|
||||
content:function(){
|
||||
player.chooseUseTarget({name:'sha'},get.prompt('xinfu_qinguo'),'视为使用一张【杀】',false).logSkill='qinguo_use';
|
||||
player.chooseUseTarget({name:'sha'},get.prompt('xinfu_qinguo'),'视为使用一张【杀】',false).logSkill='xinfu_qinguo';
|
||||
},
|
||||
subSkill:{
|
||||
recover:{
|
||||
audio:'xinfu_qinguo',
|
||||
audio:'qinguo_use',
|
||||
trigger:{
|
||||
player:'loseAfter',
|
||||
source:'gainAfter',
|
||||
|
|
|
@ -21,7 +21,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
old_guanzhang:['male','shu',4,['old_fuhun']],
|
||||
old_wangyi:['female','wei',3,['oldzhenlie','oldmiji']],
|
||||
caozhang:['male','wei',4,['jiangchi']],
|
||||
guohuai:['male','wei',4,['jingce']],
|
||||
guohuai:['male','wei',4,['rejingce']],
|
||||
zhangchunhua:['female','wei',3,['rejueqing','reshangshi']],
|
||||
caozhi:['male','wei',3,['luoying','jiushi']],
|
||||
caochong:['male','wei',3,['chengxiang','renxin']],
|
||||
|
@ -194,6 +194,55 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
fazheng:['liubei'],
|
||||
},
|
||||
skill:{
|
||||
rejingce:{
|
||||
audio:'jingce',
|
||||
trigger:{player:'phaseUseEnd'},
|
||||
frequent:true,
|
||||
filter:function(event,player){
|
||||
return player.getHistory('useCard',function(evt){
|
||||
return evt.getParent('phaseUse')==event;
|
||||
}).length>0;
|
||||
},
|
||||
content:function(){
|
||||
var list=[];
|
||||
player.getHistory('useCard',function(evt){
|
||||
if(evt.getParent('phaseUse')==trigger) list.add(get.type2(evt.card));
|
||||
});
|
||||
player.draw(list.length);
|
||||
},
|
||||
group:'rejingce_add',
|
||||
},
|
||||
rejingce_add:{
|
||||
trigger:{player:'loseEnd'},
|
||||
silent:true,
|
||||
firstDo:true,
|
||||
filter:function(event,player){
|
||||
if(event.getParent().name!='useCard'||player!=_status.currentPhase) return false;
|
||||
var list=player.getStorage('rejingce2');
|
||||
for(var i of event.cards){
|
||||
if(!list.contains(get.suit(i,player))) return true;
|
||||
}
|
||||
return false;
|
||||
},
|
||||
content:function(){
|
||||
if(!player.storage.rejingce2) player.storage.rejingce2=[];
|
||||
for(var i of trigger.cards) player.storage.rejingce2.add(get.suit(i,player));
|
||||
player.storage.rejingce2.sort();
|
||||
player.addTempSkill('rejingce2');
|
||||
player.markSkill('rejingce2');
|
||||
},
|
||||
},
|
||||
rejingce2:{
|
||||
onremove:true,
|
||||
intro:{
|
||||
content:'当前已使用花色:$',
|
||||
},
|
||||
mod:{
|
||||
maxHandcard:function(player,num){
|
||||
return num+player.getStorage('rejingce2').length;
|
||||
},
|
||||
},
|
||||
},
|
||||
rejueqing:{
|
||||
audio:'jueqing',
|
||||
trigger:{source:'damageBegin2'},
|
||||
|
@ -12617,7 +12666,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
reshangshi:'伤逝',
|
||||
reshangshi_2nd:'伤逝',
|
||||
reshangshi_info:'当你受到伤害时,你可以弃置一张牌。当你的手牌数小于X时,你可以将手牌摸至X张。(X为你已损失的体力值)',
|
||||
re_gongsunzan:'界公孙瓒',
|
||||
re_gongsunzan:'公孙瓒',
|
||||
rejingce:'精策',
|
||||
rejingce2:'精策',
|
||||
rejingce_add:'精策',
|
||||
rejingce_info:'当你于一回合内首次使用某种花色的手牌时,你的手牌上限+1。出牌阶段结束时,你可以摸X张牌(X为你本阶段内使用过的牌的类型数)。',
|
||||
|
||||
yijiang_2011:'一将成名2011',
|
||||
yijiang_2012:'一将成名2012',
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
window.noname_asset_list=[
|
||||
'v1.9.105.4',
|
||||
'v1.9.105.5',
|
||||
'audio/background/aozhan_chaoming.mp3',
|
||||
'audio/background/aozhan_online.mp3',
|
||||
'audio/background/aozhan_rewrite.mp3',
|
||||
|
@ -3386,6 +3386,7 @@ window.noname_asset_list=[
|
|||
'image/character/xin_liaohua.jpg',
|
||||
'image/character/key_godan.jpg',
|
||||
'image/character/shen_diaochan.jpg',
|
||||
'image/character/key_yuu.jpg',
|
||||
|
||||
'image/character/baiwuchang.jpg',
|
||||
'image/character/baosanniang.jpg',
|
||||
|
|
41
game/game.js
41
game/game.js
|
@ -169,7 +169,13 @@
|
|||
name:'无闪自动取消',
|
||||
init:false,
|
||||
unfrequent:true,
|
||||
intro:'当自己需要使用或打出闪时,若自己没有闪,则跳过该步骤',
|
||||
intro:'当自己需要使用或打出【闪】时,若自己没有【闪】,则跳过该步骤',
|
||||
},
|
||||
unauto_choose:{
|
||||
name:'拆顺手牌选择',
|
||||
init:false,
|
||||
unfrequent:true,
|
||||
intro:'拆牌或者顺牌时,就算只能选择对方的手牌依然手动选择',
|
||||
},
|
||||
wuxie_self:{
|
||||
name:'不无懈自己',
|
||||
|
@ -11616,11 +11622,18 @@
|
|||
if(info&&info.chooseButton){
|
||||
if(event.dialog&&typeof event.dialog=='object') event.dialog.close();
|
||||
var dialog=info.chooseButton.dialog(event,player);
|
||||
var next=player.chooseButton(dialog);
|
||||
next.set('ai',info.chooseButton.check||function(){return 1;});
|
||||
next.set('filterButton',info.chooseButton.filter||function(){return true;});
|
||||
next.set('selectButton',info.chooseButton.select||1);
|
||||
event.buttoned=event.result.skill;
|
||||
if(info.chooseButton.chooseControl){
|
||||
var next=player.chooseControl(info.chooseButton.chooseControl(event,player));
|
||||
next.dialog=dialog;
|
||||
next.set('ai',info.chooseButton.check||function(){return 0;});
|
||||
}
|
||||
else{
|
||||
var next=player.chooseButton(dialog);
|
||||
next.set('ai',info.chooseButton.check||function(){return 1;});
|
||||
next.set('filterButton',info.chooseButton.filter||function(){return true;});
|
||||
next.set('selectButton',info.chooseButton.select||1);
|
||||
}
|
||||
event.buttoned=event.result.skill;
|
||||
}
|
||||
else if(info&&info.precontent&&!game.online){
|
||||
var next=game.createEvent('pre_'+event.result.skill);
|
||||
|
@ -11632,9 +11645,9 @@
|
|||
}
|
||||
"step 3"
|
||||
if(event.buttoned){
|
||||
if(result.bool){
|
||||
if(result.bool||result.control&&result.control!='cancel2'){
|
||||
var info=get.info(event.buttoned).chooseButton;
|
||||
lib.skill[event.buttoned+'_backup']=info.backup(result.links,player);
|
||||
lib.skill[event.buttoned+'_backup']=info.backup(info.chooseControl?result:result.links,player);
|
||||
lib.skill[event.buttoned+'_backup'].sourceSkill=event.buttoned;
|
||||
if(game.online){
|
||||
event._sendskill=[event.buttoned+'_backup',lib.skill[event.buttoned+'_backup']];
|
||||
|
@ -12978,7 +12991,7 @@
|
|||
if(event.prompt2){
|
||||
event.dialog.addText(event.prompt2);
|
||||
}
|
||||
var directh=true;
|
||||
var directh=!lib.config.unauto_choose;
|
||||
for(var i=0;i<event.position.length;i++){
|
||||
if(event.position[i]=='h'){
|
||||
var hs=target.getCards('h');
|
||||
|
@ -13024,7 +13037,7 @@
|
|||
links:cs
|
||||
}
|
||||
}
|
||||
else if(event.forced&&directh&&select[0]==select[1]){
|
||||
else if(event.forced&&directh&&!event.isOnline()&&select[0]==select[1]){
|
||||
event.result={
|
||||
bool:true,
|
||||
buttons:event.dialog.buttons.randomGets(select[0]),
|
||||
|
@ -13096,7 +13109,7 @@
|
|||
if(event.prompt2){
|
||||
event.dialog.addText(event.prompt2);
|
||||
}
|
||||
var directh=true;
|
||||
var directh=!lib.config.unauto_choose;
|
||||
for(var i=0;i<event.position.length;i++){
|
||||
if(event.position[i]=='h'){
|
||||
var hs=target.getDiscardableCards(player,'h');
|
||||
|
@ -13142,7 +13155,7 @@
|
|||
links:cs
|
||||
}
|
||||
}
|
||||
else if(event.forced&&directh&&select[0]==select[1]){
|
||||
else if(event.forced&&directh&&!event.isOnline()&&select[0]==select[1]){
|
||||
event.result={
|
||||
bool:true,
|
||||
buttons:event.dialog.buttons.randomGets(select[0]),
|
||||
|
@ -13241,7 +13254,7 @@
|
|||
if(event.prompt2){
|
||||
event.dialog.addText(event.prompt2);
|
||||
}
|
||||
var directh=true;
|
||||
var directh=!lib.config.unauto_choose;
|
||||
for(var i=0;i<event.position.length;i++){
|
||||
if(event.position[i]=='h'){
|
||||
var hs=target.getGainableCards(player,'h');
|
||||
|
@ -13288,7 +13301,7 @@
|
|||
links:cs
|
||||
}
|
||||
}
|
||||
else if(event.forced&&directh&&select[0]==select[1]){
|
||||
else if(event.forced&&directh&&!event.isOnline()&&select[0]==select[1]){
|
||||
event.result={
|
||||
bool:true,
|
||||
buttons:event.dialog.buttons.randomGets(select[0]),
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
window.noname_update={
|
||||
version:'1.9.105.4',
|
||||
update:'1.9.105.3',
|
||||
version:'1.9.105.5',
|
||||
update:'1.9.105.4',
|
||||
changeLog:[
|
||||
'神貂蝉(单机身份/斗地主限定)',
|
||||
'乙坂有宇',
|
||||
'新郭淮',
|
||||
'bug修复',
|
||||
|
||||
],
|
||||
|
@ -18,7 +19,7 @@ window.noname_update={
|
|||
//'card/gwent.js',
|
||||
//'card/yunchou.js',
|
||||
//'card/zhenfa.js',
|
||||
//'card/zhulu.js',
|
||||
'card/zhulu.js',
|
||||
'character/diy.js',
|
||||
'character/extra.js',
|
||||
//'character/hearth.js',
|
||||
|
@ -28,29 +29,29 @@ window.noname_update={
|
|||
//'character/mobile.js',
|
||||
//'character/mtg.js',
|
||||
//'character/old.js',
|
||||
'character/refresh.js',
|
||||
//'character/shenhua.js',
|
||||
//'character/sp.js',
|
||||
//'character/refresh.js',
|
||||
'character/shenhua.js',
|
||||
'character/sp.js',
|
||||
'character/sp2.js',
|
||||
//'character/tw.js',
|
||||
//'character/standard.js',
|
||||
//'character/swd.js',
|
||||
'character/standard.js',
|
||||
'character/swd.js',
|
||||
//'character/xianjian.js',
|
||||
'character/xinghuoliaoyuan.js',
|
||||
//'character/yijiang.js',
|
||||
'character/yijiang.js',
|
||||
//'character/yxs.js',
|
||||
//'extension/boss/extension.js',
|
||||
//'layout/default/layout.css',
|
||||
//'layout/nova/layout.css',
|
||||
'mode/identity.js',
|
||||
'mode/doudizhu.js',
|
||||
//'mode/guozhan.js',
|
||||
//'mode/doudizhu.js',
|
||||
'mode/guozhan.js',
|
||||
//'mode/chess.js',
|
||||
//'mode/tafang.js',
|
||||
//'mode/single.js',
|
||||
'mode/single.js',
|
||||
//'mode/stone.js',
|
||||
//'mode/brawl.js',
|
||||
//'mode/versus.js',
|
||||
'mode/versus.js',
|
||||
//'mode/boss.js',
|
||||
'game/game.js',
|
||||
//'game/keyWords.js',
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 46 KiB |
|
@ -833,7 +833,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
subSkill:{
|
||||
use:{
|
||||
trigger:{
|
||||
player:"useCard",
|
||||
global:"useCard",
|
||||
},
|
||||
filter:function (event,player){
|
||||
return get.type(event.card)=='equip'&&event.player.isAlive()&&
|
||||
|
@ -6856,11 +6856,12 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
checkResult:function(){
|
||||
_status.overing=true;
|
||||
var me=game.me._trueMe||game.me;
|
||||
for(var i=0;i<game.players.length;i++){
|
||||
game.players[i].showCharacter(2);
|
||||
}
|
||||
if(game.me.identity=='ye'){
|
||||
if(game.me.classList.contains('dead')){
|
||||
if(me.identity=='ye'){
|
||||
if(me.classList.contains('dead')){
|
||||
game.over(false);
|
||||
}
|
||||
else{
|
||||
|
@ -6868,7 +6869,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
}
|
||||
else{
|
||||
if(get.population(game.me.identity)==0){
|
||||
if(get.population(me.identity)==0){
|
||||
game.over(false);
|
||||
}
|
||||
else{
|
||||
|
|
|
@ -530,7 +530,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
},
|
||||
checkResult:function(){
|
||||
var me=game.trueMe||game.me;
|
||||
var me=game.me._trueMe||game.me;
|
||||
if(_status.brawl&&_status.brawl.checkResult){
|
||||
_status.brawl.checkResult();
|
||||
return;
|
||||
|
@ -590,7 +590,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
else if(winner2.contains(me)){
|
||||
game.showIdentity();
|
||||
if(loser2.contains(game.trueMe||me)) game.over(false);
|
||||
if(loser2.contains(me)) game.over(false);
|
||||
else game.over(true);
|
||||
}
|
||||
else{
|
||||
|
@ -2741,7 +2741,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
content:function(){
|
||||
"step 0"
|
||||
if(player.isUnderControl()){
|
||||
game.modeSwapPlayer(player);
|
||||
game.swapPlayerAuto(player);
|
||||
}
|
||||
var num=3;
|
||||
var cards=get.cards(num);
|
||||
|
|
|
@ -304,7 +304,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
showIdentity:function(){},
|
||||
checkResult:function(){
|
||||
game.over(game.me.isAlive());
|
||||
game.over((game.me._trueMe||game.me).isAlive());
|
||||
},
|
||||
checkOnlineResult:function(player){
|
||||
return player.isAlive();
|
||||
|
|
|
@ -4570,7 +4570,8 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
for(var i=0;i<game.players.length;i++){
|
||||
game.players[i].classList.remove('current_action');
|
||||
}
|
||||
game.over(_status.winside==game.me.side);
|
||||
var me=game.me._trueMe||game.me;
|
||||
game.over(_status.winside==me.side);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -6443,9 +6444,10 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
}
|
||||
else{
|
||||
var me=game.me._trueMe||game.me;
|
||||
if(_status.mode=='four'||_status.mode=='guandu'){
|
||||
if(this.identity=='zhu'){
|
||||
game.over(this.side!=game.me.side);
|
||||
game.over(this.side!=me.side);
|
||||
}
|
||||
else{
|
||||
if(_status.mode=='guandu'&&source&&source.side!=this.side){
|
||||
|
@ -6461,14 +6463,14 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
side2.push(game.players[i]);
|
||||
}
|
||||
}
|
||||
if(game.me.side){
|
||||
if(me.side){
|
||||
if(side1.length<=side2.length-2){
|
||||
game.me.showGiveup();
|
||||
me.showGiveup();
|
||||
}
|
||||
}
|
||||
else{
|
||||
if(side1.length>=side2.length+2){
|
||||
game.me.showGiveup();
|
||||
me.showGiveup();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -6491,19 +6493,19 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
delete friend.replacetwo;
|
||||
}
|
||||
else{
|
||||
game.over(this.side!=game.me.side);
|
||||
game.over(this.side!=me.side);
|
||||
}
|
||||
}
|
||||
else{
|
||||
if(!friend){
|
||||
game.over(this.side!=game.me.side);
|
||||
game.over(this.side!=me.side);
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
else if(_status.mode=='siguo'){
|
||||
if(game.players.length==1||(game.players.length==2&&game.players[0].side==game.players[1].side)){
|
||||
game.over(game.me.side==game.players[0].side);
|
||||
game.over(me.side==game.players[0].side);
|
||||
}
|
||||
var assignzhibao=function(){
|
||||
var list=game.players.slice(0);
|
||||
|
@ -6563,10 +6565,10 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
else if(_status.mode=='jiange'){
|
||||
if(get.population('wei')==0){
|
||||
game.over(game.me.identity=='shu');
|
||||
game.over(me.identity=='shu');
|
||||
}
|
||||
else if(get.population('shu')==0){
|
||||
game.over(game.me.identity=='wei');
|
||||
game.over(me.identity=='wei');
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
@ -6580,7 +6582,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
}
|
||||
else{
|
||||
if(this==game.me){
|
||||
if(this==me){
|
||||
game.modeSwapPlayer(game.friendZhu);
|
||||
}
|
||||
game.friend.remove(this);
|
||||
|
@ -6588,7 +6590,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
return;
|
||||
}
|
||||
if(this.side==game.me.side){
|
||||
if(this.side==me.side){
|
||||
_status.friendDied.push(this.name);
|
||||
_status.friendCount.innerHTML='阵亡: '+get.cnNumber(_status.friendDied.length,true);
|
||||
}
|
||||
|
@ -6597,7 +6599,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
_status.enemyCount.innerHTML='杀敌: '+get.cnNumber(_status.enemyDied.length,true);
|
||||
}
|
||||
|
||||
var list=(this.side==game.me.side)?_status.friend:_status.enemy;
|
||||
var list=(this.side==me.side)?_status.friend:_status.enemy;
|
||||
if((list.length==0&&lib.storage.noreplace_end)||
|
||||
(lib.storage.zhu&&lib.storage.main_zhu&&this.identity=='zhu'&&game.players.length>2)){
|
||||
if(game.friend.contains(this)){
|
||||
|
|
Loading…
Reference in New Issue