This commit is contained in:
Spmario233 2021-08-27 12:05:15 +08:00
parent 119d02a195
commit 935d3af4e0
20 changed files with 1931 additions and 146 deletions

View File

@ -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:'欢乐三国杀',
},

File diff suppressed because it is too large Load Diff

View File

@ -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',

View File

@ -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:'界孟获',

View File

@ -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:'刘禅',

View File

@ -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&&current.sex=='male';
},'许身:是否令一名其他男性角色选择是否将其武将牌替换为“关索”?').set('ai',function(target){
return get.attitude(_status.event.player,target)-4;
});
})){
player.chooseTarget(function(card,player,current){
return current!=player&&current.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:'逆乱',

View File

@ -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:'杨婉',

View File

@ -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:{

View File

@ -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;
}

View File

@ -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',

View File

@ -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'],

View File

@ -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]);
}
}

View File

@ -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

View File

@ -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;
}