我可是全知全能的神!
This commit is contained in:
parent
22a4950770
commit
906755306d
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1382,8 +1382,8 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
}
|
||||
if(event.card.yingbian){
|
||||
var cardx=event.getParent().respondTo[1];
|
||||
if(cardx&&cardx.cards&&cardx.cards.filterInD().length) player.gain(cardx.cards.filterInD(),'gain2','log');
|
||||
var cardx=event.getParent().respondTo;
|
||||
if(cardx&&cardx[1]&&cardx[1].cards&&cardx[1].cards.filterInD().length) player.gain(cardx[1].cards.filterInD(),'gain2','log');
|
||||
}
|
||||
},
|
||||
},
|
||||
|
|
|
@ -251,6 +251,11 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
});
|
||||
},
|
||||
ai:{
|
||||
basic:{
|
||||
equipValue:0.5
|
||||
}
|
||||
},
|
||||
},
|
||||
taigongyinfu:{
|
||||
audio:true,
|
||||
|
@ -398,23 +403,28 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
'step 0'
|
||||
player.chooseTarget(function(card,player,target){
|
||||
return !target.isLinked();
|
||||
},'是否发动【太公阴符】横置一名角色?').set('',function(target){
|
||||
},'是否发动【太公阴符】横置一名角色?').set('ai',function(target){
|
||||
return get.effect(target,{name:'tiesuo'},_status.event.player,_status.event.player);
|
||||
});
|
||||
'step 1'
|
||||
if(result.bool){
|
||||
var target=result.targets[0];
|
||||
player.logSkill('taigongyinfu_skill',target);
|
||||
player.logSkill('taigongyinfu_link',target);
|
||||
target.link();
|
||||
}
|
||||
},
|
||||
ai:{
|
||||
expose:0.2,
|
||||
},
|
||||
},
|
||||
_yingbian:{
|
||||
trigger:{player:'useCard1'},
|
||||
forced:true,
|
||||
popup:false,
|
||||
firstDo:true,
|
||||
ruleSkill:true,
|
||||
filter:function(event,player){
|
||||
if(event.card.yingbian) return false;
|
||||
var bool=player.hasSkillTag('forceYingbian');
|
||||
var card=event.card;
|
||||
if(get.cardtag(card,'yingbian_kongchao')&&(!player.countCards('h')||bool)) return true;
|
||||
|
@ -440,7 +450,10 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
player.popup('富甲','orange');
|
||||
bool=true;
|
||||
}
|
||||
else if(player.hasSkillTag('forceYingbian')) bool=true;
|
||||
else if(player.hasSkillTag('forceYingbian')){
|
||||
player.popup('应变','metal');
|
||||
bool=true;
|
||||
}
|
||||
if(bool){
|
||||
game.log(player,'触发了',card,'的应变条件');
|
||||
event.goto(10);
|
||||
|
@ -591,6 +604,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
target.discard(event.zhuzhanresult2.cards);
|
||||
target.popup('助战','wood');
|
||||
game.log(target,'响应了',player,'发起的助战');
|
||||
target.addExpose(0.2);
|
||||
}
|
||||
else event.finish();
|
||||
'step 10'
|
||||
|
|
|
@ -12,7 +12,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
extra_shan:['shen_zhaoyun','shen_simayi'],
|
||||
extra_yin:['shen_liubei','shen_luxun'],
|
||||
extra_lei:['shen_ganning','shen_zhangliao'],
|
||||
extra_key:['key_kagari','key_shiki'],
|
||||
extra_key:['key_kagari','key_shiki','key_hina'],
|
||||
extra_ol:['ol_zhangliao','shen_caopi','shen_zhenji'],
|
||||
extra_offline:['shen_diaochan'],
|
||||
extra_mini:['mini_zhugeliang','mini_lvbu'],
|
||||
|
@ -21,7 +21,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
character:{
|
||||
key_kagari:['female','shen',3,['kagari_zongsi'],['key']],
|
||||
key_shiki:['female','shen','3/5',['shiki_omusubi'],['key']],
|
||||
//key_hina:['female','shen',3,[],['key']],
|
||||
key_hina:['female','shen',3,['hina_shenxian','hina_mashu','hina_tieji'],['key','hiddenSkill']],
|
||||
|
||||
shen_diaochan:['female','shen',3,['meihun','huoxin'],['qun']],
|
||||
shen_guanyu:['male','shen',5,['new_wuhun','wushen'],['shu']],
|
||||
|
@ -64,6 +64,166 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
},
|
||||
skill:{
|
||||
hina_shenxian:{
|
||||
hiddenSkill:true,
|
||||
trigger:{player:'showCharacterAfter'},
|
||||
forced:true,
|
||||
filter:function(event,player){
|
||||
return event.toShow.contains('key_hina');
|
||||
},
|
||||
content:function(){
|
||||
player.equip(game.createCard('hina_shenji','diamond',13));
|
||||
},
|
||||
},
|
||||
hina_mashu:{
|
||||
mod:{
|
||||
globalFrom:function(from,to,distance){
|
||||
return distance-1;
|
||||
}
|
||||
},
|
||||
},
|
||||
hina_tieji:{
|
||||
shaRelated:true,
|
||||
trigger:{player:'useCardToPlayered'},
|
||||
check:function(event,player){
|
||||
return get.attitude(player,event.target)<0;
|
||||
},
|
||||
filter:function(event,player){
|
||||
return event.card.name=='sha';
|
||||
},
|
||||
logTarget:'target',
|
||||
content:function(){
|
||||
"step 0"
|
||||
player.judge(function(){return 0});
|
||||
if(!trigger.target.hasSkill('fengyin')){
|
||||
trigger.target.addTempSkill('fengyin');
|
||||
}
|
||||
"step 1"
|
||||
var suit=result.suit;
|
||||
if(result.suit=='spade'){
|
||||
var id=trigger.target.playerid;
|
||||
var map=trigger.customArgs;
|
||||
if(!map[id]) map[id]={};
|
||||
if(!map[id].extraDamage) map[id].extraDamage=0;
|
||||
map[id].extraDamage++;
|
||||
}
|
||||
var target=trigger.target;
|
||||
var num=target.countCards('h','shan');
|
||||
target.chooseToDiscard('请弃置一张'+get.translation(suit)+'牌,否则不能使用闪抵消此杀','he',function(card){
|
||||
return get.suit(card)==_status.event.suit;
|
||||
}).set('ai',function(card){
|
||||
var num=_status.event.num;
|
||||
if(num==0) return 0;
|
||||
if(card.name=='shan') return num>1?2:0;
|
||||
return 8-get.value(card);
|
||||
}).set('num',num).set('suit',suit);
|
||||
"step 2"
|
||||
if(!result.bool){
|
||||
trigger.directHit.add(trigger.target);
|
||||
}
|
||||
},
|
||||
ai:{
|
||||
ignoreSkill:true,
|
||||
skillTagFilter:function(player,tag,arg){
|
||||
if(!arg||arg.isLink||!arg.card||arg.card.name!='sha') return false;
|
||||
if(!arg.target||get.attitude(player,arg.target)>=0) return false;
|
||||
if(!arg.skill||!lib.skill[arg.skill]||lib.skill[arg.skill].charlotte||get.is.locked(arg.skill)||!arg.target.getSkills(true,false).contains(arg.skill)) return false;
|
||||
},
|
||||
},
|
||||
},
|
||||
hina_guixin:{
|
||||
trigger:{
|
||||
player:"phaseZhunbeiBegin",
|
||||
},
|
||||
filter:function(event,player){
|
||||
return player.hasSkill('hina_shenxian');
|
||||
},
|
||||
content:function(){
|
||||
"step 0"
|
||||
var targets=game.filterPlayer();
|
||||
targets.remove(player);
|
||||
targets.sort(lib.sort.seat);
|
||||
event.targets=targets;
|
||||
"step 1"
|
||||
event.num=0;
|
||||
player.line(targets,'green');
|
||||
player.chooseControl('手牌区','装备区','判定区').set('ai',function(){
|
||||
if(game.hasPlayer(function(current){
|
||||
return current.countCards('j')&¤t!=player&&get.attitude(player,current)>0;
|
||||
})) return 2;
|
||||
return Math.floor(Math.random()*3);
|
||||
}).set('prompt','请选择优先获得的区域');
|
||||
"step 2"
|
||||
event.range={
|
||||
手牌区:['h','e','j'],
|
||||
装备区:['e','h','j'],
|
||||
判定区:['j','h','e'],
|
||||
}[result.control||'手牌区'];
|
||||
"step 3"
|
||||
if(num<event.targets.length){
|
||||
var target=event.targets[num];
|
||||
var range=event.range;
|
||||
for(var i=0;i<range.length;i++){
|
||||
var cards=target.getCards(range[i]);
|
||||
if(cards.length){
|
||||
var card=cards.randomGet();
|
||||
player.gain(card,target,'giveAuto','bySelf');
|
||||
break;
|
||||
}
|
||||
}
|
||||
event.num++;
|
||||
}
|
||||
"step 4"
|
||||
if(num<event.targets.length) event.goto(3);
|
||||
"step 5"
|
||||
player.turnOver();
|
||||
},
|
||||
},
|
||||
hina_shenfen:{
|
||||
trigger:{
|
||||
player:"phaseJieshuBegin",
|
||||
},
|
||||
filter:function(event,player){
|
||||
return player.hasSkill('hina_shenxian');
|
||||
},
|
||||
content:function(){
|
||||
"step 0"
|
||||
event.delay=false;
|
||||
event.targets=game.filterPlayer();
|
||||
event.targets.remove(player);
|
||||
event.targets.sort(lib.sort.seat);
|
||||
player.line(event.targets,'green');
|
||||
event.targets2=event.targets.slice(0);
|
||||
event.targets3=event.targets.slice(0);
|
||||
"step 1"
|
||||
if(event.targets2.length){
|
||||
event.targets2.shift().damage('nocard');
|
||||
event.redo();
|
||||
}
|
||||
"step 2"
|
||||
if(event.targets.length){
|
||||
event.current=event.targets.shift()
|
||||
if(event.current.countCards('e')) event.delay=true;
|
||||
event.current.discard(event.current.getCards('e')).delay=false;
|
||||
}
|
||||
"step 3"
|
||||
if(event.delay) game.delay(0.5);
|
||||
event.delay=false;
|
||||
if(event.targets.length) event.goto(2);
|
||||
"step 4"
|
||||
if(event.targets3.length){
|
||||
var target=event.targets3.shift();
|
||||
target.chooseToDiscard(4,'h',true).delay=false;
|
||||
if(target.countCards('h')) event.delay=true;
|
||||
}
|
||||
"step 5"
|
||||
if(event.delay) game.delay(0.5);
|
||||
event.delay=false;
|
||||
if(event.targets3.length) event.goto(4);
|
||||
"step 6"
|
||||
player.turnOver();
|
||||
},
|
||||
},
|
||||
miniwuqian:{
|
||||
audio:'wuqian',
|
||||
trigger:{
|
||||
|
@ -3633,6 +3793,24 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
},
|
||||
},
|
||||
card:{
|
||||
hina_shenji:{
|
||||
type:'equip',
|
||||
subtype:'equip5',
|
||||
derivation:'key_hina',
|
||||
skills:['hina_guixin','hina_shenfen'],
|
||||
fullskin:true,
|
||||
ai:{
|
||||
equipValue:function(card,player){
|
||||
if(player.hasSkill('hina_shenxian')) return 100;
|
||||
return 0;
|
||||
},
|
||||
basic:{
|
||||
equipValue:100
|
||||
}
|
||||
},
|
||||
},
|
||||
},
|
||||
dynamicTranslate:{
|
||||
nzry_longnu:function(player){
|
||||
if(player.hasSkill('nzry_longnu_2')) return '转换技,锁定技,阴:出牌阶段开始时,你失去1点体力并摸一张牌,然后本回合内你的红色手牌均视为火【杀】且无距离限制。<span class="legendtext">阳:出牌阶段开始时,你减1点体力上限并摸一张牌,然后本回合你的锦囊牌均视为雷【杀】且无使用次数限制。</span>';
|
||||
|
@ -3815,7 +3993,18 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
shiki_omusubi:'御结',
|
||||
shiki_omusubi_info:'一轮游戏开始时,你可以减1点体力上限,然后将一名其他角色武将牌上的技能加入到你的武将牌上。',
|
||||
shiki_omusubi_append:'<span style="font-family: yuanli">来吧,羽依里。用你的手,让我变成那只真正的鬼吧!</span>',
|
||||
//key_hina:'佐藤雏',
|
||||
key_hina:'佐藤雏',
|
||||
hina_shenxian:'神现',
|
||||
hina_shenxian_info:'隐匿技,锁定技,当你明置此武将牌时,你将一张【神机】置入装备区。',
|
||||
hina_mashu:'马术',
|
||||
hina_mashu_info:'锁定技,你计算于其他角色的距离时始终-1。',
|
||||
hina_tieji:'铁骑',
|
||||
hina_tieji_info:'当你使用【杀】指定目标后,你可进行判定。你令目标角色的所有非锁定技失效直到回合结束。除非其弃置一张与判定结果花色相同的牌,则其不能响应此【杀】。若判定结果为♠,则此【杀】对其的伤害+1。',
|
||||
|
||||
hina_shenji:'神机',
|
||||
hina_shenji_info:'若你拥有技能〖神现〗,则你可以于准备阶段发动〖归心〗,并可于结束阶段发动〖神愤〗。',
|
||||
hina_guixin:'归心',
|
||||
hina_shenfen:'神愤',
|
||||
|
||||
extra_feng:'神话再临·风',
|
||||
extra_huo:'神话再临·火',
|
||||
|
|
|
@ -32,6 +32,7 @@ window.noname_character_rank={
|
|||
'key_yuri',
|
||||
'key_yui',
|
||||
'key_lucia',
|
||||
'key_hina',
|
||||
'sp_key_kanade',
|
||||
'key_shizuru',
|
||||
],
|
||||
|
@ -610,6 +611,8 @@ window.noname_character_rank={
|
|||
'sp_wangyuanji',
|
||||
'sp_xinxianying',
|
||||
'sp_liuxie',
|
||||
'hanfu',
|
||||
're_quyi',
|
||||
'key_kengo',
|
||||
'key_riki',
|
||||
'key_hinata',
|
||||
|
@ -1082,6 +1085,7 @@ window.noname_character_rank={
|
|||
'key_godan',
|
||||
're_machao',
|
||||
're_sunben',
|
||||
'ol_dingyuan',
|
||||
'key_tomoya',
|
||||
'key_masato',
|
||||
'key_shiorimiyuki',
|
||||
|
@ -1093,6 +1097,7 @@ window.noname_character_rank={
|
|||
'key_noda',
|
||||
'key_shiina',
|
||||
'key_shiroha',
|
||||
'key_hina',
|
||||
],
|
||||
epic:[
|
||||
'pal_yueqi',
|
||||
|
@ -1508,8 +1513,9 @@ window.noname_character_rank={
|
|||
'xin_lingtong',
|
||||
'xin_liubiao',
|
||||
're_xinxianying',
|
||||
'ol_dingyuan',
|
||||
'wangrong',
|
||||
're_quyi',
|
||||
'hanfu',
|
||||
],
|
||||
junk:[
|
||||
'sunshao',
|
||||
|
|
|
@ -6852,7 +6852,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
trigger.target.addTempSkill('fengyin');
|
||||
}
|
||||
"step 1"
|
||||
var suit=get.suit(result.card);
|
||||
var suit=result.suit;
|
||||
var target=trigger.target;
|
||||
var num=target.countCards('h','shan');
|
||||
target.chooseToDiscard('请弃置一张'+get.translation(suit)+'牌,否则不能使用闪抵消此杀','he',function(card){
|
||||
|
|
|
@ -7188,7 +7188,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
zhurong:['re_zhurong','zhurong'],
|
||||
sunjian:['ol_sunjian','re_sunjian','sunjian'],
|
||||
jiaxu:['jiaxu','sp_jiaxu','ns_jiaxu'],
|
||||
dongzhuo:['ol_dongzhuo','re_dongzhuo','dongzhuo'],
|
||||
dongzhuo:['ol_dongzhuo','sp_dongzhuo','re_dongzhuo','dongzhuo'],
|
||||
dengai:['re_dengai','ol_dengai','dengai'],
|
||||
zhanghe:['zhanghe','sp_zhanghe','yj_zhanghe'],
|
||||
jiangwei:['re_jiangwei','sp_jiangwei','mini_jiangwei','jiangwei'],
|
||||
|
|
|
@ -143,6 +143,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
wangyun:['male','qun',4,['xinlianji','xinmoucheng']],
|
||||
sunqian:['male','shu',3,['qianya','shuimeng']],
|
||||
xizhicai:['male','wei',3,['tiandu','xianfu','chouce']],
|
||||
quyi:['male','qun',4,['fuqi','jiaozi']],
|
||||
|
||||
luzhi:['male','wei',3,['qingzhongx','weijing']],
|
||||
|
||||
|
@ -540,12 +541,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
},
|
||||
spweiwu:{
|
||||
audio:2,
|
||||
enable:'phaseUse',
|
||||
usable:1,
|
||||
viewAs:{name:'shunshou'},
|
||||
filterCard:{color:'red'},
|
||||
position:'he',
|
||||
audio:'xiaoxi',
|
||||
check:function(card){
|
||||
return 7-get.value(card);
|
||||
},
|
||||
|
@ -14689,7 +14690,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
caoang:['caoang','yj_caoang','tw_caoang'],
|
||||
caohong:['caohong','tw_caohong'],
|
||||
xiahouba:['re_xiahouba','xiahouba'],
|
||||
maliang:['maliang','re_maliang','ol_maliang','old_maliang'],
|
||||
maliang:['maliang','re_maliang','tw_maliang','ol_maliang','old_maliang'],
|
||||
dingfeng:['dingfeng','tw_dingfeng'],
|
||||
zumao:['zumao','tw_zumao'],
|
||||
beimihu:['tw_beimihu','beimihu'],
|
||||
|
@ -14701,7 +14702,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
zhangliang:['re_zhangliang','zhangliang'],
|
||||
lingju:['lingju','old_lingju'],
|
||||
guansuo:['guansuo','ol_guansuo'],
|
||||
zhangxingcai:['old_zhangxingcai'],
|
||||
zhangxingcai:['zhangxingcai','old_zhangxingcai'],
|
||||
},
|
||||
translate:{
|
||||
"xinfu_lingren":"凌人",
|
||||
|
@ -15538,6 +15539,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
spmouzhu_info:'出牌阶段限一次,你可以从“距离为1”或“体力值等于你”中选择一个条件,然后令此时所有满足条件的角色依次进行以下结算:交给你一张手牌,然后若其手牌数小于你,则其视为对你使用一张【杀】或【决斗】。',
|
||||
xiaoxi:'骁袭',
|
||||
xiaoxi_info:'当你登场时,你可以视为使用一张【杀】。',
|
||||
quyi:'OL麴义',
|
||||
|
||||
sp_default:"常规",
|
||||
sp_zhongdan:"忠胆英杰",
|
||||
|
|
215
character/sp2.js
215
character/sp2.js
|
@ -6,7 +6,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
character:{
|
||||
jin_zhangchunhua:['female','jin',3,['huishi','qingleng','xuanmu'],['hiddenSkill']],
|
||||
jin_simayi:['male','jin',3,['buchen','smyyingshi','xiongzhi','quanbian'],['hiddenSkill']],
|
||||
quyi:['male','qun',4,['fuqi','jiaozi']],
|
||||
hanfu:['male','qun',4,['hfjieying','weipo']],
|
||||
re_quyi:['male','qun',4,['refuqi','jiaozi']],
|
||||
dongxie:['female','qun','3/4',['juntun','jiaojie']],
|
||||
re_xinxianying:['female','wei',3,['rezhongjian','recaishi']],
|
||||
wangrong:['female','qun',3,['minsi','jijing','zhuide']],
|
||||
|
@ -85,7 +86,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
sp_baigei:['re_panfeng','xingdaorong','caoxing'],
|
||||
sp_guandu:["sp_zhanghe","xunchen","sp_shenpei","gaolan","lvkuanglvxiang","chunyuqiong","sp_xuyou"],
|
||||
sp_huangjin:['liuhong','zhujun','re_hejin','re_hansui','liubian'],
|
||||
sp_fadong:['ol_dingyuan','wangrong','quyi'],
|
||||
sp_fadong:['ol_dingyuan','wangrong','re_quyi','hanfu'],
|
||||
sp_decade:['wulan','leitong','huaman','wangshuang','wenyang','re_liuzan','re_sunluyu','caobuxing','ol_yujin','re_maliang','xin_baosanniang','re_xinxianying','dongxie'],
|
||||
sp_mini:["mini_sunquan","mini_zuoci","mini_jiangwei","mini_diaochan","mini_zhangchunhua"],
|
||||
sp_luanwu:["ns_lijue","ns_zhangji","ns_fanchou"],
|
||||
|
@ -94,6 +95,159 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
},
|
||||
skill:{
|
||||
hfjieying:{
|
||||
audio:2,
|
||||
trigger:{player:'phaseJieshuBegin'},
|
||||
direct:true,
|
||||
content:function(){
|
||||
'step 0'
|
||||
player.chooseTarget(get.prompt2('hfjieying'),lib.filter.notMe).set('ai',function(target){
|
||||
var player=_status.event.player;
|
||||
return get.attitude(player,target)*(1+target.countCards('h',function(card){
|
||||
return !get.tag(card,'damage')&&target.hasValueTarget(card);
|
||||
}))/(1+target.countCards('h'));
|
||||
});
|
||||
'step 1'
|
||||
if(result.bool){
|
||||
var target=result.targets[0];
|
||||
player.logSkill('hfjieying',target);
|
||||
target.addTempSkill('hfjieying2',{player:'phaseJieshuBegin'});
|
||||
}
|
||||
},
|
||||
ai:{
|
||||
expose:0.05,
|
||||
},
|
||||
},
|
||||
hfjieying2:{
|
||||
mod:{
|
||||
playerEnabled:function(card,player,target){
|
||||
if(player.storage.hfjieying2&&player!=target) return false;
|
||||
},
|
||||
targetInRange:function(card,player){
|
||||
if(player==_status.currentPhase&&(card.name=='sha'||get.type(card)=='trick')) return true;
|
||||
},
|
||||
aiOrder:function(player,card,num){
|
||||
var info=get.info(card);
|
||||
if(!get.tag(card,'damage')&&(!info||!info.toself)) return num+8;
|
||||
},
|
||||
},
|
||||
onremove:true,
|
||||
trigger:{player:'useCard2'},
|
||||
direct:true,
|
||||
filter:function(event,player){
|
||||
if(player!=_status.currentPhase) return false;
|
||||
var card=event.card;
|
||||
if(card.name!='sha'&&get.type(card)!='trick')return false;
|
||||
var info=get.info(card);
|
||||
if(info.allowMultiple==false) return false;
|
||||
if(event.targets&&!info.multitarget){
|
||||
if(game.hasPlayer(function(current){
|
||||
return !event.targets.contains(current)&&lib.filter.targetEnabled2(card,player,current);
|
||||
})){
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
var prompt2='为'+get.translation(trigger.card)+'增加一个目标'
|
||||
player.chooseTarget(get.prompt('hfjieying2'),function(card,player,target){
|
||||
var player=_status.event.player;
|
||||
return !_status.event.targets.contains(target)&&lib.filter.targetEnabled2(_status.event.card,player,target);
|
||||
}).set('prompt2',prompt2).set('ai',function(target){
|
||||
var trigger=_status.event.getTrigger();
|
||||
var player=_status.event.player;
|
||||
return get.effect(target,trigger.card,player,player);
|
||||
}).set('card',trigger.card).set('targets',trigger.targets);
|
||||
'step 1'
|
||||
if(result.bool){
|
||||
if(!event.isMine()) game.delayx();
|
||||
event.targets=result.targets;
|
||||
}
|
||||
else{
|
||||
event.finish();
|
||||
}
|
||||
'step 2'
|
||||
if(event.targets){
|
||||
player.logSkill('hfjieying2',event.targets);
|
||||
trigger.targets.addArray(event.targets);
|
||||
}
|
||||
},
|
||||
group:'hfjieying3',
|
||||
mark:true,
|
||||
intro:{
|
||||
content:function(player){
|
||||
if(player) return '不能对其他角色使用牌直到回合结束';
|
||||
return '使用【杀】或普通锦囊牌时无距离限制且可以多指定一个目标';
|
||||
},
|
||||
},
|
||||
},
|
||||
hfjieying3:{
|
||||
trigger:{source:'damageSource'},
|
||||
forced:true,
|
||||
popup:false,
|
||||
filter:function(event,player){
|
||||
return !player.storage.hfjieying2&&player==_status.currentPhase;
|
||||
},
|
||||
content:function(){
|
||||
player.storage.hfjieying2=true;
|
||||
},
|
||||
},
|
||||
weipo:{
|
||||
audio:2,
|
||||
trigger:{target:'useCardToTargeted'},
|
||||
forced:true,
|
||||
filter:function(event,player){
|
||||
return player!=event.player&&!player.hasSkill('weipo3')&&player.countCards('h')<Math.min(5,player.maxHp)&&(event.card.name=='sha'||get.type(event.card)=='trick');
|
||||
},
|
||||
content:function(){
|
||||
var evt=trigger.getParent();
|
||||
if(!evt.weipo) evt.weipo={};
|
||||
evt.weipo[player.playerid]=player.countCards('h');
|
||||
player.addTempSkill('weipo2');
|
||||
player.drawTo(Math.min(5,player.maxHp));
|
||||
},
|
||||
},
|
||||
weipo2:{
|
||||
charlotte:true,
|
||||
trigger:{global:'useCardAfter'},
|
||||
forced:true,
|
||||
popup:false,
|
||||
filter:function(event,player){
|
||||
return event.weipo&&event.weipo[player.playerid]!=undefined&&event.weipo[player.playerid]>player.countCards('h');
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
player.addTempSkill('weipo3',{player:'phaseBegin'});
|
||||
if(player.countCards('h')&&trigger.player.isAlive()){
|
||||
player.chooseCard('h',true,'将一张手牌交给'+get.translation(trigger.player));
|
||||
}
|
||||
else event.finish();
|
||||
'step 1'
|
||||
if(result.bool){
|
||||
trigger.player.gain(result.cards,player,'giveAuto');
|
||||
}
|
||||
},
|
||||
},
|
||||
weipo3:{charlotte:true},
|
||||
refuqi:{
|
||||
audio:'fuqi',
|
||||
forced:true,
|
||||
trigger:{
|
||||
player:"useCard",
|
||||
},
|
||||
filter:function(event,player){
|
||||
return event.card&&(get.type(event.card)=='trick'||get.type(event.card)=='basic'&&!['shan','tao','jiu','du'].contains(event.card.name))&&game.hasPlayer(function(current){
|
||||
return current!=player&&get.distance(player,current)<=1;
|
||||
});
|
||||
},
|
||||
content:function(){
|
||||
trigger.directHit.addArray(game.filterPlayer(function(current){
|
||||
return current!=player&&get.distance(player,current)<=1;
|
||||
}));
|
||||
},
|
||||
},
|
||||
zhuide:{
|
||||
audio:2,
|
||||
trigger:{player:'die'},
|
||||
|
@ -140,6 +294,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
},
|
||||
smyyingshi:{
|
||||
audio:2,
|
||||
enable:'phaseUse',
|
||||
locked:true,
|
||||
onChooseToUse:function(event){
|
||||
|
@ -169,6 +324,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
},
|
||||
xiongzhi:{
|
||||
audio:2,
|
||||
enable:'phaseUse',
|
||||
limited:true,
|
||||
skillAnimation:true,
|
||||
|
@ -211,6 +367,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
},
|
||||
quanbian:{
|
||||
audio:2,
|
||||
trigger:{player:['useCard','respond']},
|
||||
hasHand:function(event){
|
||||
var evts=event.player.getHistory('lose',function(evt){
|
||||
|
@ -283,6 +440,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
},
|
||||
juntun:{
|
||||
audio:2,
|
||||
trigger:{player:'phaseZhunbeiBegin'},
|
||||
forced:true,
|
||||
filter:function(event,player){
|
||||
|
@ -294,6 +452,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
},
|
||||
jiaojie:{
|
||||
audio:2,
|
||||
mod:{
|
||||
ignoredHandcard:function(card,player){
|
||||
if(get.color(card)=='red'){
|
||||
|
@ -1280,6 +1439,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
},
|
||||
cixiao:{
|
||||
audio:2,
|
||||
trigger:{player:'phaseZhunbeiBegin'},
|
||||
direct:true,
|
||||
filter:function(event,player){
|
||||
|
@ -1392,6 +1552,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
},
|
||||
xianshuai:{
|
||||
audio:2,
|
||||
trigger:{global:'damageEnd'},
|
||||
forced:true,
|
||||
filter:function(event,player){
|
||||
|
@ -1399,8 +1560,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
content:function(){
|
||||
player.addTempSkill('xianshuai2','roundStart');
|
||||
if(trigger.source!=player) player.draw();
|
||||
else if(trigger.player.isAlive()){
|
||||
player.draw();
|
||||
if(player==trigger.source&&trigger.player.isAlive()){
|
||||
player.line(trigger.player,'green');
|
||||
trigger.player.damage();
|
||||
}
|
||||
|
@ -1408,6 +1569,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
xianshuai2:{},
|
||||
shiyuan:{
|
||||
audio:2,
|
||||
trigger:{target:'useCardToTargeted'},
|
||||
frequent:true,
|
||||
filter:function(event,player){
|
||||
|
@ -1422,6 +1584,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
},
|
||||
dushi:{
|
||||
audio:2,
|
||||
global:'dushi2',
|
||||
locked:true,
|
||||
trigger:{player:'die'},
|
||||
|
@ -1542,6 +1705,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
},
|
||||
yujue:{
|
||||
audio:2,
|
||||
derivation:'zhihu',
|
||||
enable:'phaseUse',
|
||||
usable:1,
|
||||
|
@ -1560,6 +1724,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
list.push('cancel2');
|
||||
return list;
|
||||
},
|
||||
check:function(event,player){
|
||||
for(var i=5;i>0;i--){
|
||||
if(player.isEmpty(i)) return ('equip'+i);
|
||||
}
|
||||
return 'cancel2';
|
||||
},
|
||||
backup:function(result){
|
||||
var next=get.copy(lib.skill.yujuex);
|
||||
next.position=result.control;
|
||||
|
@ -1573,9 +1743,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
if(game.hasPlayer(function(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;
|
||||
})&&get.attitude(player,target)>0;
|
||||
return hs>2&&get.attitude(player,target)>0;
|
||||
})) return 1;
|
||||
return 0;
|
||||
},
|
||||
|
@ -1593,10 +1761,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
})){
|
||||
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;
|
||||
});
|
||||
return target.countCards('h')>0;
|
||||
}).set('ai',function(target){
|
||||
return get.attitude(_status.event.player,target)*target.countCards('h');
|
||||
});
|
||||
|
@ -1651,6 +1816,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
},
|
||||
tuxing:{
|
||||
audio:2,
|
||||
trigger:{player:'disableEquipAfter'},
|
||||
forced:true,
|
||||
content:function(){
|
||||
|
@ -1669,18 +1835,16 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
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',
|
||||
content:'造成伤害时,此伤害+1',
|
||||
},
|
||||
},
|
||||
gongjian:{
|
||||
audio:2,
|
||||
trigger:{player:'useCardToPlayered'},
|
||||
usable:1,
|
||||
logTarget:'target',
|
||||
|
@ -1710,6 +1874,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
},
|
||||
kuimang:{
|
||||
audio:2,
|
||||
trigger:{global:'dieAfter'},
|
||||
forced:true,
|
||||
filter:function(event,player){
|
||||
|
@ -7072,6 +7237,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
liubian:'刘辩(176年-190年3月6日),是汉灵帝刘宏与何皇后的嫡长子。刘辩在灵帝驾崩后继位为帝,史称少帝,由于年幼,实权掌握在临朝称制的母亲何太后和母舅大将军何进手中。少帝在位时期,东汉政权已经名存实亡,他即位后不久即遭遇以何进为首的外戚集团和以十常侍为首的内廷宦官集团这两大敌对政治集团的火并,被迫出宫,回宫后又受制于以“勤王”为名进京的凉州军阀董卓,终于被废为弘农王,成为东汉唯一被废黜的皇帝,其同父异母弟陈留王刘协继位为帝,是为汉献帝。被废黜一年之后,刘辩在董卓胁迫下自尽,时年仅十五岁(一说十八岁),其弟献帝追谥他为怀王。中国古代的史书中称刘辩为皇子辩、少帝和弘农王等。因为在位不逾年,传统上称东汉共十二帝,刘辩与东汉另一位少帝刘懿都不在其中,亦皆无本纪;不过,现代史学界也有观点承认两位少帝均是汉朝皇帝,则刘辩为东汉第十三位皇帝。',
|
||||
luyusheng:'陆郁生(?年-?),三国时期吴国官员陆绩之女。陆郁生的父亲陆绩是吴郡公认的才子,又是当时吴郡陆氏的领袖。陆绩赴任担任郁林太守,遂取此名。陆郁生年少的时候就定下坚贞的志向。建安二十四年(219年),陆绩早亡,她与两个兄弟陆宏、陆睿当时都只有几岁,一起返回吴县,被他们的从兄陆瑁接回抚养。13周岁的陆郁生嫁给同郡出身的张白为妻。出嫁3个月后,张白因为其兄张温一族的案件遭到连坐,被处以流刑,后死于流放地,陆郁生成为了寡妇,其后公开宣言不再改嫁,困难于生计但拒绝了所有提亲,在艰苦中从未停止服侍、照顾张白的姐妹。事情传到朝廷,皇帝褒奖陆郁生,号其为“义姑”。她的表侄姚信在文集中称赞她的义举。',
|
||||
wangrong:'汉灵怀皇后王荣(?~181年),赵国邯郸(今河北邯郸市)人。五官中郎将王苞孙女,汉灵帝刘宏妃子,汉献帝刘协生母。初以良家子选入掖庭,封为美人,服侍汉灵帝。光和四年(181年),生下陈留王刘协,惨遭灵思皇后毒杀。王荣死后,汉灵帝曾作《追德赋》、《令仪颂》。永汉元年(189年),其子刘协即位,是为汉献帝,追谥灵怀皇后,葬于文昭陵。',
|
||||
hanfu:'韩馥(?—191年),字文节,颍川郡(今河南禹州)人。东汉末年的诸侯,冀州牧。韩馥担任过东汉的御史中丞,之后被董卓举荐为冀州牧;在各诸侯起兵讨伐董卓时,韩馥也是其中之一的参与者。韩馥与袁绍也曾经有意立刘虞为皇帝。当时冀州民殷人盛,兵粮优足,于是袁绍便用计夺取冀州,韩馥被迫投靠张邈;之后张邈与袁绍的使者见面,韩馥以为是要来杀害自己的,于是在厕所中以刻书用的小刀自杀。',
|
||||
},
|
||||
characterTitle:{
|
||||
wulan:'#b对决限定武将',
|
||||
|
@ -7126,6 +7292,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
huangfusong:['huangfusong','old_huangfusong'],
|
||||
wenyang:['wenyang','diy_wenyang'],
|
||||
dingyuan:['ol_dingyuan','dingyuan'],
|
||||
quyi:['quyi','re_quyi'],
|
||||
},
|
||||
translate:{
|
||||
lijue:"李傕",
|
||||
|
@ -7417,13 +7584,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
liuhong:'刘宏',
|
||||
yujue:'鬻爵',
|
||||
yujue_backup:'鬻爵',
|
||||
yujue_info:'出牌阶段限一次,你可以废除一个装备栏,然后令除你之外手牌数最多的一名其他角色交给你一张手牌。其获得〖执笏〗直到你的下回合开始。',
|
||||
yujue_info:'出牌阶段限一次,你可以废除一个装备栏,然后令一名有手牌的其他角色交给你一张手牌。其获得〖执笏〗直到你的下回合开始。',
|
||||
zhihu:'执笏',
|
||||
zhihu_mark:'执笏',
|
||||
zhihu_info:'锁定技,每回合限两次,当你对其他角色造成伤害后,你摸两张牌。',
|
||||
tuxing:'图兴',
|
||||
tuxing2:'图兴',
|
||||
tuxing_info:'锁定技,当你废除一个装备栏时,你加1点体力上限并回复1点体力。然后若你所有的装备栏均已被废除,则你减4点体力上限,且本局游戏内使用【杀】造成的伤害+1。',
|
||||
tuxing_info:'锁定技,当你废除一个装备栏时,你加1点体力上限并回复1点体力。然后若你所有的装备栏均已被废除,则你减4点体力上限,且本局游戏内造成的伤害+1。',
|
||||
re_hejin:'何进',
|
||||
xin_baosanniang:'鲍三娘',
|
||||
decadexushen:"许身",
|
||||
|
@ -7444,7 +7611,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
panshi:'叛弑',
|
||||
panshi_info:'锁定技,准备阶段,你交给有“慈孝”技能的角色一张手牌;当你于出牌阶段因使用【杀】对其他角色造成伤害时,若其拥有技能“慈孝”,则此伤害+1,且你结束出牌阶段。',
|
||||
xianshuai:'先率',
|
||||
xianshuai_info:'锁定技,有角色造成伤害后,若此伤害是本轮第一次造成伤害,且伤害来源是其他角色,则你摸一张牌;若伤害来源是你,则你对受伤角再造成1点伤害。',
|
||||
xianshuai_info:'锁定技,有角色造成伤害后,若此伤害是本轮第一次造成伤害:你摸一张牌;若伤害来源是你,则你对受伤角再造成1点伤害。',
|
||||
luyusheng:'陆郁生',
|
||||
wangrong:'王荣',
|
||||
minsi:'敏思',
|
||||
|
@ -7526,7 +7693,17 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
quanbian2:'权变',
|
||||
quanbian_info:'当你于出牌阶段内使用/打出手牌时,若此牌有花色且你本回合内未使用/打出过该花色的其他手牌,则你可以选择一项:①摸一张牌。②将牌堆顶X张牌中的一张置于牌堆底(X为你的体力上限)。若你发动此技能,则你本回合内不能再使用与此牌花色相同的手牌。',
|
||||
re_hansui:'韩遂',
|
||||
quyi:'麴义',
|
||||
re_quyi:'麴义',
|
||||
refuqi:'伏骑',
|
||||
refuqi_info:'锁定技,当你使用牌时,你令所有距离为1的其他角色不能使用或打出牌响应此牌。',
|
||||
hanfu:'韩馥',
|
||||
hfjieying:'节应',
|
||||
hfjieying2:'节应',
|
||||
hfjieying3:'节应',
|
||||
hfjieying_info:'结束阶段,你可以选择一名其他角色,该角色下回合使用【杀】或普通锦囊牌无距离限制且可多指定一个目标,且当其造成伤害后,其无法再使用牌直到回合结束。 ',
|
||||
weipo:'危迫',
|
||||
weipo_info:'锁定技,其他角色使用【杀】或普通锦囊牌指定你为目标后,若你的手牌数小于X,则你记录自己此时的手牌数为Y并将手牌摸至X张。此牌结算结束后,若你的手牌数小于Y,则你将一张手牌交给此牌的使用者,且此技能失效直到你的下回合开始。(X为你的体力上限且至多为5) ',
|
||||
|
||||
sp_yingbian:'应变篇',
|
||||
sp_whlw:"文和乱武",
|
||||
sp_zlzy:"逐鹿中原",
|
||||
|
|
|
@ -2856,10 +2856,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
var list=['sha','shan','tao','jiu','taoyuan','wugu','juedou','huogong','jiedao','tiesuo','guohe','shunshou','wuzhong','wanjian','nanman','lebu','bingliang','shandian'];
|
||||
for(var i=0;i<player.storage.shouxi.length;i++){
|
||||
list.remove(player.storage.shouxi[i]);
|
||||
}
|
||||
var list=lib.inpile.filter(function(i){
|
||||
if(player.storage.shouxi.contains(i)) return false;
|
||||
var type=get.type(i);
|
||||
if(type=='basic'||type=='trick') return true;
|
||||
return false;
|
||||
});
|
||||
for(var i=0;i<list.length;i++){
|
||||
list[i]=[get.type(list[i]),'',list[i]];
|
||||
}
|
||||
|
@ -4325,28 +4327,17 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
event.finish();
|
||||
return;
|
||||
}
|
||||
var list=['sha','sha','sha','sha','shan','tao','jiu'];
|
||||
if(player.storage.jiaozhao1){
|
||||
list=list.concat(['taoyuan','wugu','juedou','huogong','jiedao','tiesuo','guohe','shunshou','wuzhong','wanjian','nanman']);
|
||||
}
|
||||
for(var i=0;i<list.length;i++){
|
||||
if(i<=6){
|
||||
if(i==1){
|
||||
list[i]=['基本','',list[i],'fire'];
|
||||
}
|
||||
else if(i==2){
|
||||
list[i]=['基本','',list[i],'thunder'];
|
||||
}
|
||||
else if(i==3){
|
||||
list[i]=['基本','',list[i],'ice'];
|
||||
}
|
||||
else{
|
||||
list[i]=['基本','',list[i]];
|
||||
}
|
||||
}
|
||||
else{
|
||||
list[i]=['锦囊','',list[i]];
|
||||
var list=[];
|
||||
for(var i=0;i<lib.inpile.length;i++){
|
||||
var name=lib.inpile[i];
|
||||
if(name=='sha'){
|
||||
list.push(['基本','','sha']);
|
||||
list.push(['基本','','sha','fire']);
|
||||
list.push(['基本','','sha','thunder']);
|
||||
list.push(['基本','','sha','ice']);
|
||||
}
|
||||
else if(get.type(name)=='basic') list.push(['基本','',name]);
|
||||
else if(player.storage.jiaozhao1&&get.type(name)=='trick') list.push(['锦囊','',name]);
|
||||
}
|
||||
var choice;
|
||||
if(get.attitude(event.target,player)<=0){
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
window.noname_asset_list=[
|
||||
'v1.9.107',
|
||||
'v1.9.108',
|
||||
'audio/background/aozhan_chaoming.mp3',
|
||||
'audio/background/aozhan_online.mp3',
|
||||
'audio/background/aozhan_rewrite.mp3',
|
||||
|
@ -649,6 +649,10 @@ window.noname_asset_list=[
|
|||
'audio/die/yanghuiyu.mp3',
|
||||
'audio/die/xin_lingtong.mp3',
|
||||
'audio/die/xin_liubiao.mp3',
|
||||
'audio/die/ol_dingyuan.mp3',
|
||||
'audio/die/zhujun.mp3',
|
||||
'audio/die/liubian.mp3',
|
||||
|
||||
'audio/skill/decadezishou1.mp3',
|
||||
'audio/skill/decadezishou2.mp3',
|
||||
'audio/skill/decadezongshi1.mp3',
|
||||
|
@ -659,7 +663,6 @@ window.noname_asset_list=[
|
|||
'audio/skill/xuanfeng_xin_lingtong2.mp3',
|
||||
'audio/skill/yongjin_xin_lingtong1.mp3',
|
||||
'audio/skill/yongjin_xin_lingtong2.mp3',
|
||||
|
||||
'audio/skill/anguo1.mp3',
|
||||
'audio/skill/anguo2.mp3',
|
||||
'audio/skill/anjian1.mp3',
|
||||
|
@ -2844,6 +2847,20 @@ window.noname_asset_list=[
|
|||
'audio/skill/shanli2.mp3',
|
||||
'audio/skill/zhuwei1.mp3',
|
||||
'audio/skill/zhuwei2.mp3',
|
||||
'audio/skill/cixiao1.mp3',
|
||||
'audio/skill/cixiao2.mp3',
|
||||
'audio/skill/dushi1.mp3',
|
||||
'audio/skill/dushi2.mp3',
|
||||
'audio/skill/gongjian1.mp3',
|
||||
'audio/skill/gongjian2.mp3',
|
||||
'audio/skill/kuimang1.mp3',
|
||||
'audio/skill/kuimang2.mp3',
|
||||
'audio/skill/shiyuan1.mp3',
|
||||
'audio/skill/shiyuan2.mp3',
|
||||
'audio/skill/spweiwu1.mp3',
|
||||
'audio/skill/spweiwu2.mp3',
|
||||
'audio/skill/xianshuai1.mp3',
|
||||
'audio/skill/xianshuai2.mp3',
|
||||
|
||||
'font/huangcao.ttf',
|
||||
'font/shousha.ttf',
|
||||
|
@ -2908,6 +2925,7 @@ window.noname_asset_list=[
|
|||
'image/card/yuanjun.png',
|
||||
'image/card/kamome_suitcase.png',
|
||||
'image/card/miki_hydrogladiator.png',
|
||||
'image/card/hina_shenji.png',
|
||||
|
||||
'image/card/bagua.png',
|
||||
'image/card/baihupifeng.png',
|
||||
|
@ -3528,6 +3546,14 @@ window.noname_asset_list=[
|
|||
'image/character/jin_zhangchunhua.jpg',
|
||||
'image/character/dongxie.jpg',
|
||||
'image/character/jin_simayi.jpg',
|
||||
'image/character/liuhong.jpg',
|
||||
'image/character/ol_dingyuan.jpg',
|
||||
'image/character/re_hansui.jpg',
|
||||
'image/character/wangrong.jpg',
|
||||
'image/character/zhujun.jpg',
|
||||
'image/character/hanfu.jpg',
|
||||
'image/character/key_hina.jpg',
|
||||
'image/character/re_quyi.jpg',
|
||||
|
||||
'image/character/baiwuchang.jpg',
|
||||
'image/character/baosanniang.jpg',
|
||||
|
@ -5392,9 +5418,9 @@ window.noname_skin_list={
|
|||
key_nao:4,
|
||||
key_shiki:6,
|
||||
key_yui:2,
|
||||
key_yuri:4,
|
||||
key_yuri:5,
|
||||
key_yuzuru:2,
|
||||
sp_key_kanade:8,
|
||||
sp_key_kanade:9,
|
||||
key_kamome:5,
|
||||
key_umi:5,
|
||||
key_umi2:1,
|
||||
|
@ -5411,4 +5437,6 @@ window.noname_skin_list={
|
|||
key_kyoko:1,
|
||||
key_kotori:1,
|
||||
key_shiina:1,
|
||||
key_hiroto:1,
|
||||
key_komari:1,
|
||||
};
|
18
game/game.js
18
game/game.js
|
@ -15927,7 +15927,7 @@
|
|||
game.broadcast(function(player,name,sex,num,group){
|
||||
player.group=group;
|
||||
player.name=name;
|
||||
player.sex=sex;;
|
||||
player.sex=sex;
|
||||
switch(num){
|
||||
case 0:player.classList.remove('unseen');break;
|
||||
case 1:player.classList.remove('unseen2');break;
|
||||
|
@ -17010,7 +17010,6 @@
|
|||
update:function(){
|
||||
if(_status.video&&arguments.length==0) return;
|
||||
if(this.hp>=this.maxHp) this.hp=this.maxHp;
|
||||
if(this.storage.nohp) return;
|
||||
var hp=this.node.hp;
|
||||
hp.style.transition='none';
|
||||
game.broadcast(function(player,hp,maxHp,hujia){
|
||||
|
@ -17027,6 +17026,7 @@
|
|||
this.unmarkSkill('ghujia');
|
||||
}
|
||||
}
|
||||
if(!this.storage.nohp){
|
||||
if(this.maxHp==Infinity){
|
||||
hp.innerHTML='∞';
|
||||
}
|
||||
|
@ -17095,6 +17095,7 @@
|
|||
setTimeout(function(){
|
||||
hp.style.transition='';
|
||||
});
|
||||
}
|
||||
var numh=this.countCards('h');
|
||||
if(_status.video){
|
||||
numh=arguments[0];
|
||||
|
@ -25270,8 +25271,8 @@
|
|||
forced:true,
|
||||
popup:false,
|
||||
priority:25,
|
||||
filter:function(event,player){
|
||||
return player.isUnseen(2)&&get.mode()!='guozhan';
|
||||
filter:function(event,player,name){
|
||||
return player.isUnseen(2)&&get.mode()!='guozhan'&&(name=='phaseBeginStart'||event.num<0);
|
||||
},
|
||||
content:function(){
|
||||
if(trigger.name=='loseMaxHp') trigger.cancel();
|
||||
|
@ -26361,7 +26362,7 @@
|
|||
ui.create.connecting(true);
|
||||
},
|
||||
roomlist:function(list,events,clients,wsid){
|
||||
game.send('server','key',game.onlineKey);
|
||||
game.send('server','key',[game.onlineKey,lib.version]);
|
||||
game.online=true;
|
||||
game.onlinehall=true;
|
||||
lib.config.recentIP.remove(_status.ip);
|
||||
|
@ -26932,7 +26933,12 @@
|
|||
},
|
||||
denied:function(reason){
|
||||
switch(reason){
|
||||
case 'version':alert('加入失败:版本不匹配');break;
|
||||
case 'version':
|
||||
alert('加入失败:版本不匹配,请将游戏更新至最新版');
|
||||
game.saveConfig('tmp_owner_roomId');
|
||||
game.saveConfig('tmp_user_roomId');
|
||||
game.saveConfig('reconnect_info');
|
||||
break;
|
||||
case 'gaming':alert('加入失败:游戏已开始');break;
|
||||
case 'number':alert('加入失败:房间已满');break;
|
||||
case 'banned':alert('加入失败:房间拒绝你加入');break;
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
var wss=new WebSocketServer({port:8080});
|
||||
var bannedKeys=[];
|
||||
var bannedIps=[];
|
||||
var version='1.9.108';
|
||||
|
||||
var rooms=[{},{},{},{},{},{},{},{}];
|
||||
var systemEvent={
|
||||
|
@ -80,15 +81,22 @@
|
|||
}
|
||||
},
|
||||
key:function(id){
|
||||
this.onlineKey=id;
|
||||
if(!id||typeof id!='object'||version!=id[1]){
|
||||
console.log(id, this._socket.remoteAddress, '使用旧版本登录');
|
||||
this.sendl('denied','version');
|
||||
this.close();
|
||||
clearTimeout(this.keyCheck);
|
||||
delete this.keyCheck;
|
||||
if(typeof id!='string'||bannedKeys.indexOf(id)!=-1){
|
||||
bannedIps.push(this._socket.remoteAddress);
|
||||
console.log(id, this._socket.remoteAddress);
|
||||
this.close();
|
||||
return;
|
||||
}
|
||||
else if(bannedKeys.indexOf(id[0])!=-1){
|
||||
bannedIps.push(this._socket.remoteAddress);
|
||||
console.log(id, this._socket.remoteAddress, '被封禁用户登录');
|
||||
this.close();
|
||||
}
|
||||
this.onlineKey=id[0];
|
||||
clearTimeout(this.keyCheck);
|
||||
delete this.keyCheck;
|
||||
},
|
||||
events:function(cfg,id,type){
|
||||
if(bannedKeys.indexOf(id)!=-1||typeof id!='string'){
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
window.noname_update={
|
||||
version:'1.9.107',
|
||||
update:'1.9.106.4.2',
|
||||
version:'1.9.108',
|
||||
update:'1.9.107.1',
|
||||
changeLog:[
|
||||
'应变篇卡牌包',
|
||||
'晋司马懿',
|
||||
'成神之日:佐藤雏',
|
||||
'新麹义、韩馥',
|
||||
'bug修复',
|
||||
],
|
||||
files:[
|
||||
'card/extra.js',
|
||||
'card/gujian.js',
|
||||
'card/guozhan.js',
|
||||
//'card/extra.js',
|
||||
//'card/gujian.js',
|
||||
//'card/guozhan.js',
|
||||
//'card/gwent.js',
|
||||
//'card/huanlekapai.js',
|
||||
//'card/mtg.js',
|
||||
|
@ -20,15 +20,15 @@ window.noname_update={
|
|||
'card/yingbian.js',
|
||||
//'card/zhenfa.js',
|
||||
//'card/zhulu.js',
|
||||
'character/diy.js',
|
||||
//'character/extra.js',
|
||||
//'character/diy.js',
|
||||
'character/extra.js',
|
||||
//'character/hearth.js',
|
||||
//'character/gujian.js',
|
||||
//'character/gwent.js',
|
||||
//'character/hearth.js',
|
||||
'character/mobile.js',
|
||||
//'character/mobile.js',
|
||||
//'character/mtg.js',
|
||||
'character/old.js',
|
||||
//'character/old.js',
|
||||
'character/rank.js',
|
||||
'character/refresh.js',
|
||||
'character/shenhua.js',
|
||||
|
@ -42,24 +42,24 @@ window.noname_update={
|
|||
'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/doudizhu.js',
|
||||
'mode/guozhan.js',
|
||||
//'mode/doudizhu.js',
|
||||
//'mode/guozhan.js',
|
||||
//'mode/chess.js',
|
||||
//'mode/tafang.js',
|
||||
'mode/single.js',
|
||||
'mode/stone.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',
|
||||
//'game/server.js',
|
||||
'game/server.js',
|
||||
//'game/NoSleep.js',
|
||||
'game/config.js',
|
||||
'game/package.js',
|
||||
//'game/config.js',
|
||||
//'game/package.js',
|
||||
//'game/asset.js',
|
||||
//'game/source.js',
|
||||
//'theme/style/hp/xinglass.css',
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 103 KiB |
Binary file not shown.
After Width: | Height: | Size: 72 KiB |
Binary file not shown.
After Width: | Height: | Size: 88 KiB |
Binary file not shown.
After Width: | Height: | Size: 78 KiB |
19
mode/boss.js
19
mode/boss.js
|
@ -497,6 +497,12 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
fullskin:true,
|
||||
},
|
||||
shenzhixiunvfu:{
|
||||
type:'equip',
|
||||
subtype:'equip2',
|
||||
modeimage:'boss',
|
||||
fullskin:true,
|
||||
},
|
||||
gubuzifeng:{
|
||||
type:'trick',
|
||||
fullskin:true,
|
||||
|
@ -1604,7 +1610,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
return name;
|
||||
}
|
||||
else{
|
||||
var arr=['shen_caocao','shen_simayi','shen_guanyu','shen_zhugeliang','shen_zhaoyun','shen_zhouyu','shen_lvmeng','shen_lvbu','shen_liubei','shen_luxun','shen_ganning','ol_zhangliao','shen_zhenji','shen_caopi','key_kagari','key_shiki'];
|
||||
var arr=['shen_caocao','shen_simayi','shen_guanyu','shen_zhugeliang','shen_zhaoyun','shen_zhouyu','shen_lvmeng','shen_lvbu','shen_liubei','shen_luxun','shen_ganning','ol_zhangliao','shen_zhenji','shen_caopi','key_kagari','key_shiki','key_hina'];
|
||||
arr.removeArray(list);
|
||||
return arr.randomGet();
|
||||
}
|
||||
|
@ -1653,7 +1659,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
game.check();
|
||||
});
|
||||
control.backup1=ui.create.div('.buttons');
|
||||
control.backup2=ui.create.buttons(['shen_caocao','shen_simayi','shen_guanyu','shen_zhugeliang','shen_zhaoyun','shen_zhouyu','shen_lvmeng','shen_lvbu','shen_liubei','shen_luxun','shen_ganning','ol_zhangliao','shen_zhenji','shen_caopi','key_kagari','key_shiki'],'character',control.backup1);
|
||||
control.backup2=ui.create.buttons(['shen_caocao','shen_simayi','shen_guanyu','shen_zhugeliang','shen_zhaoyun','shen_zhouyu','shen_lvmeng','shen_lvbu','shen_liubei','shen_luxun','shen_ganning','ol_zhangliao','shen_zhenji','shen_caopi','key_kagari','key_shiki','key_hina'],'character',control.backup1);
|
||||
return control;
|
||||
}
|
||||
},
|
||||
|
@ -1663,7 +1669,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
game.addGlobalSkill('thedayibecomeagod');
|
||||
var list=['lebu','bingliang'];
|
||||
for(var i=0;i<game.players.length;i++){
|
||||
switch(game.players[i].name){
|
||||
switch(game.players[i].name1){
|
||||
case 'shen_guanyu':{
|
||||
game.players[i].equip(game.createCard2('guilongzhanyuedao','spade',5));
|
||||
lib.inpile.add('guilongzhanyuedao');
|
||||
|
@ -1753,6 +1759,11 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
lib.inpile.add('niaobaidaowenha');
|
||||
break;
|
||||
}
|
||||
case 'key_hina':{
|
||||
game.players[i].equip(game.createCard2('shenzhixiunvfu','spade',13));
|
||||
lib.inpile.add('shenzhixiunvfu');
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
lib.inpile.remove('wuzhong');
|
||||
|
@ -9809,6 +9820,8 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
niaobaidaowenha_skill:'鸟白岛文蛤',
|
||||
niaobaidaowenha_info:'当你减少1点体力上限后,你可令一名其他角色增加1点体力上限并回复1点体力。',
|
||||
niaobaidaowenha_skill_info:'当你减少1点体力上限后,你可令一名其他角色增加1点体力上限并回复1点体力。',
|
||||
shenzhixiunvfu:'神之修女服',
|
||||
shenzhixiunvfu_info:'没什么实际作用的衣服,仅仅是显得像个神而已。',
|
||||
|
||||
mode_boss_card_config:'挑战卡牌',
|
||||
mode_boss_character_config:'挑战武将',
|
||||
|
|
|
@ -1095,12 +1095,12 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
if(typeof lib.config.test_game=='string'&&player==game.me.next){
|
||||
player.init(lib.config.test_game);
|
||||
}
|
||||
if(get.config('choose_group')&&player.group=='shen'){
|
||||
if(get.config('choose_group')&&player.group=='shen'&&!player.isUnseen(0)){
|
||||
var list=lib.group.slice(0);
|
||||
list.remove('shen');
|
||||
if(list.length) player.group=function(){
|
||||
if(_status.mode!='zhong'&&game.zhu&&game.zhu.group){
|
||||
if(['re_zhangjiao','liubei','re_liubei','caocao','re_caocao','sunquan','re_sunquan','zhangjiao','sp_zhangjiao','caopi','re_caopi','liuchen','caorui','sunliang','sunxiu','sunce','re_sunben','ol_liushan','re_liushan','key_akane','dongzhuo','re_dongzhuo','ol_dongzhuo'].contains(game.zhu.name)) return game.zhu.group;
|
||||
if(['re_zhangjiao','liubei','re_liubei','caocao','re_caocao','sunquan','re_sunquan','zhangjiao','sp_zhangjiao','caopi','re_caopi','liuchen','caorui','sunliang','sunxiu','sunce','re_sunben','ol_liushan','re_liushan','key_akane','dongzhuo','re_dongzhuo','ol_dongzhuo','liubian'].contains(game.zhu.name)) return game.zhu.group;
|
||||
if(game.zhu.name=='sunhao'&&player.identity=='zhong') return 'wu';
|
||||
if(game.zhu.name=='yl_yuanshu'){
|
||||
if(player.identity=='zhong') list.remove('qun');
|
||||
|
@ -1667,7 +1667,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
var chooseGroup=false;
|
||||
if(event.chosen.length){
|
||||
if(lib.character[event.chosen[0]][1]=='shen'){
|
||||
if(lib.character[event.chosen[0]][1]=='shen'&&!lib.character[event.chosen[0]][4].contains('hiddenSkill')){
|
||||
chooseGroup=true;
|
||||
}
|
||||
}
|
||||
|
@ -1678,13 +1678,13 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
else if(result.buttons.length==2){
|
||||
event.choosed=[result.buttons[0].link,result.buttons[1].link];
|
||||
game.addRecentCharacter(result.buttons[0].link,result.buttons[1].link);
|
||||
if(lib.character[event.choosed[0]][1]=='shen'){
|
||||
if(lib.character[event.choosed[0]][1]=='shen'&&!lib.character[event.choosed[0]][4].contains('hiddenSkill')){
|
||||
chooseGroup=true;
|
||||
}
|
||||
}
|
||||
else{
|
||||
event.choosed=[result.buttons[0].link];
|
||||
if(lib.character[event.choosed[0]][1]=='shen'){
|
||||
if(lib.character[event.choosed[0]][1]=='shen'&&!lib.character[event.choosed[0]][4].contains('hiddenSkill')){
|
||||
chooseGroup=true;
|
||||
}
|
||||
game.addRecentCharacter(result.buttons[0].link);
|
||||
|
@ -1966,7 +1966,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
},game.zhu,game.zhu.name,game.zhu.name2,game.players.length>4);
|
||||
|
||||
if(game.zhu.group=='shen'){
|
||||
if(game.zhu.group=='shen'&&!game.zhu.isUnseen(0)){
|
||||
var list=['wei','shu','wu','qun','jin','key'];
|
||||
for(var i=0;i<list.length;i++){
|
||||
if(!lib.group.contains(list[i])) list[i].splice(i--,1);
|
||||
|
@ -2044,7 +2044,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
else{
|
||||
result[i]=result[i].links;
|
||||
}
|
||||
if(lib.character[result[i][0]]&&lib.character[result[i][0]][1]=='shen') shen.push(lib.playerOL[i]);
|
||||
if(lib.character[result[i][0]]&&lib.character[result[i][0]][1]=='shen'&&!lib.character[result[i][0]][4].contains('hiddenSkill')) shen.push(lib.playerOL[i]);
|
||||
}
|
||||
event.result2=result;
|
||||
if(shen.length){
|
||||
|
|
Loading…
Reference in New Issue