taishici
This commit is contained in:
parent
119d02a195
commit
935d3af4e0
|
@ -14,7 +14,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
extra_lei:['shen_ganning','shen_zhangliao'],
|
||||
extra_key:['key_kagari','key_shiki','key_hina'],
|
||||
extra_ol:['ol_zhangliao','shen_caopi','shen_zhenji'],
|
||||
extra_mobile:['shen_guojia'],
|
||||
extra_mobilezhi:['shen_guojia'],
|
||||
extra_mobilexin:['shen_taishici'],
|
||||
extra_offline:['shen_diaochan','boss_zhaoyun'],
|
||||
extra_mini:['mini_zhugeliang','mini_lvbu','mini_lvmeng'],
|
||||
},
|
||||
|
@ -24,7 +25,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
key_shiki:['female','shen','3/5',['shiki_omusubi'],['key']],
|
||||
key_hina:['female','shen',3,['hina_shenxian','hina_mashu','hina_tieji'],['key','hiddenSkill']],
|
||||
|
||||
shen_guojia:['male','shen',3,['shuishi','stianyi','sghuishi']],
|
||||
shen_taishici:['male','shen',4,['dulie','tspowei','dangmo'],['wu']],
|
||||
shen_guojia:['male','shen',3,['reshuishi','stianyi','resghuishi'],['wei']],
|
||||
shen_diaochan:['female','shen',3,['meihun','huoxin'],['qun']],
|
||||
shen_guanyu:['male','shen',5,['new_wuhun','wushen'],['shu']],
|
||||
shen_zhaoyun:['male','shen',2,['xinjuejing','relonghun'],['shu']],
|
||||
|
@ -230,7 +232,245 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
player.turnOver();
|
||||
},
|
||||
},
|
||||
dulie:{
|
||||
audio:2,
|
||||
trigger:{
|
||||
global:'gameDrawAfter',
|
||||
player:'enterGame',
|
||||
},
|
||||
locked:true,
|
||||
direct:true,
|
||||
filter:function(event,player){
|
||||
return game.players.length>1&&!game.hasPlayer(function(current){
|
||||
return current.hasMark('dulie');
|
||||
});
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
var num=Math.floor(game.players.length/2);
|
||||
player.chooseTarget(num,true,'请选择【笃烈】的目标','令'+get.cnNumber(num)+'名角色获得“围”标记',lib.filter.notMe).set('ai',function(target){
|
||||
var player=_status.event.player;
|
||||
return Math.max(1,get.attitude(player,target))/Math.max(1,get.distance(player,target));
|
||||
});
|
||||
'step 1'
|
||||
if(result.bool){
|
||||
var targets=result.targets.sortBySeat();
|
||||
player.logSkill('dulie',targets);
|
||||
for(var i of targets) i.addMark('dulie',1);
|
||||
game.delayx();
|
||||
}
|
||||
},
|
||||
mod:{
|
||||
targetInRange:function(card,player,target){
|
||||
if(card.name=='sha'&&!target.hasMark('dulie')) return true;
|
||||
},
|
||||
},
|
||||
marktext:'围',
|
||||
intro:{
|
||||
name:'笃烈/破阵 (围)',
|
||||
name2:'围',
|
||||
content:'mark',
|
||||
},
|
||||
group:'dulie_sha',
|
||||
subSkill:{
|
||||
sha:{
|
||||
audio:'dulie',
|
||||
trigger:{target:'useCardToTarget'},
|
||||
forced:true,
|
||||
logTarget:'player',
|
||||
filter:function(event,player){
|
||||
return event.card.name=='sha'&&event.player.isIn()&&!event.player.hasMark('dulie');
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
player.judge(function(result){
|
||||
if(get.color(result)=='red') return 2;
|
||||
return -1;
|
||||
});
|
||||
'step 1'
|
||||
if(result.bool){
|
||||
trigger.targets.remove(player);
|
||||
trigger.getParent().triggeredTargets2.remove(player);
|
||||
trigger.untrigger();
|
||||
}
|
||||
},
|
||||
ai:{
|
||||
effect:{
|
||||
target:function(card,player,target,current,isLink){
|
||||
if(card.name=='sha'&&!isLink&&!player.hasMark('dulie')) return 0.5;
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
tspowei:{
|
||||
audio:2,
|
||||
dutySkill:true,
|
||||
forced:true,
|
||||
trigger:{source:'damageBegin2'},
|
||||
logTarget:'player',
|
||||
filter:function(event,player){
|
||||
return event.card&&event.card.name=='sha'&&event.player&&
|
||||
event.player.isIn()&&event.player.hasMark('dulie');
|
||||
},
|
||||
content:function(){
|
||||
trigger.cancel();
|
||||
trigger.player.removeMark('dulie',trigger.player.countMark('dulie'));
|
||||
},
|
||||
derivation:'shenzhu',
|
||||
group:['tspowei_achieve','tspowei_fail'],
|
||||
ai:{
|
||||
combo:'dulie',
|
||||
effect:{
|
||||
player:function(card,player,target){
|
||||
if(card.name=='sha'&&target.hasMark('dulie')&&get.attitude(player,target)>=0) return [1,1,0,0];
|
||||
if(get.tag(card,'damage')&&_status.event.type=='respondShan'&&_status.event.getParent().name=='sha'&&target.hasMark('dulie')&&get.attitude(target,player)>=0) return [1,1,0,0];
|
||||
},
|
||||
},
|
||||
},
|
||||
subSkill:{
|
||||
achieve:{
|
||||
audio:'tspowei',
|
||||
trigger:{player:'useCardAfter'},
|
||||
forced:true,
|
||||
skillAnimation:true,
|
||||
animationColor:'metal',
|
||||
filter:function(event,player){
|
||||
return event.card.name=='sha'&&!game.hasPlayer(function(current){
|
||||
return current.hasMark('dulie');
|
||||
});
|
||||
},
|
||||
content:function(){
|
||||
game.log(player,'成功完成使命');
|
||||
player.awakenSkill('tspowei');
|
||||
player.addSkillLog('shenzhu');
|
||||
},
|
||||
},
|
||||
fail:{
|
||||
audio:'tspowei',
|
||||
trigger:{player:'dying'},
|
||||
forced:true,
|
||||
content:function(){
|
||||
'step 0'
|
||||
game.log(player,'使命失败');
|
||||
player.awakenSkill('tspowei');
|
||||
var num=player.countCards('e');
|
||||
if(num>0) player.chooseToDiscard('e',true,num);
|
||||
'step 1'
|
||||
if(player.hp<1) player.recover(1-player.hp);
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
shenzhu:{
|
||||
audio:2,
|
||||
mod:{
|
||||
cardUsable:function(card){
|
||||
if(card.name=='sha') return Infinity;
|
||||
},
|
||||
},
|
||||
trigger:{player:'useCardAfter'},
|
||||
forced:true,
|
||||
filter:function(event,player){
|
||||
return event.card.name=='sha'&&event.card.isCard&&event.cards.length==1;
|
||||
},
|
||||
content:function(){
|
||||
player.draw();
|
||||
},
|
||||
},
|
||||
dangmo:{
|
||||
audio:2,
|
||||
trigger:{player:'useCard2'},
|
||||
direct:true,
|
||||
filter:function(event,player){
|
||||
if(event.card.name!='sha'||player.hp<=1) return false;
|
||||
var evt=event.getParent('phaseUse');
|
||||
return evt&&evt.player==player&&player.getHistory('useCard',function(evtx){
|
||||
return evtx.card.name=='sha'&&evtx.getParent('phaseUse')==evt;
|
||||
})[0]==event&&game.hasPlayer(function(current){
|
||||
return !event.targets.contains(current)&&lib.filter.filterTarget(event.card,player,current);
|
||||
});
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
var num=Math.min(player.hp-1,game.countPlayer(function(current){
|
||||
return !trigger.targets.contains(current)&&lib.filter.filterTarget(trigger.card,player,current);
|
||||
}));
|
||||
player.chooseTarget(get.prompt('dangmo'),'为'+get.translation(trigger.card)+'增加至多'+get.translation(num)+'个目标',[1,num],function(card,player,target){
|
||||
var evt=_status.event.getTrigger();
|
||||
return !evt.targets.contains(target)&&lib.filter.filterTarget(evt.card,player,target);
|
||||
}).set('ai',function(target){
|
||||
var evt=_status.event.getTrigger(),eff=get.effect(target,evt.card,evt.player,evt.player);
|
||||
if(player.hasSkill('tspowei')&&target.hasMark('dulie')) return 4*eff;
|
||||
return eff;
|
||||
});
|
||||
'step 1'
|
||||
if(result.bool){
|
||||
if(player!=game.me&&!player.isOnline()) game.delayx();
|
||||
event.targets=result.targets;
|
||||
}
|
||||
else event.finish();
|
||||
'step 2'
|
||||
player.logSkill('dangmo',targets);
|
||||
trigger.targets.addArray(targets);
|
||||
},
|
||||
},
|
||||
reshuishi:{
|
||||
audio:'shuishi',
|
||||
enable:'phaseUse',
|
||||
usable:1,
|
||||
filter:function(event,player){
|
||||
return player.maxHp<10;
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
event.cards=[];
|
||||
event.suits=[];
|
||||
'step 1'
|
||||
player.judge(function(result){
|
||||
var evt=_status.event.getParent('reshuishi');
|
||||
if(evt&&evt.suits&&evt.suits.contains(get.suit(result))) return 0;
|
||||
return 1;
|
||||
}).set('callback',function(){
|
||||
event.getParent().orderingCards.remove(event.judgeResult.card);
|
||||
});
|
||||
'step 2'
|
||||
event.cards.push(result.card);
|
||||
if(result.bool&&player.maxHp<10){
|
||||
event.suits.push(result.suit);
|
||||
player.gainMaxHp();
|
||||
event.goto(1);
|
||||
}
|
||||
else{
|
||||
cards=cards.filterInD();
|
||||
if(cards.length) player.chooseTarget('将'+get.translation(cards)+'交给一名角色',true).set('ai',function(target){
|
||||
var player=_status.event.player;
|
||||
var att=get.attitude(player,target)/Math.sqrt(1+target.countCards('h'));
|
||||
if(target.hasSkillTag('nogain')) att/=10;
|
||||
return att;
|
||||
});
|
||||
else event.finish();
|
||||
}
|
||||
'step 3'
|
||||
if(result.bool){
|
||||
var target=result.targets[0];
|
||||
event.target=target;
|
||||
player.line(target,'green');
|
||||
target.gain(cards,'gain2');
|
||||
}
|
||||
'step 4'
|
||||
if(target.isMaxHandcard()) player.loseMaxHp();
|
||||
},
|
||||
ai:{
|
||||
order:1,
|
||||
result:{
|
||||
player:1,
|
||||
},
|
||||
},
|
||||
},
|
||||
shuishi:{
|
||||
audio:2,
|
||||
enable:'phaseUse',
|
||||
usable:1,
|
||||
filter:function(event,player){
|
||||
|
@ -279,6 +519,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
},
|
||||
stianyi:{
|
||||
audio:2,
|
||||
trigger:{player:'phaseZhunbeiBegin'},
|
||||
forced:true,
|
||||
juexingji:true,
|
||||
|
@ -309,6 +550,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
derivation:'zuoxing',
|
||||
},
|
||||
zuoxing:{
|
||||
audio:2,
|
||||
trigger:{player:'phaseZhunbeiBegin'},
|
||||
filter:function(event,player){
|
||||
var target=player.storage.zuoxing;
|
||||
|
@ -368,7 +610,61 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
ai:{order:1,result:{player:1}},
|
||||
},
|
||||
resghuishi:{
|
||||
audio:'sghuishi',
|
||||
inherit:'sghuishi',
|
||||
filterTarget:true,
|
||||
content:function(){
|
||||
'step 0'
|
||||
player.awakenSkill('resghuishi');
|
||||
var list=target.getSkills(null,false,false).filter(function(skill){
|
||||
var info=lib.skill[skill];
|
||||
return info&&info.juexingji&&!target.awakenedSkills.contains(skill);
|
||||
});
|
||||
if(player.maxHp>=game.players.length&&list.length>0){
|
||||
if(list.length==1) event._result={control:list[0]};
|
||||
else player.chooseControl(list).set('prompt','选择一个觉醒技,令'+get.translation(target)+'可无视条件发动该技能');
|
||||
}
|
||||
else{
|
||||
target.draw(4);
|
||||
event.goto(2);
|
||||
}
|
||||
'step 1'
|
||||
target.storage.resghuishi=result.control;
|
||||
target.markSkill('resghuishi');
|
||||
var info=lib.skill[result.control];
|
||||
if(info.filter&&!info.charlotte&&!info.sghuishi_filter){
|
||||
info.sghuishi_filter=info.filter;
|
||||
info.filter=function(event,player){
|
||||
if(player.storage.resghuishi) return true;
|
||||
return this.sghuishi_filter.apply(this,arguments);
|
||||
}
|
||||
}
|
||||
'step 2'
|
||||
player.loseMaxHp(2);
|
||||
},
|
||||
intro:{content:'发动【$】时无视条件'},
|
||||
ai:{
|
||||
order:0.1,
|
||||
expose:0.2,
|
||||
result:{
|
||||
target:function(player,target){
|
||||
if(target!=player&&player.hasUnknown()||player.maxHp<(player.getDamagedHp()>1?5:6)) return 0;
|
||||
if(target==player&&player.hasSkill('resghuishi')&&game.hasPlayer(function(current){
|
||||
return current.getAllHistory('damage').length==0;
|
||||
})) return 4;
|
||||
var list=target.getSkills(null,false,false).filter(function(skill){
|
||||
var info=lib.skill[skill];
|
||||
return info&&info.juexingji&&!target.awakenedSkills.contains(skill);
|
||||
});
|
||||
if(list.length||target.hasJudge('lebu')||target.hasSkillTag('nogain')) return 0;
|
||||
return 4;
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
sghuishi:{
|
||||
audio:2,
|
||||
enable:'phaseUse',
|
||||
limited:true,
|
||||
skillAnimation:true,
|
||||
|
@ -3769,7 +4065,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
listm=listm.concat(listv);
|
||||
var func=function(skill){
|
||||
var info=get.info(skill);
|
||||
if(!info||info.charlotte||info.hiddenSkill||info.zhuSkill||info.juexingji||info.limited||(info.unique&&!info.gainable)||lib.skill.drlt_duorui.bannedList.contains(skill)) return false;
|
||||
if(!info||info.charlotte||info.hiddenSkill||info.zhuSkill||info.juexingji||info.limited||info.dutySkill||(info.unique&&!info.gainable)||lib.skill.drlt_duorui.bannedList.contains(skill)) return false;
|
||||
return true;
|
||||
};
|
||||
for(var i=0;i<listm.length;i++){
|
||||
|
@ -4187,7 +4483,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
"drlt_duorui1":"失效技能",
|
||||
"drlt_duorui1_bg":"锐",
|
||||
"drlt_duorui":"夺锐",
|
||||
"drlt_duorui_info":"当你于出牌阶段内对一名其他角色造成伤害后,你可以废除你装备区内的一个装备栏(若已全部废除则可以跳过此步骤),然后获得该角色的一个技能直到其的下回合结束或其死亡(觉醒技,限定技,主公技,隐匿技等特殊技能除外)。若如此做,该角色该技能失效且你不能再发动〖夺锐〗直到你失去以此法获得的技能。",
|
||||
"drlt_duorui_info":"当你于出牌阶段内对一名其他角色造成伤害后,你可以废除你装备区内的一个装备栏(若已全部废除则可以跳过此步骤),然后获得该角色的一个技能直到其的下回合结束或其死亡(觉醒技,限定技,主公技,隐匿技,使命技等特殊技能除外)。若如此做,该角色该技能失效且你不能再发动〖夺锐〗直到你失去以此法获得的技能。",
|
||||
"drlt_zhiti":"止啼",
|
||||
"drlt_zhiti_info":"锁定技,你攻击范围内已受伤的其他角色手牌上限-1;当你拼点或【决斗】胜利,或受到伤害后,你恢复一个装备栏",
|
||||
|
||||
|
@ -4343,6 +4639,19 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
zuoxing_info:'准备阶段,若令你获得〖佐幸〗的角色存活且体力上限大于1,则你可以令其减1点体力上限,然后你获得如下效果:出牌阶段限一次,你可以获得一张普通锦囊牌。',
|
||||
sghuishi:'辉逝',
|
||||
sghuishi_info:'限定技,出牌阶段,你可以选择一名其他角色:若其有未发动过的觉醒技,则你令其发动这些觉醒技时无视原有条件;否则其摸四张牌。然后你减2点体力上限。',
|
||||
shen_taishici:'神太史慈',
|
||||
dulie:'笃烈',
|
||||
dulie_info:'锁定技。①游戏开始时,你令X名其他角色获得“围”(X为游戏人数的一半且向下取整)。②你对没有“围”的角色使用【杀】无距离限制。③当你成为【杀】的目标时,若使用者没有“围”,则你进行判定。若结果为红色,则取消此目标。',
|
||||
tspowei:'破围',
|
||||
tspowei_info:'使命技。①当你因使用【杀】而对有“围”的角色造成伤害时,你防止此伤害并移去该角色的“围”。②使命:当你使用【杀】结算完成后,若场上没有“围”,则你获得技能〖神著〗。③失败:当你进入濒死状态时,你弃置装备区的所有牌,然后将体力值回复至1点。',
|
||||
shenzhu:'神著',
|
||||
shenzhu_info:'你使用【杀】无次数限制。当你使用有对应实体牌的非转化【杀】结算结束后,你摸一张牌。',
|
||||
dangmo:'荡魔',
|
||||
dangmo_info:'当你于出牌阶段内使用第一张【杀】选择目标后,你可以为此牌增加至多Y-1个目标(Y为你的体力值)。',
|
||||
reshuishi:'慧识',
|
||||
reshuishi_info:'出牌阶段限一次,你可进行判定牌不置入弃牌堆的判定。若判定结果与本次发动技能时的其他判定结果的花色均不相同,则你加1点体力上限并重复此流程。然后你将所有位于处理区的判定牌交给一名角色。若其手牌数为全场最多,则你减1点体力上限。',
|
||||
resghuishi:'辉逝',
|
||||
resghuishi_info:'限定技,出牌阶段,你可选择一名角色。若你的体力上限不小于存活人数且其有未发动的觉醒技,则你令其中一个技能无视发动条件;否则其摸四张牌。然后你减2点体力上限。',
|
||||
|
||||
key_kagari:'篝',
|
||||
kagari_zongsi:'纵丝',
|
||||
|
@ -4372,9 +4681,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
extra_shan:'神话再临·山',
|
||||
extra_yin:'神话再临·阴',
|
||||
extra_lei:'神话再临·雷',
|
||||
extra_key:'神话再临·论外',
|
||||
extra_key:'论外',
|
||||
extra_ol:'神话再临OL',
|
||||
extra_mobile:'神话再临·始计篇',
|
||||
extra_mobilezhi:'始计篇·智',
|
||||
extra_mobilexin:'始计篇·信',
|
||||
extra_offline:'神话再临·线下',
|
||||
extra_mini:'欢乐三国杀',
|
||||
},
|
||||
|
|
1447
character/mobile.js
1447
character/mobile.js
File diff suppressed because it is too large
Load Diff
|
@ -95,6 +95,7 @@ window.noname_character_rank={
|
|||
'guansuo',
|
||||
'yuantanyuanshang',
|
||||
'dongyun',
|
||||
'shen_guojia',
|
||||
'key_kamome',
|
||||
'key_yukine',
|
||||
'key_inari',
|
||||
|
@ -613,6 +614,7 @@ window.noname_character_rank={
|
|||
'zhangyì',
|
||||
'yj_xuhuang',
|
||||
'xin_liaohua',
|
||||
'sp_sunshao',
|
||||
're_wangyun',
|
||||
're_caocao',
|
||||
're_guanyu',
|
||||
|
@ -677,7 +679,6 @@ window.noname_character_rank={
|
|||
'jin_zhangchunhua',
|
||||
'xin_handang',
|
||||
'luotong',
|
||||
'feiyi',
|
||||
're_zhoucang',
|
||||
'ruanyu',
|
||||
'wujing',
|
||||
|
@ -685,13 +686,13 @@ window.noname_character_rank={
|
|||
'ns_sunyi',
|
||||
'key_kyouko',
|
||||
're_guotufengji',
|
||||
'shen_guojia',
|
||||
'ol_jiangwei',
|
||||
'key_tenzen',
|
||||
'jsp_liubei',
|
||||
'liangxing',
|
||||
'tangji',
|
||||
'gaogan',
|
||||
'sp_xunchen',
|
||||
],
|
||||
b:[
|
||||
'diy_feishi',
|
||||
|
@ -877,6 +878,8 @@ window.noname_character_rank={
|
|||
'zhangheng',
|
||||
're_hucheer',
|
||||
're_guanping',
|
||||
'feiyi',
|
||||
'xiangchong',
|
||||
],
|
||||
bm:[
|
||||
'diy_xizhenxihong',
|
||||
|
@ -1015,10 +1018,8 @@ window.noname_character_rank={
|
|||
'jin_xiahouhui',
|
||||
'xin_zhangfei',
|
||||
'xin_fuhuanghou',
|
||||
'sp_xunchen',
|
||||
'zhaozhong',
|
||||
'zongyu',
|
||||
'sp_sunshao',
|
||||
'simazhou',
|
||||
'sp_fuhuanghou',
|
||||
'sp_jiben',
|
||||
|
@ -1026,6 +1027,7 @@ window.noname_character_rank={
|
|||
're_chengpu',
|
||||
're_niujin',
|
||||
'wangfuzhaolei',
|
||||
'caizhenji',
|
||||
],
|
||||
c:[
|
||||
'xiahoudun',
|
||||
|
@ -1071,6 +1073,8 @@ window.noname_character_rank={
|
|||
'zhangchunhua',
|
||||
'weiguan',
|
||||
're_chenqun',
|
||||
'sp_huaxin',
|
||||
'sp_xujing',
|
||||
],
|
||||
d:[
|
||||
'lvmeng',
|
||||
|
@ -1198,6 +1202,7 @@ window.noname_character_rank={
|
|||
'wujing',
|
||||
'yangwan',
|
||||
'shen_guojia',
|
||||
'shen_taishici',
|
||||
'key_tomoya',
|
||||
'key_masato',
|
||||
'key_shiorimiyuki',
|
||||
|
@ -1700,6 +1705,7 @@ window.noname_character_rank={
|
|||
'dongcheng',
|
||||
'tangji',
|
||||
'gaogan',
|
||||
'caizhenji',
|
||||
],
|
||||
junk:[
|
||||
'sunshao',
|
||||
|
|
|
@ -146,6 +146,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
game.delayx();
|
||||
var go=false;
|
||||
if(get.attitude(player,trigger.player)>0){
|
||||
if(get.color(trigger.card)=='red'){
|
||||
|
@ -4952,7 +4953,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
var skills=lib.character[name][3];
|
||||
for(var j=0;j<skills.length;j++){
|
||||
var info=lib.skill[skills[j]];
|
||||
if(info.charlotte||(info.unique&&!info.gainable)||info.juexingji||info.limited||info.zhuSkill||info.hiddenSkill) skills.splice(j--,1);
|
||||
if(info.charlotte||(info.unique&&!info.gainable)||info.juexingji||info.limited||info.zhuSkill||info.hiddenSkill||info.dutySkill) skills.splice(j--,1);
|
||||
}
|
||||
if(skills.length){
|
||||
player.storage.rehuashen.character.push(name);
|
||||
|
@ -9387,7 +9388,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
reguhuo_ally_bg:'真',
|
||||
reguhuo_betray_bg:'假',
|
||||
rehuashen:'化身',
|
||||
rehuashen_info:'游戏开始后,你随机获得三张未加入游戏的武将牌,选一张置于你面前并声明该武将牌的一项技能,你拥有该技能且同时将性别和势力属性变成与该武将相同直到该化身被替换。你的每个准备阶段和结束后,你可以选择一项:①弃置至多两张未展示的化身牌并重新获得等量化身牌;②更换所展示的化身牌或技能。(你不可声明限定技、觉醒技、隐匿技、主公技等特殊技能)。',
|
||||
rehuashen_info:'游戏开始后,你随机获得三张未加入游戏的武将牌,选一张置于你面前并声明该武将牌的一项技能,你拥有该技能且同时将性别和势力属性变成与该武将相同直到该化身被替换。你的每个准备阶段和结束后,你可以选择一项:①弃置至多两张未展示的化身牌并重新获得等量化身牌;②更换所展示的化身牌或技能。(你不可声明限定技、觉醒技、隐匿技、使命技、主公技等特殊技能)。',
|
||||
rexinsheng:'新生',
|
||||
rexinsheng_info:'当你受到1点伤害后,你可以获得一张新的化身牌。',
|
||||
re_menghuo:'界孟获',
|
||||
|
|
|
@ -3781,7 +3781,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
var skills=lib.character[name][3].slice(0);
|
||||
for(var i=0;i<skills.length;i++){
|
||||
var info=lib.skill[skills[i]];
|
||||
if(info.limited||info.juexingji||info.charlotte||info.zhuSkill||info.hiddenSkill){
|
||||
if(info.limited||info.juexingji||info.charlotte||info.zhuSkill||info.hiddenSkill||info.dutySkill){
|
||||
skills.splice(i--,1);
|
||||
}
|
||||
}
|
||||
|
@ -3866,7 +3866,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
if(!info){
|
||||
continue;
|
||||
}
|
||||
if(!info.limited&&!info.juexingji&&!info.charlotte&&!info.zhuSkill&&!info.hiddenSkill){
|
||||
if(!info.limited&&!info.juexingji&&!info.charlotte&&!info.zhuSkill&&!info.hiddenSkill&&!info.dutySkill){
|
||||
add=true;break;
|
||||
}
|
||||
}
|
||||
|
@ -7275,30 +7275,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
"guhuo_phase":{},
|
||||
},
|
||||
//废除装备栏时显示的卡牌
|
||||
card:{
|
||||
"feichu_equip1":{
|
||||
type:"equip",
|
||||
subtype:"equip1",
|
||||
},
|
||||
"feichu_equip2":{
|
||||
type:"equip",
|
||||
subtype:"equip2",
|
||||
},
|
||||
"feichu_equip3":{
|
||||
type:"equip",
|
||||
subtype:"equip3",
|
||||
},
|
||||
"feichu_equip4":{
|
||||
type:"equip",
|
||||
subtype:"equip4",
|
||||
},
|
||||
"feichu_equip5":{
|
||||
type:"equip",
|
||||
subtype:"equip5",
|
||||
},
|
||||
disable_judge:{},
|
||||
},
|
||||
card:{},
|
||||
dynamicTranslate:{
|
||||
nzry_juzhan:function(player){
|
||||
if(player.storage.nzry_juzhan1==true) return '转换技,阴:当你成为其他角色【杀】的目标后,你可以与其各摸一张牌,然后其本回合内不能再对你使用牌。<span class="bluetext">阳:当你使用【杀】指定一名角色为目标后,你可以获得其一张牌,然后你本回合内不能再对其使用牌。</span>';
|
||||
|
@ -7357,25 +7334,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
zhugezhan:['zhugezhan','old_zhugezhan'],
|
||||
},
|
||||
translate:{
|
||||
"feichu_equip1":"已废除",
|
||||
"feichu_equip1_info":"武器栏已废除",
|
||||
"feichu_equip2":"已废除",
|
||||
"feichu_equip2_info":"防具栏已废除",
|
||||
"feichu_equip3":"已废除",
|
||||
"feichu_equip3_info":"防御坐骑栏已废除",
|
||||
"feichu_equip4":"已废除",
|
||||
"feichu_equip4_info":"攻击坐骑栏已废除",
|
||||
"feichu_equip5":"已废除",
|
||||
"feichu_equip5_info":"宝物栏已废除",
|
||||
"feichu_equip1_bg":"废",
|
||||
"feichu_equip2_bg":"废",
|
||||
"feichu_equip3_bg":"废",
|
||||
"feichu_equip4_bg":"废",
|
||||
"feichu_equip5_bg":"废",
|
||||
disable_judge:'已废除',
|
||||
disable_judge_info:'判定区已废除',
|
||||
disable_judge_bg:'废',
|
||||
|
||||
re_yuanshao:'袁绍',
|
||||
re_lusu:'鲁肃',
|
||||
re_yuji:"于吉",
|
||||
|
@ -7556,7 +7514,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
beige_info:'当有角色受到【杀】造成的伤害后,你可以弃一张牌,并令其进行一次判定,若判定结果为:♥该角色回复1点体力;♦︎该角色摸两张牌;♣伤害来源弃两张牌;♠伤害来源将其武将牌翻面',
|
||||
duanchang_info:'锁定技,杀死你的角色失去当前的所有技能。',
|
||||
// fushen_info:'回合开始前,你可以选择与任意一名角色交换控制权,该角色可选择在下一个回合开始前与你换回',
|
||||
huashen_info:'所有人都展示武将牌后,你随机获得两张未加入游戏的武将牌,选一张置于你面前并声明该武将的一项技能,你拥有该技能且同时将性别和势力属性变成与该武将相同直到该化身被替换。在你的每个准备阶段和结束后,你可以替换化身牌,你须为新的化身重新声明一项技能(你不可声明限定技、觉醒技、隐匿技、主公技等特殊技能)。',
|
||||
huashen_info:'所有人都展示武将牌后,你随机获得两张未加入游戏的武将牌,选一张置于你面前并声明该武将的一项技能,你拥有该技能且同时将性别和势力属性变成与该武将相同直到该化身被替换。在你的每个准备阶段和结束后,你可以替换化身牌,你须为新的化身重新声明一项技能(你不可声明限定技、觉醒技、隐匿技、使命技、主公技等特殊技能)。',
|
||||
xinsheng_info:'每当你受到1点伤害后,你可获得一张新的化身牌。',
|
||||
jiangwei:'姜维',
|
||||
liushan:'刘禅',
|
||||
|
|
|
@ -584,12 +584,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
'step 1'
|
||||
if(player.isDying()||game.hasPlayer(function(current){
|
||||
return current.name1=='guansuo'||current.name2=='guansuo';
|
||||
}));
|
||||
player.chooseTarget(function(card,player,current){
|
||||
return current!=player&¤t.sex=='male';
|
||||
},'许身:是否令一名其他男性角色选择是否将其武将牌替换为“关索”?').set('ai',function(target){
|
||||
return get.attitude(_status.event.player,target)-4;
|
||||
});
|
||||
})){
|
||||
player.chooseTarget(function(card,player,current){
|
||||
return current!=player&¤t.sex=='male';
|
||||
},'许身:是否令一名其他男性角色选择是否将其武将牌替换为“关索”?').set('ai',function(target){
|
||||
return get.attitude(_status.event.player,target)-4;
|
||||
});
|
||||
}
|
||||
else event.finish();
|
||||
'step 2'
|
||||
if(!result.bool){
|
||||
event.finish();
|
||||
|
@ -2301,7 +2303,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
filter:function(event,player){
|
||||
return event.player.getStockSkills('仲村由理','天下第一').filter(function(skill){
|
||||
var info=get.info(skill);
|
||||
return info&&!info.juexingji&&!info.hiddenSkill&&!info.zhuSkill&&!info.charlotte&&!info.limited;
|
||||
return info&&!info.juexingji&&!info.hiddenSkill&&!info.zhuSkill&&!info.charlotte&&!info.limited&&!info.dutySkill;
|
||||
}).length>0;
|
||||
},
|
||||
logTarget:'player',
|
||||
|
@ -2313,7 +2315,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
player.awakenSkill('tuogu');
|
||||
var list=trigger.player.getStockSkills('仲村由理','天下第一').filter(function(skill){
|
||||
var info=get.info(skill);
|
||||
return info&&!info.juexingji&&!info.hiddenSkill&&!info.zhuSkill&&!info.charlotte&&!info.limited;
|
||||
return info&&!info.juexingji&&!info.hiddenSkill&&!info.zhuSkill&&!info.charlotte&&!info.limited&&!info.dutySkill;
|
||||
});
|
||||
if(list.length==1) event._result={control:list[0]};
|
||||
else trigger.player.chooseControl(list).set('prompt','选择令'+get.translation(player)+'获得一个技能').set('forceDie',true).set('ai',function(){
|
||||
|
@ -2338,7 +2340,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
filter:function(event,player){
|
||||
return event.player.getStockSkills('仲村由理','天下第一').filter(function(skill){
|
||||
var info=get.info(skill);
|
||||
return info&&!info.juexingji&&!info.hiddenSkill&&!info.zhuSkill&&!info.charlotte&&!info.limited;
|
||||
return info&&!info.juexingji&&!info.hiddenSkill&&!info.zhuSkill&&!info.charlotte&&!info.limited&&!info.dutySkill;
|
||||
}).length>0;
|
||||
},
|
||||
logTarget:'player',
|
||||
|
@ -2346,7 +2348,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
'step 0'
|
||||
var list=trigger.player.getStockSkills('仲村由理','天下第一').filter(function(skill){
|
||||
var info=get.info(skill);
|
||||
return info&&!info.juexingji&&!info.hiddenSkill&&!info.zhuSkill&&!info.charlotte&&!info.limited;
|
||||
return info&&!info.juexingji&&!info.hiddenSkill&&!info.zhuSkill&&!info.charlotte&&!info.limited&&!info.dutySkill;
|
||||
});
|
||||
if(list.length==1) event._result={control:list[0]};
|
||||
else trigger.player.chooseControl(list).set('prompt','选择令'+get.translation(player)+'获得一个技能').set('forceDie',true).set('ai',function(){
|
||||
|
@ -7024,7 +7026,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
for(var i of list){
|
||||
skills.addArray((lib.character[i][3]||[]).filter(function(skill){
|
||||
var info=get.info(skill);
|
||||
return info&&!info.zhuSkill&&!info.limited&&!info.juexingji&&!info.hiddenSkill&&!info.charlotte;
|
||||
return info&&!info.zhuSkill&&!info.limited&&!info.juexingji&&!info.hiddenSkill&&!info.charlotte&&!info.dutySkill;
|
||||
}));
|
||||
}
|
||||
if(!list.length||!skills.length){event.finish();return;}
|
||||
|
@ -16673,7 +16675,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
listm=listm.concat(listv);
|
||||
var func=function(skill){
|
||||
var info=get.info(skill);
|
||||
if(info.charlotte||info.zhuSkill||(info.unique&&!info.limited)||info.juexingji) return false;
|
||||
if(info.charlotte||info.zhuSkill||(info.unique&&!info.limited)||info.juexingji||info.dutySkill||info.hiddenSkill) return false;
|
||||
return true;
|
||||
};
|
||||
for(var i=0;i<listm.length;i++){
|
||||
|
@ -16738,7 +16740,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
zhangxingcai:['zhangxingcai','old_zhangxingcai'],
|
||||
lisu:['ol_lisu','lisu'],
|
||||
fuwan:['fuwan','sp_fuwan'],
|
||||
huaxin:['ol_huaxin','huaxin'],
|
||||
huaxin:['ol_huaxin','huaxin','sp_huaxin'],
|
||||
xujing:['xujing','sp_xujing'],
|
||||
},
|
||||
translate:{
|
||||
"xinfu_lingren":"凌人",
|
||||
|
@ -16804,7 +16807,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
"xinfu_yanyu2":"燕语",
|
||||
"xinfu_yanyu2_info":"",
|
||||
"xinfu_xiaode":"孝德",
|
||||
"xinfu_xiaode_info":"其他角色死亡后,你可以声明该角色武将牌上的一个不为主公技或觉醒技的技能。若如此做,你获得此技能且不能再发动〖孝德〗直到你的回合结束。",
|
||||
"xinfu_xiaode_info":"其他角色死亡后,你可以声明该角色武将牌上的一个技能(主公技、觉醒技、隐匿技、使命技除外)。若如此做,你获得此技能且不能再发动〖孝德〗直到你的回合结束。",
|
||||
zhangren:'张任',
|
||||
zoushi:'邹氏',
|
||||
zangba:'臧霸',
|
||||
|
@ -17119,7 +17122,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
fuhan:'扶汉',
|
||||
fuhan_info:'限定技,回合开始时,你可以移去所有“梅影”标记并摸等量的牌,随机观看五名未登场的蜀势力角色,将武将牌替换为其中一名角色,并将体力上限数调整为本局游戏中移去“梅影”标记的数量(至少为2,至多为8),然后回复1点体力。',
|
||||
refuhan:'扶汉',
|
||||
refuhan_info:'限定技,回合开始时,你可以移去所有"梅影"标记并摸等量的牌,然后从X张蜀势力武将牌中选择并获得至多两个技能(限定技、觉醒技、主公技除外)。若此时你是体力值最低的角色,你回复1点体力(X为场上角色数,且X∈[4,+∞))。',
|
||||
refuhan_info:'限定技,回合开始时,你可以移去所有"梅影"标记并摸等量的牌,然后从X张蜀势力武将牌中选择并获得至多两个技能(限定技、觉醒技、隐匿技、使命技、主公技除外)。若此时你是体力值最低的角色,你回复1点体力(X为场上角色数,且X∈[4,+∞))。',
|
||||
yjixi:'觊玺',
|
||||
yjixi_info:'觉醒技,结束阶段,若你连续三回合没有因〖庸肆〗而失去过体力,则你增加1点体力上限并回复1点体力,然后选择一项:获得技能〖妄尊〗;摸两张牌并获得当前主公的主公技。',
|
||||
xinyongsi:'庸肆',
|
||||
|
@ -17568,9 +17571,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
olxingshen_info:'当你受到伤害后,你可以随机摸至多两张牌。若如此做,你获得X个“省”,且下一次发动〖严教〗展示牌时移去所有“省”并多展示等量的牌。(X为你已损失的体力值,且你至多拥有6个“省”)',
|
||||
caoshuang:'曹爽',
|
||||
tuogu:'托孤',
|
||||
tuogu_info:'限定技,一名角色死亡时,你可以令其选择其武将牌上的一个技能(主公技,限定技,觉醒技,隐匿技等特殊技能除外),然后你获得其选择的技能。',
|
||||
tuogu_info:'限定技,一名角色死亡时,你可以令其选择其武将牌上的一个技能(主公技,限定技,觉醒技,隐匿技、使命技等特殊技能除外),然后你获得其选择的技能。',
|
||||
retuogu:'托孤',
|
||||
retuogu_info:'一名角色死亡时,你可以令其选择其武将牌上的一个技能(主公技,限定技,觉醒技,隐匿技等特殊技能除外),然后你获得其选择的技能并失去上次因〖托孤〗获得的技能。',
|
||||
retuogu_info:'一名角色死亡时,你可以令其选择其武将牌上的一个技能(主公技,限定技,觉醒技,隐匿技、使命技等特殊技能除外),然后你获得其选择的技能并失去上次因〖托孤〗获得的技能。',
|
||||
shanzhuan:'擅专',
|
||||
shanzhuan_info:'当你对其他角色造成伤害后,若其判定区没有牌,则你你可以将其的一张牌置于其的判定区。若此牌不为延时锦囊牌且此牌为:红色,此牌视为【乐不思蜀】;黑色,此牌视为【兵粮寸断】。回合结束时,若你本回合内未造成伤害,你可摸一张牌。',
|
||||
spniluan:'逆乱',
|
||||
|
|
|
@ -800,7 +800,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
return evt2==event;
|
||||
});
|
||||
for(var i of list){
|
||||
var name=i.card.name;
|
||||
var name=get.type2(i.card,false);
|
||||
if(!map[name]) map[name]=true;
|
||||
else return true;
|
||||
}
|
||||
|
@ -817,9 +817,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
trigger:{global:'phaseEnd'},
|
||||
direct:true,
|
||||
filter:function(event,player){
|
||||
return event.player!=player&&event.player.getHistory('sourceDamage',function(evt){
|
||||
return evt.num>1;
|
||||
}).length>0&&player.countCards('he')>0;
|
||||
return event.player!=player&&(event.player.getStat('damage')||0)>1&&player.countCards('he')>0;
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
|
@ -6869,7 +6867,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
game.expandSkills(list2);
|
||||
for(var k=0;k<list2.length;k++){
|
||||
var info=lib.skill[list2[k]];
|
||||
if(!info||!info.trigger||!info.trigger.player||info.silent||info.limited||info.juexingji||info.zhuanhuanji||info.hiddenSkill) continue;
|
||||
if(!info||!info.trigger||!info.trigger.player||info.silent||info.limited||info.juexingji||info.zhuanhuanji||info.hiddenSkill||info.dutySkill) continue;
|
||||
if(info.trigger.player==name2||Array.isArray(info.trigger.player)&&info.trigger.player.contains(name2)){
|
||||
if(info.init||info.ai&&(info.ai.combo||info.ai.notemp||info.ai.neg)) continue;
|
||||
if(info.filter){
|
||||
|
@ -6947,7 +6945,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
game.expandSkills(list2);
|
||||
for(var k=0;k<list2.length;k++){
|
||||
var info=lib.skill[list2[k]];
|
||||
if(!info||!info.enable||info.viewAs||info.limited||info.juexingji||info.zhuanhuanji||info.hiddenSkill) continue;
|
||||
if(!info||!info.enable||info.viewAs||info.limited||info.juexingji||info.zhuanhuanji||info.hiddenSkill||info.dutySkill) continue;
|
||||
if(info.enable=='phaseUse'||Array.isArray(info.enable)&&info.enable.contains('phaseUse')){
|
||||
if(info.init||info.onChooseToUse||info.ai&&(info.ai.combo||info.ai.notemp||info.ai.neg)) continue;
|
||||
if(info.filter){
|
||||
|
@ -9741,7 +9739,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
duanwei:'段煨',
|
||||
langmie:'狼灭',
|
||||
langmie_damage:'狼灭',
|
||||
langmie_info:'其他角色的出牌阶段结束时,若其本阶段内使用过的牌中有名称相同的牌,则你可以摸一张牌;其他角色的结束阶段开始时,若其本回合内一次性造成过大于1点的伤害,则你可以弃置一张牌并对其造成1点伤害。',
|
||||
langmie_info:'其他角色的出牌阶段结束时,若其本阶段内使用过的牌中有类型相同的牌,则你可以摸一张牌;其他角色的结束阶段开始时,若其本回合内造成的伤害大于1,则你可以弃置一张牌并对其造成1点伤害。',
|
||||
jsp_liubei:'群刘备',
|
||||
jsp_liubei_ab:'刘备',
|
||||
jsprende:'仁德',
|
||||
|
@ -9753,7 +9751,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
liangjue_info:'锁定技,当有黑色牌进入或者离开你的判定区或装备区后,若你的体力值大于1,你失去1点体力,然后摸一张牌。',
|
||||
tangji:'唐姬',
|
||||
jielie:'节烈',
|
||||
jielie_info:'你的第一个回合开始时,选择一名其他角色,该角色每次于其回合外摸牌时,你摸等量的牌;其进入濒死状态时,你可令其回复体力至1点(每回合限一次)。该角色死亡时,你弃置所有牌并失去1点体力。',
|
||||
jielie_info:'你的第一个回合开始时,选择一名其他角色,该角色每次于其回合外摸牌时,你摸等量的牌(每回合限一次且至多摸三张);其进入濒死状态时,你可令其回复体力至1点(每轮限一次)。该角色死亡时,你弃置所有牌并失去1点体力。',
|
||||
kangge:'抗歌',
|
||||
kangge_info:'当你受到除自己和“节烈”角色以外的角色造成的伤害时,你可以防止此伤害并选择一种花色,然后你失去X点体力,从弃牌堆中随机获得X张此花色的牌(X为伤害值)。',
|
||||
yangwan:'杨婉',
|
||||
|
|
|
@ -6103,6 +6103,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
game.delayx();
|
||||
var go=false;
|
||||
if(get.attitude(player,trigger.player)>0){
|
||||
if(get.color(trigger.card)=='red'){
|
||||
|
@ -12115,7 +12116,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
jikang:['re_jikang','jikang'],
|
||||
xinxianying:['re_xinxianying','xinxianying','ol_xinxianying','sp_xinxianying'],
|
||||
gongsunyuan:['re_gongsunyuan','gongsunyuan'],
|
||||
zhoucang:['re_zhoucang','zhoucang'],
|
||||
zhoucang:['re_zhoucang','xin_zhoucang','zhoucang'],
|
||||
guotufengji:['re_guotufengji','guotufengji'],
|
||||
},
|
||||
translate:{
|
||||
|
|
|
@ -95,7 +95,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
event.finish();
|
||||
}
|
||||
else{
|
||||
player.chooseTarget('是否将'+get.translation(lib.skill.caozhao_backup.cardname)+'('+get.translation(card)+')交给一名其他角色?',lib.filter.notMe).set('ai',()=>-1);
|
||||
player.chooseTarget('是否将'+get.translation(lib.skill.caozhao_backup.cardname)+'('+get.translation(cards[0])+')交给一名其他角色?',lib.filter.notMe).set('ai',()=>-1);
|
||||
}
|
||||
'step 3'
|
||||
if(result.bool){
|
||||
|
@ -513,7 +513,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
};
|
||||
if(game.hasPlayer((current)=>filterTarget('L∞pers',player,current))){
|
||||
var bool=player.isHealthy();
|
||||
player.chooseTarget('忠允:对攻击范围内的一名角色造成1点伤害'+(bool?'':',或点取消回复1点体力'),filterTarget,bool);
|
||||
player.chooseTarget('忠允:对攻击范围内的一名角色造成1点伤害'+(bool?'':',或点取消回复1点体力'),filterTarget,bool).set('ai',function(target){
|
||||
var player=_status.event.player;
|
||||
return get.damageEffect(target,player,player);
|
||||
});
|
||||
}
|
||||
else event._result={bool:false};
|
||||
'step 1'
|
||||
|
@ -543,6 +546,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
usable:1,
|
||||
content:function(){
|
||||
'step 0'
|
||||
if(trigger.delay===false) game.delayx();
|
||||
var filterTarget=function(card,player,target){
|
||||
return target!=player&&target.countDiscardableCards(player,'he')>0;
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
window.noname_asset_list=[
|
||||
'v1.9.110.8.3.3',
|
||||
'v1.9.110.8.4',
|
||||
'audio/background/aozhan_chaoming.mp3',
|
||||
'audio/background/aozhan_online.mp3',
|
||||
'audio/background/aozhan_rewrite.mp3',
|
||||
|
@ -4204,6 +4204,12 @@ window.noname_asset_list=[
|
|||
'image/character/key_kyou.jpg',
|
||||
'image/character/ol_huaxin.jpg',
|
||||
'image/character/gaogan.jpg',
|
||||
'image/character/caizhenji.jpg',
|
||||
'image/character/shen_taishici.jpg',
|
||||
'image/character/sp_huaxin.jpg',
|
||||
'image/character/sp_xujing.jpg',
|
||||
'image/character/xiangchong.jpg',
|
||||
'image/character/xin_zhoucang.jpg',
|
||||
|
||||
'image/character/baiwuchang.jpg',
|
||||
'image/character/baosanniang.jpg',
|
||||
|
|
|
@ -18,6 +18,8 @@ window.config={
|
|||
forbidboss:['caiwenji','gjqt_aruan','pal_xuanxiao','swd_hupo'],
|
||||
forbiddouble:['zhugedan','swd_kangnalishi','dongzhuo','wutugu','hs_siwangzhiyi','hs_ronghejuren','hs_shanlingjuren'],
|
||||
forbidthreecard:['qiankunbiao','shenhuofeiya','gw_ciguhanshuang','gw_birinongwu','gw_qinpendayu','gw_poxiao'],
|
||||
zhinang_tricks:['guohe','wuxie','wuzhong','dongzhuxianji'],
|
||||
connect_zhinang_tricks:['guohe','wuxie','wuzhong','dongzhuxianji'],
|
||||
all:{
|
||||
sgscharacters:['standard','shenhua','xinghuoliaoyuan','refresh','yijiang','sp','sp2','extra','old','mobile','tw','yingbian'],
|
||||
sgscards:['standard','extra','sp','guozhan','zhulu','yingbian'],
|
||||
|
|
95
game/game.js
95
game/game.js
|
@ -6676,7 +6676,8 @@
|
|||
'<li>使用卡牌<br>player.useCard(card,<br>targets)<li>死亡<br>player.die()<li>复活<br>player.revive(hp)</ul>'+
|
||||
'<div style="margin:10px">游戏操作</div><ul style="margin-top:0"><li>在命令框中输出结果<br>game.print(str)<li>清除命令框中的内容<br>cls<li>上一条/下一条输入的内容<br>up/down<li>游戏结束<br>game.over(bool)'+
|
||||
'<li>角色资料<br>lib.character<li>卡牌资料<br>lib.card</ul>',
|
||||
'游戏名词':'<ul><li>护甲:和体力类似,每点护甲可抵挡一点伤害,但不影响手牌上限'+
|
||||
'游戏名词':'<ul><li>智囊:无名杀默认为过河拆桥/无懈可击/无中生有/洞烛先机。牌堆中没有的智囊牌会被过滤。可在卡牌设置中自行增减。若没有可用的智囊,则改为随机选取的三种锦囊牌的牌名。'+
|
||||
'<li>护甲:和体力类似,每点护甲可抵挡一点伤害,但不影响手牌上限'+
|
||||
'<li>随从:通过技能获得,拥有独立的技能、手牌区和装备区(共享判定区),出场时替代主武将的位置;随从死亡时自动切换回主武将'+
|
||||
'<li>发现:从三张随机亮出的牌中选择一张,若无特殊说明,则获得此牌'+
|
||||
'<li>蓄力技:发动时可以增大黄色的数字。若如此做,红色数字于技能的结算过程中改为原来的两倍'
|
||||
|
@ -10335,6 +10336,32 @@
|
|||
unknown5:'六号位',
|
||||
unknown6:'七号位',
|
||||
unknown7:'八号位',
|
||||
|
||||
feichu_equip1:"已废除",
|
||||
feichu_equip1_info:"武器栏已废除",
|
||||
feichu_equip2:"已废除",
|
||||
feichu_equip2_info:"防具栏已废除",
|
||||
feichu_equip3:"已废除",
|
||||
feichu_equip3_info:"防御坐骑栏已废除",
|
||||
feichu_equip4:"已废除",
|
||||
feichu_equip4_info:"攻击坐骑栏已废除",
|
||||
feichu_equip5:"已废除",
|
||||
feichu_equip5_info:"宝物栏已废除",
|
||||
feichu_equip1_bg:"废",
|
||||
feichu_equip2_bg:"废",
|
||||
feichu_equip3_bg:"废",
|
||||
feichu_equip4_bg:"废",
|
||||
feichu_equip5_bg:"废",
|
||||
disable_judge:'已废除',
|
||||
disable_judge_info:'判定区已废除',
|
||||
disable_judge_bg:'废',
|
||||
pss:'手势',
|
||||
pss_paper:'布',
|
||||
pss_scissor:'剪刀',
|
||||
pss_stone:'石头',
|
||||
pss_paper_info:'石头剪刀布时的一种手势。克制石头,但被剪刀克制。',
|
||||
pss_scissor_info:'石头剪刀布时的一种手势。克制布,但被石头克制。',
|
||||
pss_stone_info:'石头剪刀布时的一种手势。克制剪刀,但被布克制。',
|
||||
},
|
||||
element:{
|
||||
content:{
|
||||
|
@ -19495,7 +19522,7 @@
|
|||
this.ai.tempIgnore.add(next.targets[i]);
|
||||
}
|
||||
}
|
||||
if(typeof this.logAi=='function'&&!next.noai){
|
||||
if(typeof this.logAi=='function'&&!next.noai&&!get.info(next.card).noai){
|
||||
var postAi=get.info(next.card).postAi;
|
||||
if(postAi&&postAi(next.targets)){
|
||||
next.postAi=true;
|
||||
|
@ -25460,6 +25487,39 @@
|
|||
},
|
||||
card:{
|
||||
list:[],
|
||||
pss_paper:{
|
||||
type:'pss',
|
||||
fullskin:true,
|
||||
},
|
||||
pss_scissor:{
|
||||
type:'pss',
|
||||
fullskin:true,
|
||||
},
|
||||
pss_stone:{
|
||||
type:'pss',
|
||||
fullskin:true,
|
||||
},
|
||||
feichu_equip1:{
|
||||
type:"equip",
|
||||
subtype:"equip1",
|
||||
},
|
||||
feichu_equip2:{
|
||||
type:"equip",
|
||||
subtype:"equip2",
|
||||
},
|
||||
feichu_equip3:{
|
||||
type:"equip",
|
||||
subtype:"equip3",
|
||||
},
|
||||
feichu_equip4:{
|
||||
type:"equip",
|
||||
subtype:"equip4",
|
||||
},
|
||||
feichu_equip5:{
|
||||
type:"equip",
|
||||
subtype:"equip5",
|
||||
},
|
||||
disable_judge:{},
|
||||
},
|
||||
filter:{
|
||||
all:function(){
|
||||
|
@ -27047,7 +27107,7 @@
|
|||
game.ip=get.trimip(_status.ip);
|
||||
for(var i=0;i<list.length;i++){
|
||||
var player=ui.create.player(ui.window).animate('start');
|
||||
if(list.length==8) player.dataset.position=i.toString();
|
||||
if(list.length>6) player.dataset.position='cx'+i;
|
||||
else player.dataset.position='c'+i;
|
||||
player.classList.add('connect');
|
||||
player.roomindex=i;
|
||||
|
@ -27174,7 +27234,7 @@
|
|||
updaterooms:function(list,clients){
|
||||
if(ui.rooms){
|
||||
ui.window.classList.add('more_room');
|
||||
var list2=['re_caocao','re_liubei','re_sunquan','re_zhangjiao','re_caopi','ol_liushan','re_sunce','ol_yuanshao'];
|
||||
var list2=['re_caocao','re_liubei','re_sunquan','re_zhangjiao','jin_simashi','re_caopi','ol_liushan','re_sunce','ol_yuanshao','jin_simazhao'];
|
||||
for(var i=0;i<ui.rooms.length;i++){
|
||||
ui.rooms[i].initRoom(list[i],list2[i]);
|
||||
}
|
||||
|
@ -33149,6 +33209,7 @@
|
|||
if(i=='update') continue;
|
||||
lib.configOL[i.slice(8)]=get.config(i);
|
||||
}
|
||||
lib.configOL.zhinang_tricks=lib.config.connect_zhinang_tricks;
|
||||
lib.configOL.characterPack=lib.connectCharacterPack.slice(0);
|
||||
lib.configOL.cardPack=lib.connectCardPack.slice(0);
|
||||
for(var i=0;i<lib.config.connect_characters.length;i++){
|
||||
|
@ -35944,6 +36005,7 @@
|
|||
if(i=='update') continue;
|
||||
config[i.slice(8)]=get.config(i,lib.configOL.mode);
|
||||
}
|
||||
config.zhinang_tricks=lib.config.connect_zhinang_tricks;
|
||||
if(game.online){
|
||||
if(game.onlinezhu){
|
||||
game.send('changeRoomConfig',config);
|
||||
|
@ -35978,6 +36040,7 @@
|
|||
if(i=='update') continue;
|
||||
config[i.slice(8)]=get.config(i,lib.configOL.mode);
|
||||
}
|
||||
config.zhinang_tricks=lib.config.connect_zhinang_tricks;
|
||||
|
||||
config.characterPack=lib.connectCharacterPack.slice(0);
|
||||
config.cardPack=lib.connectCardPack.slice(0);
|
||||
|
@ -49042,6 +49105,16 @@
|
|||
},
|
||||
};
|
||||
var get={
|
||||
zhinangs:function(filter){
|
||||
var list=(_status.connectMode?lib.configOL:lib.config).zhinang_tricks;
|
||||
if(!list||!list.filter||!list.length) return get.inpile('trick','trick').randomGets(3);
|
||||
if(filter===false) return list.slice(0);
|
||||
list=list.filter(function(i){
|
||||
return lib.inpile.contains(i);
|
||||
});
|
||||
if(list.length) return list;
|
||||
return get.inpile('trick','trick').randomGets(3);
|
||||
},
|
||||
sourceCharacter:function(str){
|
||||
if(str){
|
||||
for(var i in lib.characterReplace){
|
||||
|
@ -52132,12 +52205,16 @@
|
|||
list.push(modeorder[i]);
|
||||
}
|
||||
}
|
||||
if(lib.card[name]&&lib.card[name].type=='trick') list.push('zhinang_tricks');
|
||||
var page=ui.create.div('.menu-buttons.configpopped',uiintro.content);
|
||||
var banall=false;
|
||||
for(var i=0;i<list.length;i++){
|
||||
var cfg=ui.create.div('.config',lib.translate[list[i]]+'模式',page);
|
||||
var cfg=ui.create.div('.config',list[i]=='zhinang_tricks'?'设为智囊':(lib.translate[list[i]]+'模式'),page);
|
||||
cfg.classList.add('toggle');
|
||||
if(node._banning=='offline'){
|
||||
if(list[i]=='zhinang_tricks'){
|
||||
cfg.bannedname=((node._banning=='offline')?'':'connect_')+'zhinang_tricks';
|
||||
}
|
||||
else if(node._banning=='offline'){
|
||||
cfg.bannedname=list[i]+'_bannedcards';
|
||||
}
|
||||
else{
|
||||
|
@ -52146,7 +52223,7 @@
|
|||
cfg.listen(clickBanned);
|
||||
ui.create.div(ui.create.div(cfg));
|
||||
var banned=lib.config[cfg.bannedname]||[];
|
||||
if(!banned.contains(name)){
|
||||
if(banned.contains(name)==(list[i]=='zhinang_tricks')){
|
||||
cfg.classList.add('on');
|
||||
banall=true;
|
||||
}
|
||||
|
@ -52154,7 +52231,7 @@
|
|||
ui.create.div('.menubutton.pointerdiv',banall?'全部禁用':'全部启用',uiintro.content,function(){
|
||||
if(this.innerHTML=='全部禁用'){
|
||||
for(var i=0;i<page.childElementCount;i++){
|
||||
if(page.childNodes[i].bannedname&&page.childNodes[i].classList.contains('on')){
|
||||
if(page.childNodes[i].bannedname.indexOf('zhinang_tricks')==-1&&page.childNodes[i].bannedname&&page.childNodes[i].classList.contains('on')){
|
||||
clickBanned.call(page.childNodes[i]);
|
||||
}
|
||||
}
|
||||
|
@ -52162,7 +52239,7 @@
|
|||
}
|
||||
else{
|
||||
for(var i=0;i<page.childElementCount;i++){
|
||||
if(page.childNodes[i].bannedname&&!page.childNodes[i].classList.contains('on')){
|
||||
if(page.childNodes[i].bannedname.indexOf('zhinang_tricks')==-1&&page.childNodes[i].bannedname&&!page.childNodes[i].classList.contains('on')){
|
||||
clickBanned.call(page.childNodes[i]);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
window.noname_update={
|
||||
version:'1.9.110.8.3.3',
|
||||
update:'1.9.110.8.3.2',
|
||||
version:'1.9.110.8.4',
|
||||
update:'1.9.110.8.3.3',
|
||||
changeLog:[
|
||||
'华歆、高干',
|
||||
'国战潘濬、诸葛恪、黄祖、野公孙渊',
|
||||
'神太史慈、蔡贞姬、手杀华歆、向宠、手杀许靖、手杀周仓',
|
||||
'手杀费祎、手杀荀谌、手杀孙邵',
|
||||
'bug修复',
|
||||
],
|
||||
files:[
|
||||
//'card/extra.js',
|
||||
//'card/gujian.js',
|
||||
'card/guozhan.js',
|
||||
//'card/guozhan.js',
|
||||
//'card/gwent.js',
|
||||
//'card/huanlekapai.js',
|
||||
//'card/mtg.js',
|
||||
|
@ -17,11 +17,11 @@ window.noname_update={
|
|||
//'card/standard.js',
|
||||
//'card/swd.js',
|
||||
//'card/yunchou.js',
|
||||
'card/yingbian.js',
|
||||
//'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',
|
||||
|
@ -31,8 +31,8 @@ window.noname_update={
|
|||
//'character/old.js',
|
||||
//'character/ow.js',
|
||||
'character/rank.js',
|
||||
//'character/refresh.js',
|
||||
//'character/shenhua.js',
|
||||
'character/refresh.js',
|
||||
'character/shenhua.js',
|
||||
'character/sp.js',
|
||||
'character/sp2.js',
|
||||
//'character/tw.js',
|
||||
|
@ -41,17 +41,18 @@ window.noname_update={
|
|||
//'character/xianjian.js',
|
||||
//'character/xinghuoliaoyuan.js',
|
||||
'character/yingbian.js',
|
||||
//'character/yijiang.js',
|
||||
'character/yijiang.js',
|
||||
//'character/yxs.js',
|
||||
//'extension/boss/extension.js',
|
||||
//'layout/default/layout.css',
|
||||
'layout/default/layout.css',
|
||||
'layout/newlayout/global.css',
|
||||
//'layout/default/menu.css',
|
||||
//'layout/nova/layout.css',
|
||||
//'mode/boss.js',
|
||||
//'mode/brawl.js',
|
||||
//'mode/chess.js',
|
||||
'mode/doudizhu.js',
|
||||
'mode/guozhan.js',
|
||||
//'mode/doudizhu.js',
|
||||
//'mode/guozhan.js',
|
||||
//'mode/identity.js',
|
||||
//'mode/single.js',
|
||||
//'mode/stone.js',
|
||||
|
@ -60,7 +61,7 @@ window.noname_update={
|
|||
'game/game.js',
|
||||
//'game/keyWords.js',
|
||||
//'game/NoSleep.js',
|
||||
//'game/config.js',
|
||||
'game/config.js',
|
||||
//'game/package.js',
|
||||
//'game/asset.js',
|
||||
//'game/source.js',
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 184 KiB |
Binary file not shown.
After Width: | Height: | Size: 167 KiB |
Binary file not shown.
After Width: | Height: | Size: 148 KiB |
Binary file not shown.
After Width: | Height: | Size: 127 KiB |
Binary file not shown.
After Width: | Height: | Size: 146 KiB |
Binary file not shown.
After Width: | Height: | Size: 161 KiB |
|
@ -3232,6 +3232,47 @@ div:not(.handcards)>.card>.info>span,
|
|||
left: calc(50% + 20px);
|
||||
top: calc(50% + 80px)
|
||||
}
|
||||
#window>.player.connect[data-position='cx0']{
|
||||
left:calc(150% / 7 - 1275px / 7);
|
||||
top:calc(300% / 7 - 160px + 5px);
|
||||
}
|
||||
#window>.player.connect[data-position='cx1']{
|
||||
left:calc(247% / 7 - 850px / 7);
|
||||
top:calc(300% / 7 - 160px + 5px);
|
||||
}
|
||||
#window>.player.connect[data-position='cx2']{
|
||||
left:calc(350% / 7 - 525px / 7);
|
||||
top:calc(300% / 7 - 160px + 5px);
|
||||
}
|
||||
#window>.player.connect[data-position='cx3']{
|
||||
left:calc(453% / 7 - 200px / 7);
|
||||
top:calc(300% / 7 - 160px + 5px);
|
||||
}
|
||||
#window>.player.connect[data-position='cx4']{
|
||||
left:calc(550% / 7 + 125px / 7);
|
||||
top:calc(300% / 7 - 160px + 5px);
|
||||
}
|
||||
#window>.player.connect[data-position='cx5']{
|
||||
left:calc(150% / 7 - 1275px / 7);
|
||||
top:calc(400% / 7 - 40px + 5px);
|
||||
}
|
||||
#window>.player.connect[data-position='cx6']{
|
||||
left:calc(247% / 7 - 850px / 7);
|
||||
top:calc(400% / 7 - 40px + 5px);
|
||||
}
|
||||
#window>.player.connect[data-position='cx7']{
|
||||
left:calc(350% / 7 - 525px / 7);
|
||||
top:calc(400% / 7 - 40px + 5px);
|
||||
}
|
||||
#window>.player.connect[data-position='cx8']{
|
||||
left:calc(453% / 7 - 200px / 7);
|
||||
top:calc(400% / 7 - 40px + 5px);
|
||||
}
|
||||
#window>.player.connect[data-position='cx9']{
|
||||
left:calc(550% / 7 + 125px / 7);
|
||||
top:calc(400% / 7 - 40px + 5px);
|
||||
}
|
||||
|
||||
#window>.player.connect {
|
||||
width: 120px;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue