Add files via upload
|
@ -268,7 +268,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
var e5=target.getEquip(5);
|
||||
if(e5&&e5.name=='muniu'&&e5.cards&&e5.cards.length>1) return -1;
|
||||
if(target.countCards('e',function(card){
|
||||
return get.value(card)<=0;
|
||||
return get.value(card,target)<=0;
|
||||
})||target.hasSkillTag('noe')) return 1;
|
||||
return 0;
|
||||
},
|
||||
|
|
|
@ -19,6 +19,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
key_yukine:['female','key',3,['yukine_wenzhou']],
|
||||
key_yusa:['female','key',3,['yusa_yanyi','yusa_misa','dualside'],['dualside:key_misa']],
|
||||
key_misa:['female','key',3,['misa_yehuo','misa_yusa','dualside'],['unseen']],
|
||||
key_masato:['male','key','4/8',['masato_baoquan']],
|
||||
// diy_caocao:['male','wei',4,['xicai','diyjianxiong','hujia']],
|
||||
// diy_hanlong:['male','wei',4,['siji','ciqiu']],
|
||||
diy_feishi:['male','shu',3,['shuaiyan','moshou']],
|
||||
|
@ -95,7 +96,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
diy:{
|
||||
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_kagari","key_umi","key_rei","key_komari","key_yukine","key_yusa","key_misa"],
|
||||
diy_key:["key_lucia","key_kyousuke","key_yuri","key_haruko","key_kagari","key_umi","key_rei","key_komari","key_yukine","key_yusa","key_misa","key_masato"],
|
||||
},
|
||||
},
|
||||
characterIntro:{
|
||||
|
@ -110,6 +111,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
diy_tianyu:'字国让,渔阳雍奴(今天津市武清区东北)人。三国时期曹魏将领。初从刘备,因母亲年老回乡,后跟随公孙瓒,公孙瓒败亡,劝说鲜于辅加入曹操。曹操攻略河北时,田豫正式得到曹操任用,历任颖阴、郎陵令、弋阳太守等。',
|
||||
},
|
||||
characterTitle:{
|
||||
key_masato:'#bLittle Busters!',
|
||||
key_yusa:'#bCharlotte',
|
||||
key_misa:'#rCharlotte',
|
||||
key_yukine:'#gClannad',
|
||||
|
@ -156,6 +158,20 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
yuji:['zuoci']
|
||||
},
|
||||
skill:{
|
||||
masato_baoquan:{
|
||||
trigger:{source:'damageBefore'},
|
||||
forced:true,
|
||||
content:function(){
|
||||
'step 0'
|
||||
player.chooseControl('防止伤害','增加伤害').set('prompt','暴拳:防止即将对'+get.translation(trigger.player)+'造成的伤害,或失去1点体力上限并令此伤害+2').set('choice',get.attitude(player,trigger.player)>=0?0:1).set('ai',function(){return _status.event.choice});
|
||||
'step 1'
|
||||
if(result.control=='增加伤害'){
|
||||
player.loseMaxHp();
|
||||
trigger.num+=2;
|
||||
}
|
||||
else trigger.cancel();
|
||||
},
|
||||
},
|
||||
yusa_yanyi:{
|
||||
enable:'phaseUse',
|
||||
usable:1,
|
||||
|
@ -804,6 +820,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
trigger:{global:'dieAfter'},
|
||||
direct:true,
|
||||
limited:true,
|
||||
mark:false,
|
||||
init:function(player){
|
||||
if(player.hasZhuSkill('yuri_wangxi')){
|
||||
player.markSkill('yuri_wangxi');
|
||||
player.storage.yuri_wangxi=false;
|
||||
}
|
||||
},
|
||||
zhuSkill:true,
|
||||
unique:true,
|
||||
skillAnimation:true,
|
||||
|
@ -5707,6 +5730,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
key_yukine:'宫泽有纪宁',
|
||||
key_yusa:'西森柚咲',
|
||||
key_misa:'黑羽美砂',
|
||||
key_masato:'井之原真人',
|
||||
lucia_duqu:'毒躯',
|
||||
lucia_duqu_info:'锁定技,①当你对其他角色造成伤害或受到其他角色的伤害时,你和对方各获得一张花色点数随机的【毒】。<br>②当你因【毒】失去体力时,你改为回复等量的体力。<br>③当你处于濒死状态时,你可以使用一张【毒】(每回合限一次)。',
|
||||
lucia_zhenren:'振刃',
|
||||
|
@ -5746,6 +5770,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
yusa_misa_info:'当你发动的〖演艺〗结算完成之后,你可以将武将牌翻面。',
|
||||
misa_yusa:'归魂',
|
||||
misa_yusa_info:'当你发动的〖业火〗结算完成后,你可以将武将牌翻面。',
|
||||
masato_baoquan:'暴拳',
|
||||
masato_baoquan_info:'锁定技,当你即将造成伤害时,你选择一项:1.令此伤害+2并减1点体力上限。2.防止此伤害。',
|
||||
|
||||
ns_zhangwei:'张葳',
|
||||
nsqiyue:'骑钺',
|
||||
|
|
|
@ -607,7 +607,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
filter:function(event){
|
||||
if(event.type!='discard'||!event.cards2) return false;
|
||||
var evt=event.getParent('phaseDiscard');
|
||||
return evt&&evt.name=='phaseDiscard'
|
||||
return evt&&evt.name=='phaseDiscard'&&evt.player==player;
|
||||
},
|
||||
content:function(){
|
||||
player.addMark('renjie',trigger.cards2.length);
|
||||
|
|
|
@ -694,11 +694,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
audio:'xinfu_fuhai',
|
||||
enable:'phaseUse',
|
||||
usable:1,
|
||||
filterCard:true,
|
||||
check:function(card){
|
||||
if(game.players.length<3) return 0;
|
||||
return 5-get.value(card);
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
event.current=player.next;
|
||||
|
@ -733,7 +728,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
if(num>1) player.draw(num);
|
||||
},
|
||||
ai:{
|
||||
order:1,
|
||||
order:10,
|
||||
result:{player:1},
|
||||
},
|
||||
},
|
||||
|
@ -1066,6 +1061,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
player.line(trigger.source,'fire');
|
||||
trigger.source.addSkillLog('new_rewusheng');
|
||||
trigger.source.addSkillLog('xindangxian');
|
||||
trigger.source.storage.xinfuli=true;
|
||||
}
|
||||
},
|
||||
},
|
||||
|
@ -1270,7 +1266,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
shouye:{
|
||||
audio:2,
|
||||
group:'shouye_after',
|
||||
trigger:{global:"useCardToTargeted"},
|
||||
trigger:{target:"useCardToTargeted"},
|
||||
filter:function(event,player){
|
||||
return event.player!=player&&event.targets.length==1;
|
||||
},
|
||||
|
@ -3314,7 +3310,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
meiyong:'姝勇',
|
||||
meiyong_info:'当你使用或打出【杀】时,你可以获得一名其他角色的一张牌,然后其摸一张牌。',
|
||||
rexushen:'许身',
|
||||
rexushen_info:'限定技,出牌阶段,你可以失去X点体力(X为场上男性角色的数量)。若你以此法进入了濒死状态,则当你因一名角色而脱离此濒死状态后,你可以令其获得技能〖武圣〗和〖当先〗。',
|
||||
rexushen_info:'限定技,出牌阶段,你可以失去X点体力(X为场上男性角色的数量)。若你以此法进入了濒死状态,则当你因一名角色而脱离此濒死状态后,你可以令其获得技能〖武圣〗和〖当先〗(其以此法获得的〖当先〗结算时视为其发动过〖伏枥〗)。',
|
||||
rezhennan:'镇南',
|
||||
rezhennan_info:'当你成为其他角色使用的牌的目标后,若此牌的目标数大于该角色的体力值,则你可以弃置一张牌并对其造成1点伤害。',
|
||||
|
||||
|
@ -3338,7 +3334,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
"rebiaozhao3":"表召",
|
||||
"rebiaozhao3_info":"",
|
||||
refuhai:'浮海',
|
||||
refuhai_info:'出牌阶段限一次,你可弃置一张手牌,令其他角色同时在「潮起」和「潮落」中选择一项,并依次展示这些角色的选项。若从你下家开始选择了相同选项的角色数目大于1,则你摸X张牌(X为连续相同结果的数量)。',
|
||||
refuhai_info:'出牌阶段限一次,你可令其他角色同时在「潮起」和「潮落」中选择一项,并依次展示这些角色的选项。若从你下家开始选择了相同选项的角色数目大于1,则你摸X张牌(X为连续相同结果的数量)。',
|
||||
qiaosi:'巧思',
|
||||
qiaosi_info:'出牌阶段限一次,你可以表演「大键角色图」并根据表演结果获得相应的牌。然后,你选择一项:1.弃置X张牌。2.将X张牌交给一名其他角色。(X为你以此法获得的牌数)',
|
||||
qiaosi_map:'大键角色图',
|
||||
|
|
|
@ -4,7 +4,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
name:'old',
|
||||
characterSort:{
|
||||
old:{
|
||||
old_shenhua:["yuji","zhangjiao","old_zhugezhan","old_guanqiujian"],
|
||||
old_shenhua:["yuji","zhangjiao","old_zhugezhan","old_guanqiujian","xiahouyuan"],
|
||||
old_refresh:["old_zhangfei","old_huatuo"],
|
||||
old_yijiang1:["masu","xushu","fazheng","yujin","xin_yujin","old_xusheng","old_lingtong","ol_yujin"],
|
||||
old_yijiang2:["old_madai","old_zhonghui","old_wangyi","old_guanzhang","ol_liaohua"],
|
||||
|
@ -17,6 +17,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
},
|
||||
character:{
|
||||
xiahouyuan:['male','wei',4,['shensu']],
|
||||
ol_maliang:['male','shu',3,['zishu','yingyuan']],
|
||||
old_huangfusong:['male','qun',4,['fenyue']],
|
||||
old_majun:["male","wei",3,["xinfu_jingxie1","xinfu_qiaosi"],[]],
|
||||
|
@ -797,7 +798,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
content:function(){
|
||||
"step 0"
|
||||
player.chooseTarget(get.prompt('xuanfeng'),function(card,player,target){
|
||||
player.chooseTarget(get.prompt('oldxuanfeng'),function(card,player,target){
|
||||
if(target==player) return false;
|
||||
return get.distance(player,target)<=1||player.canUse('sha',target,false);
|
||||
}).set('ai',function(target){
|
||||
|
@ -810,7 +811,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
});
|
||||
"step 1"
|
||||
if(result.bool){
|
||||
player.logSkill('xuanfeng',result.targets);
|
||||
player.logSkill('oldxuanfeng',result.targets);
|
||||
var target=result.targets[0];
|
||||
var distance=get.distance(player,target);
|
||||
if(distance<=1&&player.canUse('sha',target,false)){
|
||||
|
|
|
@ -5,7 +5,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
characterSort:{
|
||||
refresh:{
|
||||
refresh_standard:["re_caocao","re_simayi","re_guojia","re_lidian","re_zhangliao","re_xuzhu","re_xiahoudun","re_zhangfei","re_zhaoyun","re_guanyu","re_machao","re_xushu","re_zhouyu","re_lvmeng","re_ganning","re_luxun","re_daqiao","re_huanggai","re_lvbu","re_gongsunzan","re_huatuo","re_liubei","re_diaochan","re_huangyueying","re_sunquan","re_sunshangxiang","re_zhenji","re_zhugeliang","re_huaxiong"],
|
||||
refresh_feng:['caoren','re_xiahouyuan','re_huangzhong','re_weiyan','re_xiaoqiao','zhoutai','re_zhangjiao','xin_yuji'],
|
||||
refresh_feng:['caoren','ol_xiahouyuan','re_huangzhong','re_weiyan','re_xiaoqiao','zhoutai','re_zhangjiao','xin_yuji'],
|
||||
refresh_huo:["re_sp_zhugeliang","re_xunyu","re_dianwei","re_yanwen","re_pangtong","ol_yuanshao","re_pangde"],
|
||||
refresh_lin:['re_zhurong','re_menghuo','re_dongzhuo','re_sunjian','re_caopi','re_xuhuang'],
|
||||
refresh_shan:['re_dengai','re_jiangwei','re_caiwenji','ol_liushan','re_zhangzhang','re_zuoci','re_sunce'],
|
||||
|
@ -51,7 +51,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
xin_yuji:['male','qun',3,['reguhuo']],
|
||||
re_zuoci:['male','qun',3,['rehuashen','rexinsheng']],
|
||||
|
||||
re_xiahouyuan:['male','wei',4,['xinshensu']],
|
||||
ol_xiahouyuan:['male','wei',4,['xinshensu','shebian']],
|
||||
caoren:['male','wei',4,['xinjushou','xinjiewei']],
|
||||
re_huangzhong:['male','shu',4,['xinliegong']],
|
||||
re_weiyan:['male','shu',4,['xinkuanggu','qimou']],
|
||||
|
@ -59,7 +59,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
zhoutai:['male','wu',4,['buqu','fenji']],
|
||||
re_pangde:['male','qun',4,['mashu','jianchu']],
|
||||
re_xuhuang:['male','wei',4,['duanliang','jiezi']],
|
||||
re_sp_zhugeliang:["male","shu",3,["rehuoji","rekanpo","bazhen"],[]],
|
||||
re_sp_zhugeliang:["male","shu",3,["bazhen","rehuoji","rekanpo","cangzhuo"],[]],
|
||||
re_xunyu:["male","wei",3,["quhu","rejieming"],[]],
|
||||
re_dianwei:["male","wei",4,["reqiangxi"],[]],
|
||||
re_yanwen:["male","qun",4,["reshuangxiong"],[]],
|
||||
|
@ -92,6 +92,42 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
sunben:['zhouyu','taishici','daqiao'],
|
||||
},
|
||||
skill:{
|
||||
cangzhuo:{
|
||||
trigger:{player:'phaseDiscardBegin'},
|
||||
frequent:true,
|
||||
filter:function(event,player){
|
||||
return player.getHistory('useCard',function(card){
|
||||
return get.type(card.card,'trick')=='trick';
|
||||
}).length==0;
|
||||
},
|
||||
content:function(){
|
||||
player.addTempSkill('cangzhuo2');
|
||||
},
|
||||
},
|
||||
cangzhuo2:{
|
||||
mod:{
|
||||
ignoredHandcard:function(card,player){
|
||||
if(get.type(card,'trick')=='trick'){
|
||||
return true;
|
||||
}
|
||||
},
|
||||
cardDiscardable:function(card,player,name){
|
||||
if(name=='phaseDiscard'&&get.type(card,'trick')=='trick') return false;
|
||||
}
|
||||
},
|
||||
},
|
||||
shebian:{
|
||||
trigger:{player:'turnOverEnd'},
|
||||
check:function(event,player){
|
||||
return player.canMoveCard(true,true);
|
||||
},
|
||||
filter:function(event,player){
|
||||
return player.canMoveCard(null,true);
|
||||
},
|
||||
content:function(){
|
||||
player.moveCard().nojudge=true;
|
||||
},
|
||||
},
|
||||
rexianzhen:{
|
||||
audio:2,
|
||||
enable:'phaseUse',
|
||||
|
@ -5407,6 +5443,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
rejinjiu_info:'锁定技,你的【酒】均视为【杀】。其他角色不能于你的回合内使用【酒】。当你受到酒【杀】的伤害时,你令此伤害-X(X为影响过此【杀】的伤害值的【酒】的数量)',
|
||||
rejinjiu2:'禁酒',
|
||||
rejinjiu3:'禁酒',
|
||||
ol_xiahouyuan:'界夏侯渊',
|
||||
shebian:'设变',
|
||||
shebian_info:'当你的武将牌翻面后,你可以移动场上的一张牌。',
|
||||
cangzhuo:'藏拙',
|
||||
cangzhuo_info:'弃牌阶段开始时,若你本回合内没有使用过装备牌,则你的锦囊牌不计入手牌上限。',
|
||||
|
||||
refresh_standard:'界限突破·标',
|
||||
refresh_feng:'界限突破·风',
|
||||
|
|
|
@ -6,7 +6,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
connectBanned:['zuoci'],
|
||||
characterSort:{
|
||||
shenhua:{
|
||||
shenhua_feng:["sp_zhangjiao","re_yuji","old_zhoutai","old_caoren","xiahouyuan","xiaoqiao","huangzhong","weiyan"],
|
||||
shenhua_feng:["sp_zhangjiao","re_yuji","old_zhoutai","old_caoren","re_xiahouyuan","xiaoqiao","huangzhong","weiyan"],
|
||||
shenhua_huo:['dianwei','xunyu','pangtong','sp_zhugeliang','taishici','yanwen','re_yuanshao','pangde'],
|
||||
shenhua_lin:['caopi','xuhuang','menghuo','zhurong','re_lusu','sunjian','dongzhuo','jiaxu'],
|
||||
shenhua_shan:['dengai','zhanghe','liushan','jiangwei','zhangzhang','sunce','caiwenji','zuoci'],
|
||||
|
@ -19,7 +19,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
old_caoren:['male','wei',4,['moon_jushou','jiewei']],
|
||||
xuhuang:['male','wei',4,['gzduanliang']],
|
||||
pangde:['male','qun',4,['mashu','mengjin']],
|
||||
xiahouyuan:['male','wei',4,['shensu']],
|
||||
re_xiahouyuan:['male','wei',4,['xinshensu']],
|
||||
huangzhong:['male','shu',4,['liegong']],
|
||||
weiyan:['male','shu',4,['kuanggu']],
|
||||
xiaoqiao:['female','wu',3,['tianxiang','hongyan']],
|
||||
|
@ -5699,17 +5699,17 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
shensu:{
|
||||
audio:'shensu1',
|
||||
audioname:['xiahouba','re_xiahouyuan'],
|
||||
audioname:['xiahouba','re_xiahouyuan','ol_xiahouyuan'],
|
||||
group:['shensu1','shensu2']
|
||||
},
|
||||
xinshensu:{
|
||||
audio:'shensu1',
|
||||
audioname:['xiahouba','re_xiahouyuan'],
|
||||
audioname:['xiahouba','re_xiahouyuan','ol_xiahouyuan'],
|
||||
group:['shensu1','shensu2','shensu4']
|
||||
},
|
||||
shensu1:{
|
||||
audio:2,
|
||||
audioname:['xiahouba','re_xiahouyuan'],
|
||||
audioname:['xiahouba','re_xiahouyuan','ol_xiahouyuan'],
|
||||
trigger:{player:'phaseJudgeBefore'},
|
||||
direct:true,
|
||||
content:function(){
|
||||
|
@ -5733,7 +5733,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
shensu2:{
|
||||
audio:'shensu1',
|
||||
audioname:['xiahouba','re_xiahouyuan'],
|
||||
audioname:['xiahouba','re_xiahouyuan','ol_xiahouyuan'],
|
||||
trigger:{player:'phaseUseBefore'},
|
||||
direct:true,
|
||||
filter:function(event,player){
|
||||
|
@ -5774,12 +5774,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
shensu4:{
|
||||
audio:'shensu1',
|
||||
audioname:['xiahouba','re_xiahouyuan'],
|
||||
audioname:['xiahouba','re_xiahouyuan','ol_xiahouyuan'],
|
||||
trigger:{player:'phaseDiscardBefore'},
|
||||
direct:true,
|
||||
content:function(){
|
||||
"step 0"
|
||||
var check=player.needsToDiscard()||player.isTurnedOver();
|
||||
var check=player.needsToDiscard()||player.isTurnedOver()||(player.hasSkill('shebian')&&player.canMoveCard(true,true));
|
||||
player.chooseTarget(get.prompt('shensu'),"跳过弃牌阶段并将武将牌翻面,视为对一名其他角色使用一张【杀】",function(card,player,target){
|
||||
if(player==target) return false;
|
||||
return player.canUse({name:'sha'},target,false);
|
||||
|
@ -7367,7 +7367,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
xueyi_info:'主公技,锁定技,场上每有一名其他群雄角色存活,你的手牌上限便+2。',
|
||||
mengjin_info:'当你使用的【杀】被【闪】抵消时,你可以弃置目标角色的一张牌。',
|
||||
|
||||
re_xiahouyuan:'界夏侯渊',
|
||||
re_xiahouyuan:'夏侯渊',
|
||||
re_huangzhong:'界黄忠',
|
||||
re_weiyan:'界魏延',
|
||||
re_xiaoqiao:'界小乔',
|
||||
|
@ -7385,7 +7385,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
old_caoren:'曹仁',
|
||||
xuhuang:'徐晃',
|
||||
pangde:'庞德',
|
||||
xiahouyuan:'夏侯渊',
|
||||
xiahouyuan:'旧夏侯渊',
|
||||
caoren:'界曹仁',
|
||||
huangzhong:'黄忠',
|
||||
sp_zhangjiao:'张角',
|
||||
|
|
188
character/sp.js
|
@ -130,7 +130,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
mizhu:['male','shu',3,['ziyuan','jugu']],
|
||||
buzhi:['male','wu',3,['hongde','dingpan']],
|
||||
|
||||
sp_liubei:['male','shu',4,['zhaolie','shichou']],
|
||||
sp_liubei:['male','shu',4,['zhaolie','shichou'],['zhu']],
|
||||
caochun:['male','wei',4,['xinshanjia']],
|
||||
|
||||
dongbai:['female','qun',3,['lianzhu','xiehui']],
|
||||
|
@ -3376,8 +3376,33 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
},
|
||||
gzjili:{
|
||||
mod:{
|
||||
aiOrder:function(player,card,num){
|
||||
if(player.isPhaseUsing()&&get.subtype(card)=='equip1'&&!get.cardtag(card,'gifts')){
|
||||
var range0=player.getAttackRange();
|
||||
var range=0;
|
||||
var info=get.info(card);
|
||||
if(info&&info.distance&&info.distance.attackFrom){
|
||||
range-=info.distance.attackFrom;
|
||||
}
|
||||
if(player.getEquip(1)){
|
||||
var num=0;
|
||||
var info=get.info(player.getEquip(1));
|
||||
if(info&&info.distance&&info.distance.attackFrom){
|
||||
num-=info.distance.attackFrom;
|
||||
}
|
||||
range0-=num;
|
||||
}
|
||||
range0+=range;
|
||||
if(range0==(player.getHistory('useCard').length+player.getHistory('respond').length+2)&&player.countCards('h',function(cardx){
|
||||
return get.subtype(cardx)!='equip1'&&player.getUseValue(cardx)>0;
|
||||
})) return num+10;
|
||||
}
|
||||
},
|
||||
},
|
||||
trigger:{player:['useCard','respond']},
|
||||
frequent:true,
|
||||
locked:false,
|
||||
filter:function(event,player){
|
||||
return player.getHistory('useCard').length+player.getHistory('respond').length==player.getAttackRange();
|
||||
},
|
||||
|
@ -3386,7 +3411,36 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
player.draw(player.getAttackRange());
|
||||
},
|
||||
ai:{
|
||||
threaten:1.8
|
||||
threaten:1.8,
|
||||
effect:{
|
||||
target:function(card,player,target,current){
|
||||
if(player!=target||!player.isPhaseUsing()) return;
|
||||
if(get.subtype(card)=='equip1'&&!get.cardtag(card,'gifts')){
|
||||
var range0=player.getAttackRange();
|
||||
var range=0;
|
||||
var info=get.info(card);
|
||||
if(info&&info.distance&&info.distance.attackFrom){
|
||||
range-=info.distance.attackFrom;
|
||||
}
|
||||
if(player.getEquip(1)){
|
||||
var num=0;
|
||||
var info=get.info(player.getEquip(1));
|
||||
if(info&&info.distance&&info.distance.attackFrom){
|
||||
num-=info.distance.attackFrom;
|
||||
}
|
||||
range0-=num;
|
||||
}
|
||||
range0+=range;
|
||||
var delta=range0-(player.getHistory('useCard').length+player.getHistory('respond').length);
|
||||
if(delta<0) return;
|
||||
var num=player.countCards('h',function(card){
|
||||
return (get.cardtag(card,'gifts')||get.subtype(card)!='equip1')&&player.getUseValue(card)>0;
|
||||
});
|
||||
if(delta==2&&num>0) return [1,3];
|
||||
if(num>=delta) return 'zeroplayertarget';
|
||||
}
|
||||
},
|
||||
},
|
||||
}
|
||||
},
|
||||
xiongsuan:{
|
||||
|
@ -3977,7 +4031,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
var card=result.cards[0];
|
||||
player.line(target,'green');
|
||||
target.addTempSkill('new_zhixi','phaseUseEnd');
|
||||
target.addTempSkill('new_meibu_range');
|
||||
target.addTempSkill('new_meibu_range','phaseUseEnd');
|
||||
if(card.name!='sha'&&get.type(card)!='trick'&&get.color(card)!='black'){
|
||||
target.storage.meibu=player;
|
||||
}
|
||||
|
@ -3990,38 +4044,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
subSkill:{
|
||||
range:{
|
||||
mod:{
|
||||
targetInRange:function (card,player,target){
|
||||
if(target==player.storage.meibu){
|
||||
return true;
|
||||
globalFrom:function (from,to,num){
|
||||
if(to==from.storage.meibu){
|
||||
return -Infinity;
|
||||
}
|
||||
},
|
||||
},
|
||||
onremove:function (player){
|
||||
game.broadcast(function(player){
|
||||
if(player.marks.new_meibu){
|
||||
player.marks.new_meibu.delete();
|
||||
delete player.marks.new_meibu;
|
||||
}
|
||||
},player);
|
||||
if(player.marks.new_meibu){
|
||||
player.marks.new_meibu.delete();
|
||||
delete player.marks.new_meibu;
|
||||
game.addVideo('unmark',player,'new_meibu');
|
||||
}
|
||||
},
|
||||
trigger:{
|
||||
player:"phaseUseEnd",
|
||||
},
|
||||
forced:true,
|
||||
popup:false,
|
||||
content:function (){
|
||||
player.removeSkill('new_meibu_viewas');
|
||||
game.broadcastAll(function(player){
|
||||
if(player.marks.new_meibu&&player.marks.new_meibu.info){
|
||||
player.marks.new_meibu.info.content=player.marks.new_meibu.info.content.slice(8);
|
||||
}
|
||||
},player);
|
||||
},
|
||||
sub:true,
|
||||
},
|
||||
viewas:{
|
||||
|
@ -4029,9 +4057,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
cardEnabled:function (card,player){
|
||||
return false;
|
||||
},
|
||||
cardUsable:function (card,player){
|
||||
return false;
|
||||
},
|
||||
cardSavable:function (card,player){
|
||||
return false;
|
||||
},
|
||||
|
@ -4100,7 +4125,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
popup:false,
|
||||
filter:function (event,player){
|
||||
if(get.type(event.card,'trick')=='trick') return true;
|
||||
return player.countUsed()>=player.hp;
|
||||
return player.countUsed(null,true)>=player.hp;
|
||||
},
|
||||
onremove:function (player){
|
||||
player.unmarkSkill('new_meibu');
|
||||
},
|
||||
content:function (){
|
||||
player.addTempSkill('new_meibu_viewas','phaseUseEnd');
|
||||
|
@ -7073,51 +7101,41 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
},
|
||||
shichou:{
|
||||
audio:1,
|
||||
//audio:1,
|
||||
skillAnimation:true,
|
||||
animationColor:'orange',
|
||||
unique:true,
|
||||
limited:true,
|
||||
mark:null,
|
||||
enable:'phaseUse',
|
||||
mark:false,
|
||||
trigger:{player:'phaseZhunbeiBegin'},
|
||||
zhuSkill:true,
|
||||
direct:true,
|
||||
filter:function(event,player){
|
||||
if(!player.hasZhuSkill('shichou'))return false;
|
||||
if(player.countCards('he')<2) return false;
|
||||
return !player.storage.shichou;
|
||||
},
|
||||
selectCard:2,
|
||||
init:function(player){
|
||||
if(player.hasZhuSkill('shichou')){
|
||||
player.markSkill('shichou');
|
||||
player.storage.shichou=false;
|
||||
}
|
||||
},
|
||||
filterTarget:function(card,player,target){
|
||||
return target.group=='shu'&&target!=player;
|
||||
},
|
||||
filterCard:true,
|
||||
position:'he',
|
||||
check:function(card){
|
||||
return 7-get.value(card);
|
||||
},
|
||||
discard:false,
|
||||
prepare:'give',
|
||||
content:function(){
|
||||
player.storage.shichou=true;
|
||||
player.awakenSkill('shichou');
|
||||
target.gain(cards,player);
|
||||
player.storage.shichou_target=target;
|
||||
player.addSkill('shichou2');
|
||||
target.markSkillCharacter('shichou',player,'誓仇','代替'+get.translation(player)+'承受伤害直到首次进入濒死状态');
|
||||
},
|
||||
intro:{
|
||||
content:'limited'
|
||||
},
|
||||
ai:{
|
||||
order:7,
|
||||
result:{
|
||||
player:function(player,target){
|
||||
"step 0"
|
||||
player.chooseCardTarget({
|
||||
prompt:get.prompt2('shichou'),
|
||||
selectCard:2,
|
||||
filterTarget:function(card,player,target){
|
||||
return target.group=='shu'&&target!=player;
|
||||
},
|
||||
filterCard:true,
|
||||
position:'he',
|
||||
ai1:function(card){
|
||||
return 7-get.value(card);
|
||||
},
|
||||
ai2:function(target){
|
||||
var player=_status.event.player;
|
||||
if(player.hasUnknown()) return 0;
|
||||
var att=get.attitude(player,target);
|
||||
if(att<=0){
|
||||
|
@ -7129,8 +7147,22 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
return (10-att)/4;
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
});
|
||||
"step 1"
|
||||
if(!result.bool) return;
|
||||
var target=result.targets[0];
|
||||
var cards=result.cards;
|
||||
player.storage.shichou=true;
|
||||
player.logSkill('shichou',target);
|
||||
player.awakenSkill('shichou');
|
||||
target.gain(cards,player,'giveAuto');
|
||||
player.storage.shichou_target=target;
|
||||
player.addSkill('shichou2');
|
||||
target.markSkillCharacter('shichou',player,'誓仇','代替'+get.translation(player)+'承受伤害直到首次进入濒死状态');
|
||||
},
|
||||
intro:{
|
||||
content:'limited'
|
||||
},
|
||||
},
|
||||
shichou2:{
|
||||
group:'shichou3',
|
||||
|
@ -7139,6 +7171,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
popup:false,
|
||||
content:function(){
|
||||
trigger.player=player.storage.shichou_target;
|
||||
trigger.shichou4=true;
|
||||
trigger.player.addSkill('shichou4');
|
||||
player.logSkill('shichou2',player.storage.shichou_target);
|
||||
game.delay(0.5);
|
||||
|
@ -7184,6 +7217,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
popup:false,
|
||||
audio:false,
|
||||
content:function(){
|
||||
if(!trigger.shichou4) return;
|
||||
if(event.triggername=='damageAfter'&&trigger.num){
|
||||
player.draw(trigger.num);
|
||||
}
|
||||
|
@ -8273,6 +8307,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
player.draw(3);
|
||||
return;
|
||||
}
|
||||
if(result.control=='xindangxian') player.storage.xinfuli=true;
|
||||
player.addSkill(result.control);
|
||||
player.popup(result.control);
|
||||
game.log(player,'获得了技能','#g【'+get.translation(result.control)+'】');
|
||||
|
@ -8754,6 +8789,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
game.cardsGotoSpecial(trigger.cards);
|
||||
//ui.special.appendChild(trigger.card);
|
||||
trigger.player.addSkill('zhenwei2');
|
||||
trigger.player.markSkill('zhenwei2');
|
||||
//event.trigger("addCardToStorage");
|
||||
}
|
||||
|
@ -8781,7 +8817,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
trigger:{global:'phaseEnd'},
|
||||
forced:true,
|
||||
content:function(){
|
||||
player.gain(player.storage.zhenwei2,'gain2');
|
||||
player.gain(player.storage.zhenwei2,'gain2','log');
|
||||
delete player.storage.zhenwei2;
|
||||
player.removeSkill('zhenwei2');
|
||||
}
|
||||
|
@ -15007,7 +15043,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
player.logSkill('xinfu_lingren',result.targets);
|
||||
var target=result.targets[0];
|
||||
event.target=target;
|
||||
player.line('water',target);
|
||||
event.choice={
|
||||
basic:false,
|
||||
trick:false,
|
||||
|
@ -15015,7 +15050,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
player.chooseBool('是否押基本牌?').ai=function(event,player){
|
||||
var rand=0.95;
|
||||
if(!target.countCards('h',{type:['basic']})) rand=0;
|
||||
if(!target.countCards('h',{type:['basic']})) rand=0.05;
|
||||
if(!target.countCards('h')) rand=0;
|
||||
return Math.random()<rand?true:false;
|
||||
};
|
||||
}
|
||||
|
@ -15028,8 +15064,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
event.choice.basic=true;
|
||||
}
|
||||
player.chooseBool('是否押锦囊牌?').ai=function(event,player){
|
||||
var rand=0.95;
|
||||
if(!target.countCards('h',{type:['trick','delay']})) rand=0;
|
||||
var rand=0.9;
|
||||
if(!target.countCards('h',{type:['trick','delay']})) rand=0.1;
|
||||
if(!target.countCards('h')) rand=0;
|
||||
return Math.random()<rand?true:false;
|
||||
};
|
||||
'step 3'
|
||||
|
@ -15037,8 +15074,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
event.choice.trick=true;
|
||||
}
|
||||
player.chooseBool('是否押装备牌?').ai=function(event,player){
|
||||
var rand=0.95;
|
||||
if(!target.countCards('h',{type:['equip']})) rand=0;
|
||||
var rand=0.75;
|
||||
if(!target.countCards('h',{type:['equip']})) rand=0.25;
|
||||
if(!target.countCards('h')) rand=0;
|
||||
return Math.random()<rand?true:false;
|
||||
};
|
||||
'step 4'
|
||||
|
@ -16559,7 +16597,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
xinfenyue:'奋钺',
|
||||
xinfenyue_info:'出牌阶段限X次(X为与你不同阵营的存活角色数),你可以与一名其他角色拼点,若你赢,根据你拼点牌的点数依次执行以下效果:不大于5,你获得其一张牌;不大于9,你获得牌堆里的一张【杀】; 不大于K,视为你对其使用一张雷【杀】。',
|
||||
neifa:'内伐',
|
||||
neifa_info:'出牌阶段开始时,你可以摸两张牌或获得场上的一张牌,然后弃置一张牌。若弃置的牌是基本牌,本回合你不能使用锦囊和装备牌,且【杀】的使用次数+X且目标+1;若弃置的不是基本牌,本回合你不能使用基本牌,且普通锦囊牌的目标+1,前两次使用装备牌时摸X张牌(X为你发动〖内伐〗弃牌后手牌中不能使用的牌的数量且最多为5)。',
|
||||
neifa_info:'出牌阶段开始时,你可以摸两张牌或获得场上的一张牌,然后弃置一张牌。若弃置的牌是基本牌,本回合你不能使用锦囊和装备牌,且【杀】的使用次数+X且目标+1;若弃置的不是基本牌,本回合你不能使用基本牌,且使用普通锦囊牌选择目标时可以增加或减少一个目标,前两次使用装备牌时摸X张牌(X为你发动〖内伐〗弃牌后手牌中不能使用的牌的数量且最多为5)。',
|
||||
neifa_use:'内伐',
|
||||
hmmanyi:'蛮裔',
|
||||
hmmanyi_info:'锁定技,【南蛮入侵】对你无效。',
|
||||
|
@ -16899,7 +16937,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
luanzhan:'乱战',
|
||||
luanzhan_info:'你使用【杀】或黑色普通锦囊牌可以额外选择X名角色为目标;当你使用【杀】或黑色普通锦囊牌指定目标后,若此牌的目标角色数小于X,则X减至0。(X为你于本局游戏内造成过伤害的次数)',
|
||||
zhengnan:'征南',
|
||||
zhengnan_info:'当其他角色死亡后,你可以摸三张牌。若如此做,你获得下列技能中的任意一个:〖武圣〗、 〖当先〗和〖制蛮〗',
|
||||
zhengnan_info:'当其他角色死亡后,你可以摸三张牌。若如此做,你获得下列技能中的任意一个:〖武圣〗、 〖当先〗和〖制蛮〗(你以此法获得的〖当先〗结算时视为已发动过〖伏枥〗)。',
|
||||
xinzhengnan:'征南',
|
||||
xinzhengnan_info:'当其他角色死亡后,你可以摸三张牌,或者获得下列技能中的任意一个:〖武圣〗、 〖当先〗和〖制蛮〗',
|
||||
xiefang:'撷芳',
|
||||
|
|
|
@ -263,11 +263,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
twxiaolian:{
|
||||
audio:2,
|
||||
trigger:{global:'useCardToPlayer'},
|
||||
logTarget:'player',
|
||||
logTarget:'target',
|
||||
filter:function(event,player){
|
||||
return event.card&&event.card.name=='sha'&&event.player!=player&&
|
||||
event.targets.length==1&&event.targets[0]!=player;
|
||||
},
|
||||
check:function(event,player){
|
||||
return get.effect(event.targets[0],event.card,event.player,player)<=get.effect(player,event.card,event.player,player);
|
||||
},
|
||||
content:function(){
|
||||
trigger.getParent().twxiaolian=trigger.targets[0];
|
||||
trigger.targets.length=0;
|
||||
|
@ -289,7 +292,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
mod:{
|
||||
globalTo:function(from,to,distance){
|
||||
if(from!=to) return distance+to.storage.twxiaolian_distance.length;
|
||||
if(from!=to&&to.storage.twxiaolian_distance) return distance+to.storage.twxiaolian_distance.length;
|
||||
},
|
||||
},
|
||||
},
|
||||
|
@ -304,7 +307,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
'step 0'
|
||||
var target=trigger.getParent(2).twxiaolian;
|
||||
event.target=target;
|
||||
player.chooseCard('是否将一张牌当做【马】置于'+get.translation(target)+'的武将牌旁?','he').ai=function(target){
|
||||
player.chooseCard('是否将一张牌当做【马】置于'+get.translation(target)+'的武将牌旁?','he').ai=function(card){
|
||||
if(get.attitude(_status.event.player,_status.event.getParent('twxiaolian_damage').target)>2) return 7-get.value(card);
|
||||
return 0;
|
||||
};
|
||||
|
@ -327,9 +330,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
return event.card&&event.card.name=='sha'&&event.player!=player&&event.target!=player&&
|
||||
event.targets.length==1&&event.player.inRange(player)<=1;
|
||||
},
|
||||
logTarget:'player',
|
||||
logTarget:'target',
|
||||
check:function(event,player){
|
||||
return get.effect(event.targets[0],{name:'sha'},event.player,player)<=get.effect(player,{name:'sha'},event.player,player);
|
||||
return get.effect(event.targets[0],event.card,event.player,player)<=get.effect(player,event.card,event.player,player);
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
|
|
|
@ -6822,7 +6822,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
unique:true,
|
||||
limited:true,
|
||||
mark:null,
|
||||
mark:false,
|
||||
content:function(){
|
||||
'step 0'
|
||||
player.storage.xingshuai=true;
|
||||
|
@ -6895,10 +6895,16 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
result:{
|
||||
target:function(player,target){
|
||||
if(target.hasSkillTag('nogain')) return 0;
|
||||
if(player.countCards('h')==1&&player.countCards('h','du')) return -1;
|
||||
if(player.hp<=2&&player.countCards('h','shan')) return 0;
|
||||
if(target.countCards('h')+player.countCards('h')>target.hp+2) return 0;
|
||||
if(get.attitude(player,target)>3) return 1;
|
||||
if(player.countCards('h')==player.countCards('h','du')) return -1;
|
||||
if(target.hasJudge('lebu')) return 0;
|
||||
if(get.attitude(player,target)>3){
|
||||
var basis=get.threaten(target);
|
||||
if(player==get.zhu(player)&&player.hp<=2&&player.countCards('h','shan')&&!game.hasPlayer(function(current){
|
||||
return get.attitude(current,player)>3&¤t.countCards('h','tao')>0;
|
||||
})) return 0;
|
||||
if(target.countCards('h')+player.countCards('h')>target.hp+2) return basis*0.8;
|
||||
return basis;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
window.noname_asset_list=[
|
||||
'1.9.98.4.2',
|
||||
'1.9.98.4.4',
|
||||
'audio/background/aozhan_chaoming.mp3',
|
||||
'audio/background/aozhan_online.mp3',
|
||||
'audio/background/aozhan_rewrite.mp3',
|
||||
|
@ -8,7 +8,7 @@ window.noname_asset_list=[
|
|||
'audio/background/music_diaochan.mp3',
|
||||
'audio/background/music_shezhan.mp3',
|
||||
'audio/background/music_jifeng.mp3',
|
||||
'audio/background/music_philosophy.mp3',
|
||||
'audio/background/music_phliosophy.mp3',
|
||||
'audio/background/music_jilve.mp3',
|
||||
'audio/card/default.mp3',
|
||||
|
||||
|
@ -2423,6 +2423,11 @@ window.noname_asset_list=[
|
|||
'image/card/rewrite_renwang.png',
|
||||
'image/card/rewrite_tengjia.png',
|
||||
'image/card/rewrite_zhuge.png',
|
||||
'image/card/group_wei.png',
|
||||
'image/card/group_shu.png',
|
||||
'image/card/group_wu.png',
|
||||
'image/card/group_qun.png',
|
||||
'image/card/group_key.png',
|
||||
|
||||
'image/card/bagua.png',
|
||||
'image/card/baihupifeng.png',
|
||||
|
@ -2862,6 +2867,8 @@ window.noname_asset_list=[
|
|||
'image/character/sp_wangyuanji.jpg',
|
||||
'image/character/sp_xinxianying.jpg',
|
||||
'image/character/key_misa.jpg',
|
||||
'image/character/key_masato.jpg',
|
||||
'image/character/ol_xiahouyuan.jpg',
|
||||
|
||||
'image/character/baiwuchang.jpg',
|
||||
'image/character/baosanniang.jpg',
|
||||
|
|
45
game/game.js
|
@ -3159,6 +3159,28 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
transparent_dialog:{
|
||||
name:'堆叠对话框虚化',
|
||||
init:false,
|
||||
intro:'当具有static属性的对话框堆叠(如五谷丰登对话框中提示无懈可击)时,将后方的对话框变为半透明',
|
||||
onclick:function(bool){
|
||||
game.saveConfig('transparent_dialog',bool);
|
||||
if(bool){
|
||||
for(var i=0;i<ui.dialogs.length;i++){
|
||||
if(ui.dialogs[i]!=ui.dialog&&ui.dialogs[i].static){
|
||||
ui.dialogs[i].unfocus();
|
||||
}
|
||||
}
|
||||
}
|
||||
else{
|
||||
for(var i=0;i<ui.dialogs.length;i++){
|
||||
if(ui.dialogs[i]!=ui.dialog&&ui.dialogs[i].static){
|
||||
ui.dialogs[i].refocus();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
mark_identity_style:{
|
||||
name:'标记身份操作',
|
||||
intro:'设置单击身份按钮时的操作',
|
||||
|
@ -6412,7 +6434,7 @@
|
|||
return this;
|
||||
};
|
||||
HTMLDivElement.prototype.unfocus=function(){
|
||||
this.classList.add('transparent');
|
||||
if(lib.config.transparent_dialog) this.classList.add('transparent');
|
||||
return this;
|
||||
};
|
||||
HTMLDivElement.prototype.refocus=function(){
|
||||
|
@ -13312,7 +13334,7 @@
|
|||
},
|
||||
moveCard:function(){
|
||||
'step 0'
|
||||
if(!player.canMoveCard()){
|
||||
if(!player.canMoveCard(null,event.nojudge)){
|
||||
event.finish();
|
||||
return;
|
||||
}
|
||||
|
@ -15424,11 +15446,16 @@
|
|||
getDamagedHp:function(){
|
||||
return this.maxHp-Math.max(0,this.hp);
|
||||
},
|
||||
changeGroup:function(group,log){
|
||||
game.broadcastAll(function(player,group){
|
||||
player.group=group;
|
||||
player.node.name.dataset.nature=get.groupnature(group);
|
||||
},this,group);
|
||||
changeGroup:function(group,log,broadcast){
|
||||
var player=this;
|
||||
if(broadcast!==false){
|
||||
game.broadcast(function(player,group){
|
||||
player.group=group;
|
||||
player.node.name.dataset.nature=get.groupnature(group);
|
||||
},player,group);
|
||||
}
|
||||
player.group=group;
|
||||
player.node.name.dataset.nature=get.groupnature(group);
|
||||
if(log!==false) game.log(this,'将势力变为了','#y'+get.translation(group+2));
|
||||
},
|
||||
chooseToDuiben:function(target){
|
||||
|
@ -17924,7 +17951,7 @@
|
|||
return false;
|
||||
}
|
||||
},
|
||||
canMoveCard:function(withatt){
|
||||
canMoveCard:function(withatt,nojudge){
|
||||
var player=this;
|
||||
return game.hasPlayer(function(current){
|
||||
var att=get.sgn(get.attitude(player,current));
|
||||
|
@ -17943,7 +17970,7 @@
|
|||
}
|
||||
}
|
||||
}
|
||||
if(!withatt||att>0){
|
||||
if(!nojudge&&(!withatt||att>0)){
|
||||
var js=current.getCards('j');
|
||||
for(var i=0;i<js.length;i++){
|
||||
if(game.hasPlayer(function(current2){
|
||||
|
|
|
@ -1,43 +1,45 @@
|
|||
window.noname_update={
|
||||
version:'1.9.98.4.3',
|
||||
update:'1.9.98.4.2',
|
||||
version:'1.9.98.4.4',
|
||||
update:'1.9.98.4.3',
|
||||
changeLog:[
|
||||
'bug修复',
|
||||
'界夏侯渊,界卧龙',
|
||||
'联机神将选择势力',
|
||||
'bug修复',
|
||||
],
|
||||
files:[
|
||||
'card/extra.js',
|
||||
//'card/extra.js',
|
||||
//'card/huanlekapai.js',
|
||||
//'card/sp.js',
|
||||
//'card/standard.js',
|
||||
//'card/swd.js',
|
||||
//'card/mtg.js',
|
||||
'card/guozhan.js',
|
||||
//'card/guozhan.js',
|
||||
//'card/gwent.js',
|
||||
//'card/zhenfa.js',
|
||||
//'card/zhulu.js',
|
||||
//'character/diy.js',
|
||||
//'character/extra.js',
|
||||
'card/zhulu.js',
|
||||
'character/diy.js',
|
||||
'character/extra.js',
|
||||
//'character/hearth.js',
|
||||
//'character/gujian.js',
|
||||
//'character/gwent.js',
|
||||
//'character/hearth.js',
|
||||
'character/mobile.js',
|
||||
//'character/mtg.js',
|
||||
//'character/old.js',
|
||||
'character/old.js',
|
||||
'character/refresh.js',
|
||||
'character/shenhua.js',
|
||||
'character/sp.js',
|
||||
//'character/tw.js',
|
||||
'character/tw.js',
|
||||
//'character/standard.js',
|
||||
//'character/swd.js',
|
||||
//'character/xianjian.js',
|
||||
'character/xinghuoliaoyuan.js',
|
||||
//'character/yijiang.js',
|
||||
//'character/xinghuoliaoyuan.js',
|
||||
'character/yijiang.js',
|
||||
//'character/yxs.js',
|
||||
//'extension/boss/extension.js',
|
||||
//'layout/default/layout.css',
|
||||
'layout/default/layout.css',
|
||||
//'layout/nova/layout.css',
|
||||
//'mode/identity.js',
|
||||
'mode/identity.js',
|
||||
//'mode/doudizhu.js',
|
||||
//'mode/guozhan.js',
|
||||
//'mode/chess.js',
|
||||
|
|
After Width: | Height: | Size: 3.7 KiB |
After Width: | Height: | Size: 5.3 KiB |
After Width: | Height: | Size: 4.8 KiB |
After Width: | Height: | Size: 5.4 KiB |
After Width: | Height: | Size: 4.0 KiB |
After Width: | Height: | Size: 158 KiB |
After Width: | Height: | Size: 95 KiB |
|
@ -1871,6 +1871,7 @@ div:not(.handcards)>.card>.info>span,
|
|||
.skill {
|
||||
left: 0 !important;
|
||||
width: 70px !important;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.skill>.card {
|
||||
transform: scale(0.56);
|
||||
|
@ -4311,6 +4312,13 @@ div[data-decoration="bronze"]::after{
|
|||
top: 74px;
|
||||
right: 6px;
|
||||
}
|
||||
.card .tempname {
|
||||
top: 6px;
|
||||
left: 6px;
|
||||
font-size: 22px;
|
||||
color: white !important;
|
||||
pointer-events: none;
|
||||
}
|
||||
/*.card.equip1 .wunature,
|
||||
.card.equip3 .wunature,
|
||||
.card.equip4 .wunature{
|
||||
|
|
105
mode/identity.js
|
@ -2,6 +2,23 @@
|
|||
game.import('mode',function(lib,game,ui,get,ai,_status){
|
||||
return {
|
||||
name:'identity',
|
||||
card:{
|
||||
group_wei:{
|
||||
fullskin:true,
|
||||
},
|
||||
group_shu:{
|
||||
fullskin:true,
|
||||
},
|
||||
group_wu:{
|
||||
fullskin:true,
|
||||
},
|
||||
group_qun:{
|
||||
fullskin:true,
|
||||
},
|
||||
group_key:{
|
||||
fullskin:true,
|
||||
},
|
||||
},
|
||||
start:function(){
|
||||
"step 0"
|
||||
if(!lib.config.new_tutorial){
|
||||
|
@ -1857,7 +1874,22 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
zhu.update();
|
||||
}
|
||||
},game.zhu,game.zhu.name,game.zhu.name2,game.players.length>4);
|
||||
|
||||
|
||||
if(game.zhu.group=='shen'){
|
||||
var list=['wei','shu','wu','qun','key'];
|
||||
for(var i=0;i<list.length;i++){
|
||||
if(!lib.group.contains(list[i])) list[i].splice(i--,1);
|
||||
else list[i]=['','','group_'+list[i]];
|
||||
}
|
||||
game.zhu.chooseButton(['请选择神武将的势力',[list,'vcard']],true).set('ai',function(){
|
||||
return Math.random();
|
||||
});
|
||||
}
|
||||
else event.goto(3);
|
||||
"step 2"
|
||||
var name=result.links[0][2].slice(6);
|
||||
game.zhu.changeGroup(name);
|
||||
"step 3"
|
||||
var list=[];
|
||||
var selectButton=(lib.configOL.double_character?2:1);
|
||||
|
||||
|
@ -1901,7 +1933,8 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
game.me.chooseButtonOL(list,function(player,result){
|
||||
if(game.online||player==game.me) player.init(result.links[0],result.links[1]);
|
||||
});
|
||||
"step 2"
|
||||
"step 4"
|
||||
var shen=[];
|
||||
for(var i in result){
|
||||
if(result[i]&&result[i].links){
|
||||
for(var j=0;j<result[i].links.length;j++){
|
||||
|
@ -1916,25 +1949,57 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
else{
|
||||
result[i]=result[i].links
|
||||
}
|
||||
if(!lib.playerOL[i].name){
|
||||
lib.playerOL[i].init(result[i][0],result[i][1]);
|
||||
}
|
||||
if(lib.character[result[i][0]]&&lib.character[result[i][0]][1]=='shen') shen.push(lib.playerOL[i]);
|
||||
}
|
||||
event.result2=result;
|
||||
if(shen.length){
|
||||
var list=['wei','shu','wu','qun','key'];
|
||||
for(var i=0;i<list.length;i++){
|
||||
if(!lib.group.contains(list[i])) list[i].splice(i--,1);
|
||||
list[i]=['','','group_'+list[i]];
|
||||
}
|
||||
for(var i=0;i<shen.length;i++){
|
||||
shen[i]=[shen[i],['请选择神武将的势力',[list,'vcard']],1,true];
|
||||
}
|
||||
game.me.chooseButtonOL(shen,function(player,result){
|
||||
if(player==game.me) player.changeGroup(result.links[0][2].slice(6),false,false);
|
||||
}).set('switchToAuto',function(){
|
||||
_status.event.result='ai';
|
||||
}).set('processAI',function(){
|
||||
var buttons=_status.event.dialog.buttons;
|
||||
return {
|
||||
bool:true,
|
||||
links:buttons.randomGets(1),
|
||||
}
|
||||
});
|
||||
}
|
||||
"step 5"
|
||||
if(!result) result={};
|
||||
var result2=event.result2;
|
||||
game.broadcast(function(result,result2){
|
||||
for(var i in result){
|
||||
if(!lib.playerOL[i].name){
|
||||
lib.playerOL[i].init(result[i][0],result[i][1]);
|
||||
}
|
||||
if(result2[i]&&result2[i].links) lib.playerOL[i].changeGroup(result2[i].links[0][2].slice(6),false,false);
|
||||
}
|
||||
setTimeout(function(){
|
||||
ui.arena.classList.remove('choose-character');
|
||||
},500);
|
||||
},result2,result);
|
||||
|
||||
for(var i in result2){
|
||||
if(!lib.playerOL[i].name){
|
||||
lib.playerOL[i].init(result2[i][0],result2[i][1]);
|
||||
}
|
||||
if(result[i]&&result[i].links) lib.playerOL[i].changeGroup(result[i].links[0][2].slice(6),false,false);
|
||||
}
|
||||
|
||||
if(event.special_identity){
|
||||
for(var i in event.special_identity){
|
||||
game.zhu.addSkill(i);
|
||||
}
|
||||
}
|
||||
game.broadcast(function(result){
|
||||
for(var i in result){
|
||||
if(!lib.playerOL[i].name){
|
||||
lib.playerOL[i].init(result[i][0],result[i][1]);
|
||||
}
|
||||
}
|
||||
setTimeout(function(){
|
||||
ui.arena.classList.remove('choose-character');
|
||||
},500);
|
||||
},result);
|
||||
for(var i=0;i<game.players.length;i++){
|
||||
_status.characterlist.remove(game.players[i].name);
|
||||
_status.characterlist.remove(game.players[i].name2);
|
||||
|
@ -1946,6 +2011,16 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
},
|
||||
translate:{
|
||||
group_wei:"魏势力",
|
||||
group_shu:"蜀势力",
|
||||
group_wu:"吴势力",
|
||||
group_qun:"群势力",
|
||||
group_key:"键势力",
|
||||
group_wei_bg:"魏",
|
||||
group_shu_bg:"蜀",
|
||||
group_wu_bg:"吴",
|
||||
group_qun_bg:"群",
|
||||
group_key_bg:"键",
|
||||
zhu:"主",
|
||||
zhong:"忠",
|
||||
mingzhong:"忠",
|
||||
|
|