commit
c1d575e8f8
|
@ -71,12 +71,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
ai2(target){
|
ai2(target){
|
||||||
const player=get.event('player'),trigger=get.event().getTrigger();
|
const player=get.event('player'),trigger=get.event().getTrigger();
|
||||||
if(trigger.card.name=='tiesuo'){
|
const att=get.attitude(player,target),eff=get.effect(target,trigger.card,trigger.player,player);
|
||||||
const att=get.attitude(player,target);
|
if(trigger.card.name=='tiesuo') return eff>0?0:get.sgn(att)*(2+get.sgn(att));
|
||||||
return get.sgn(att)*(2+get.sgn(att));
|
|
||||||
}
|
|
||||||
const sum=trigger.targets.reduce((i,j)=>i+get.effect(j,trigger.card,trigger.player,player),0);
|
const sum=trigger.targets.reduce((i,j)=>i+get.effect(j,trigger.card,trigger.player,player),0);
|
||||||
return get.effect(target,trigger.card,trigger.player,player)*2-sum;
|
return get.sgn(att)*(eff*2-sum);
|
||||||
},
|
},
|
||||||
}).set('prompt2','弃置一张'+get.translation(get.color(trigger.card))+'牌,令'+get.translation(trigger.card)+'改为对其中一个目标结算两次');
|
}).set('prompt2','弃置一张'+get.translation(get.color(trigger.card))+'牌,令'+get.translation(trigger.card)+'改为对其中一个目标结算两次');
|
||||||
if(bool){
|
if(bool){
|
||||||
|
@ -95,7 +93,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
player(card,player){
|
player(card,player){
|
||||||
if(!game.hasPlayer(target=>{
|
if(!game.hasPlayer(target=>{
|
||||||
return target.hasSkill('olsbhetao')&&(get.attitude(player,target)<0||get.attitude(target,player)<0);
|
return target.hasSkill('olsbhetao')&&(get.attitude(player,target)<0||get.attitude(target,player)<0);
|
||||||
})) return;
|
})||game.countPlayer(target=>{
|
||||||
|
return player.canUse(card,target);
|
||||||
|
})<2) return;
|
||||||
const select=get.copy(get.info(card).selectTarget);
|
const select=get.copy(get.info(card).selectTarget);
|
||||||
let range;
|
let range;
|
||||||
if(select==undefined) range=[1,1];
|
if(select==undefined) range=[1,1];
|
||||||
|
@ -103,7 +103,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
else if(get.itemtype(select)=='select') range=select;
|
else if(get.itemtype(select)=='select') range=select;
|
||||||
else if(typeof select=='function') range=select(card,player);
|
else if(typeof select=='function') range=select(card,player);
|
||||||
game.checkMod(card,player,range,'selectTarget',player);
|
game.checkMod(card,player,range,'selectTarget',player);
|
||||||
if(range[1]==-1||range[1]>1) return 'zeroplayertarget';
|
if(range[1]==-1||(range[1]>1&&ui.selected.targets&&ui.selected.targets.length)) return 'zeroplayertarget';
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
|
@ -966,6 +966,7 @@ window.noname_character_rank={
|
||||||
'dc_liuba',
|
'dc_liuba',
|
||||||
'key_seira',
|
'key_seira',
|
||||||
'lukai',
|
'lukai',
|
||||||
|
'ol_lukai',
|
||||||
'niufu',
|
'niufu',
|
||||||
're_liufeng',
|
're_liufeng',
|
||||||
'huzhao',
|
'huzhao',
|
||||||
|
@ -2569,6 +2570,7 @@ window.noname_character_rank={
|
||||||
'dc_wangchang',
|
'dc_wangchang',
|
||||||
'jin_zhouchu',
|
'jin_zhouchu',
|
||||||
'lukai',
|
'lukai',
|
||||||
|
'ol_lukai',
|
||||||
'caoxiancaohua',
|
'caoxiancaohua',
|
||||||
'huzhao',
|
'huzhao',
|
||||||
're_liufeng',
|
're_liufeng',
|
||||||
|
|
234
character/sp.js
234
character/sp.js
|
@ -18,7 +18,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
sp_zhongdan:["cuiyan","huangfusong"],
|
sp_zhongdan:["cuiyan","huangfusong"],
|
||||||
sp_guozhan2:["sp_dongzhuo","liqueguosi","zhangren"],
|
sp_guozhan2:["sp_dongzhuo","liqueguosi","zhangren"],
|
||||||
sp_others:["hanba","caiyang"],
|
sp_others:["hanba","caiyang"],
|
||||||
sp_waitforsort:['ol_luyusheng','ol_pengyang','ol_tw_zhangji','ol_liwan','ol_liuyan','caoyu','liupan'],
|
sp_waitforsort:['ol_luyusheng','ol_pengyang','ol_tw_zhangji','ol_liwan','ol_liuyan','caoyu','liupan','ol_lukai'],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
characterFilter:{
|
characterFilter:{
|
||||||
|
@ -30,6 +30,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
character:{
|
character:{
|
||||||
|
ol_lukai:['male','wu',3,['olxuanzhu','oljiane']],
|
||||||
liupan:['male','qun',4,['olpijing']],
|
liupan:['male','qun',4,['olpijing']],
|
||||||
guotu:['male','qun',3,['olqushi','olweijie']],
|
guotu:['male','qun',3,['olqushi','olweijie']],
|
||||||
ol_hujinding:['female','shu',3,['olqingyuan','olchongshen']],
|
ol_hujinding:['female','shu',3,['olqingyuan','olchongshen']],
|
||||||
|
@ -710,6 +711,226 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
skill:{
|
skill:{
|
||||||
|
//陆凯
|
||||||
|
olxuanzhu:{
|
||||||
|
mark:true,
|
||||||
|
marktext:'☯',
|
||||||
|
zhuanhuanji:true,
|
||||||
|
intro:{
|
||||||
|
content(storage){
|
||||||
|
if(storage) return '每回合限一次,你可以将一张牌称为“玄”置于武将牌上,然后视为使用任意普通锦囊牌(须指定目标且仅指定一个目标)。若此次置于武将牌上的“玄”:不为装备牌,你弃置一张牌;为装备牌,你将所有“玄”置入弃牌堆,然后摸等量的牌。';
|
||||||
|
return '每回合限一次,你可以将一张牌称为“玄”置于武将牌上,然后视为使用任意基本牌。若此次置于武将牌上的“玄”:不为装备牌,你弃置一张牌;为装备牌,你将所有“玄”置入弃牌堆,然后摸等量的牌。';
|
||||||
|
},
|
||||||
|
},
|
||||||
|
audio:2,
|
||||||
|
enable:'chooseToUse',
|
||||||
|
filter(event,player){
|
||||||
|
if(!player.countCards('he')||event.type=='wuxie') return false;
|
||||||
|
return get.inpileVCardList(info=>{
|
||||||
|
const name=info[2],type=get.type(name),infox=get.info({name:name});
|
||||||
|
if(type!='basic'&&type!='trick') return false;
|
||||||
|
if(type=='trick'&&(!infox||!infox.filterTarget)) return false;
|
||||||
|
return (type!='basic')==(player.storage.olxuanzhu||false);
|
||||||
|
}).some(card=>event.filterCard({name:card[2],nature:card[3]},player,event));
|
||||||
|
},
|
||||||
|
usable:1,
|
||||||
|
chooseButton:{
|
||||||
|
dialog(event,player){
|
||||||
|
const list=get.inpileVCardList(info=>{
|
||||||
|
const name=info[2],type=get.type(name),infox=get.info({name:name});
|
||||||
|
if(type!='basic'&&type!='trick') return false;
|
||||||
|
if(type=='trick'&&(!infox||!infox.filterTarget)) return false;
|
||||||
|
return (type!='basic')==(player.storage.olxuanzhu||false);
|
||||||
|
}).filter(card=>event.filterCard({name:card[2],nature:card[3]},player,event));
|
||||||
|
return ui.create.dialog('玄注',[list,'vcard']);
|
||||||
|
},
|
||||||
|
check(button){
|
||||||
|
if(get.event().getParent().type!='phase') return 1;
|
||||||
|
return get.event('player').getUseValue({name:button.link[2],nature:button.link[3]});
|
||||||
|
},
|
||||||
|
backup(links,player){
|
||||||
|
let next={
|
||||||
|
audio:'olxuanzhu',
|
||||||
|
filterCard:true,
|
||||||
|
popname:true,
|
||||||
|
check(card){
|
||||||
|
return 1/(get.value(card)||0.5);
|
||||||
|
},
|
||||||
|
position:'he',
|
||||||
|
ignoreMod:true,
|
||||||
|
precontent(){
|
||||||
|
const cards=event.result.cards.slice();
|
||||||
|
player.addToExpansion(cards,player,'give').gaintag.add('olxuanzhu');
|
||||||
|
const viewAs={name:event.result.card.name,nature:event.result.card.nature};
|
||||||
|
event.result.card=viewAs;event.result.cards=[];
|
||||||
|
player.when('useCardAfter').filter(evt=>evt.skill=='olxuanzhu_backup').then(()=>{
|
||||||
|
const card=cards[0];
|
||||||
|
if(get.type(card)!='equip') player.chooseToDiscard('he',true);
|
||||||
|
else{
|
||||||
|
const cardx=player.getExpansions('olxuanzhu');
|
||||||
|
if(cardx.length){
|
||||||
|
player.loseToDiscardpile(cardx);
|
||||||
|
player.draw(cardx.length);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}).vars({cards:cards});
|
||||||
|
},
|
||||||
|
onuse(result,player){
|
||||||
|
player.changeZhuanhuanji('olxuanzhu');
|
||||||
|
},
|
||||||
|
};
|
||||||
|
const viewAs={
|
||||||
|
name:links[0][2],
|
||||||
|
nature:links[0][3],
|
||||||
|
suit:'none',
|
||||||
|
number:null,
|
||||||
|
isCard:true,
|
||||||
|
};
|
||||||
|
next.viewAs=viewAs;
|
||||||
|
if(get.info('xunshi').isXunshi(viewAs)){
|
||||||
|
next.filterTarget=function(card,player,target){
|
||||||
|
const info=get.info(card);
|
||||||
|
if(info.changeTarget){
|
||||||
|
let targets=[target];
|
||||||
|
info.changeTarget(player,targets);
|
||||||
|
if(targets.length>1) return false;
|
||||||
|
}
|
||||||
|
return lib.filter.filterTarget(card,player,target);
|
||||||
|
};
|
||||||
|
next.selectTarget=1;
|
||||||
|
}
|
||||||
|
return next;
|
||||||
|
},
|
||||||
|
prompt(links,player){
|
||||||
|
const viewAs={
|
||||||
|
name:links[0][2],
|
||||||
|
nature:links[0][3],
|
||||||
|
suit:'none',
|
||||||
|
number:null,
|
||||||
|
isCard:true,
|
||||||
|
};
|
||||||
|
const str='将一张牌称为“玄”置于武将牌上,然后视为使用'+(get.translation(links[0][3])||'')+'【'+get.translation(links[0][2])+'】';
|
||||||
|
return str+(get.info('xunshi').isXunshi(viewAs)?'(仅能指定一个目标)':'');
|
||||||
|
},
|
||||||
|
},
|
||||||
|
hiddenCard(player,name){
|
||||||
|
if(!lib.inpile.includes(name)||player.getStat('skill').olxuanzhu||!player.countCards('he')) return false;
|
||||||
|
return get.inpileVCardList(info=>{
|
||||||
|
const name=info[2],type=get.type(name),infox=get.info({name:name});
|
||||||
|
if(type!='basic'&&type!='trick') return false;
|
||||||
|
if(type=='trick'&&(!infox||!infox.filterTarget)) return false;
|
||||||
|
return (type!='basic')==(player.storage.olxuanzhu||false);
|
||||||
|
}).map(card=>card[2]).includes(name);
|
||||||
|
},
|
||||||
|
ai:{
|
||||||
|
order(item,player){
|
||||||
|
if(player&&get.event().type=='phase'){
|
||||||
|
let list=get.inpileVCardList(info=>{
|
||||||
|
const name=info[2],type=get.type(name),infox=get.info({name:name});
|
||||||
|
if(type!='basic'&&type!='trick') return false;
|
||||||
|
if(type=='trick'&&(!infox||!infox.filterTarget)) return false;
|
||||||
|
return (type!='basic')==(player.storage.olxuanzhu||false);
|
||||||
|
}).map(card=>{return {name:card[2],nature:card[3]}}).filter(card=>player.getUseValue(card,true,true)>0);
|
||||||
|
if(!list.length) return 0;
|
||||||
|
list.sort((a,b)=>{
|
||||||
|
const getNum=function(card){
|
||||||
|
if(get.info('xunshi').isXunshi(card)) return get.effect(game.filterPlayer(target=>{
|
||||||
|
return player.canUse(card,target,true,true);
|
||||||
|
}).sort((a,b)=>get.effect(b,card,player,player)-get.effect(a,card,player,player)),card,player,player);
|
||||||
|
return player.getUseValue(card,true,true);
|
||||||
|
};
|
||||||
|
return (getNum(b)||0)-(getNum(a)||0);
|
||||||
|
});
|
||||||
|
return get.order(list[0],player)*0.99;
|
||||||
|
}
|
||||||
|
return 0.001;
|
||||||
|
},
|
||||||
|
respondSha:true,
|
||||||
|
respondShan:true,
|
||||||
|
skillTagFilter(player,tag,arg){
|
||||||
|
if(arg=='respond') return false;
|
||||||
|
const name=(tag=='respondSha'?'sha':'shan');
|
||||||
|
return get.info('olxuanzhu').hiddenCard(player,name);
|
||||||
|
},
|
||||||
|
result:{player:1},
|
||||||
|
},
|
||||||
|
intro:{
|
||||||
|
content:'expansion',
|
||||||
|
markcount:'expansion',
|
||||||
|
},
|
||||||
|
onremove(player,skill){
|
||||||
|
const cards=player.getExpansions(skill);
|
||||||
|
if(cards.length) player.loseToDiscardpile(cards);
|
||||||
|
},
|
||||||
|
subSkill:{backup:{}},
|
||||||
|
},
|
||||||
|
oljiane:{
|
||||||
|
audio:2,
|
||||||
|
trigger:{player:['shaDamage','useCardToEnd']},
|
||||||
|
filter(event,player,name){
|
||||||
|
if(event.type!='card'||!event.target||!event.target.isIn()||event.target==player) return false;
|
||||||
|
if(name=='shaDamage') return true;
|
||||||
|
return event.card.name!='sha'&&!event.getParent()._neutralized;
|
||||||
|
},
|
||||||
|
logTarget:'target',
|
||||||
|
forced:true,
|
||||||
|
async content(event,trigger,player){
|
||||||
|
trigger.target.addTempSkill('oljiane_neutralized');
|
||||||
|
},
|
||||||
|
group:'oljiane_neutralize',
|
||||||
|
global:'oljiane_ai',
|
||||||
|
subSkill:{
|
||||||
|
neutralize:{
|
||||||
|
audio:'oljiane',
|
||||||
|
trigger:{
|
||||||
|
target:'shaMiss',
|
||||||
|
global:'eventNeutralized',
|
||||||
|
},
|
||||||
|
filter(event,player,name){
|
||||||
|
if(event.type!='card') return false;
|
||||||
|
return name=='shaMiss'||event._neutralize_event.player==player;
|
||||||
|
},
|
||||||
|
forced:true,
|
||||||
|
async content(event,trigger,player){
|
||||||
|
player.addTempSkill('oljiane_nouse');
|
||||||
|
},
|
||||||
|
},
|
||||||
|
ai:{
|
||||||
|
ai:{
|
||||||
|
directHit_ai:true,
|
||||||
|
skillTagFilter(player,tag,arg){
|
||||||
|
if(!arg||!arg.target||!arg.target.hasSkill('oljiane_neutralized')) return false;
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
neutralized:{
|
||||||
|
charlotte:true,
|
||||||
|
mark:true,
|
||||||
|
marktext:'牌',
|
||||||
|
intro:{content:'本回合无法抵消牌'},
|
||||||
|
trigger:{global:'useCard'},
|
||||||
|
forced:true,
|
||||||
|
popup:false,
|
||||||
|
async content(event,trigger,player){
|
||||||
|
const id=player.playerid;
|
||||||
|
const map=trigger.customArgs;
|
||||||
|
if(!map[id]) map[id]={};
|
||||||
|
map[id].directHit2=true;
|
||||||
|
},
|
||||||
|
mod:{
|
||||||
|
wuxieJudgeEnabled:()=>false,
|
||||||
|
wuxieEnabled:()=>false,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
nouse:{
|
||||||
|
charlotte:true,
|
||||||
|
mark:true,
|
||||||
|
marktext:'<span style="text-decoration: line-through;">牌</span>',
|
||||||
|
intro:{content:'本回合无法成为牌的目标'},
|
||||||
|
mod:{targetEnabled:()=>false},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
//刘磐
|
//刘磐
|
||||||
olpijing:{
|
olpijing:{
|
||||||
audio:2,
|
audio:2,
|
||||||
|
@ -26184,6 +26405,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
str+='然后若没有角色因此【杀】死亡,你移除本次被选择的项。';
|
str+='然后若没有角色因此【杀】死亡,你移除本次被选择的项。';
|
||||||
return str;
|
return str;
|
||||||
},
|
},
|
||||||
|
olxuanzhu(player){
|
||||||
|
if(player.storage.olxuanzhu) return '转换技,每回合限一次,你可以将一张牌称为“玄”置于武将牌上,然后视为使用:阴,任意基本牌;<span class="bluetext">阳,任意普通锦囊牌(须指定目标且仅指定一个目标)</span>。若此次置于武将牌上的“玄”:不为装备牌,你弃置一张牌;为装备牌,你将所有“玄”置入弃牌堆,然后摸等量的牌。';
|
||||||
|
return '转换技,每回合限一次,你可以将一张牌称为“玄”置于武将牌上,然后视为使用:<span class="bluetext">阴,任意基本牌</span>;阳,任意普通锦囊牌(须指定目标且仅指定一个目标)。若此次置于武将牌上的“玄”:不为装备牌,你弃置一张牌;为装备牌,你将所有“玄”置入弃牌堆,然后摸等量的牌。';
|
||||||
|
},
|
||||||
},
|
},
|
||||||
characterReplace:{
|
characterReplace:{
|
||||||
guanyinping:['guanyinping','old_guanyinping'],
|
guanyinping:['guanyinping','old_guanyinping'],
|
||||||
|
@ -26247,6 +26472,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
zhugedan:['re_zhugedan','zhugedan'],
|
zhugedan:['re_zhugedan','zhugedan'],
|
||||||
zhangren:['jsrg_zhangren','zhangren'],
|
zhangren:['jsrg_zhangren','zhangren'],
|
||||||
wenqin:['ol_wenqin','pe_wenqin'],
|
wenqin:['ol_wenqin','pe_wenqin'],
|
||||||
|
lukai:['ol_lukai','lukai'],
|
||||||
},
|
},
|
||||||
translate:{
|
translate:{
|
||||||
"xinfu_lingren":"凌人",
|
"xinfu_lingren":"凌人",
|
||||||
|
@ -27472,6 +27698,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
liupan:'刘磐',
|
liupan:'刘磐',
|
||||||
olpijing:'披荆',
|
olpijing:'披荆',
|
||||||
olpijing_info:'每回合限一次,当你使用黑色【杀】或黑色普通锦囊牌指定唯一目标后,你可以令至多X名其他角色成为此牌的额外目标并依次交给你一张牌(X为你已损失的体力值且X至少为1)。这些角色下次使用基本牌或普通锦囊牌指定唯一目标时,其可令你成为此牌的额外目标或摸一张牌。',
|
olpijing_info:'每回合限一次,当你使用黑色【杀】或黑色普通锦囊牌指定唯一目标后,你可以令至多X名其他角色成为此牌的额外目标并依次交给你一张牌(X为你已损失的体力值且X至少为1)。这些角色下次使用基本牌或普通锦囊牌指定唯一目标时,其可令你成为此牌的额外目标或摸一张牌。',
|
||||||
|
ol_lukai:'OL陆凯',
|
||||||
|
ol_lukai_prefix:'OL',
|
||||||
|
olxuanzhu:'玄注',
|
||||||
|
olxuanzhu_info:'转换技,每回合限一次,你可以将一张牌称为“玄”置于武将牌上,然后视为使用:阴,任意基本牌;阳,任意普通锦囊牌(须指定目标且仅指定一个目标)。若此次置于武将牌上的“玄”:不为装备牌,你弃置一张牌;为装备牌,你将所有“玄”置入弃牌堆,然后摸等量的牌。',
|
||||||
|
oljiane:'謇谔',
|
||||||
|
oljiane_info:'锁定技。①当你对其他角色使用的牌生效后,其本回合无法抵消牌。②当你抵消牌后,你本回合无法成为牌的目标。',
|
||||||
|
|
||||||
sp_tianji:'天极·皇室宗亲',
|
sp_tianji:'天极·皇室宗亲',
|
||||||
sp_sibi:'四弼·辅国文曲',
|
sp_sibi:'四弼·辅国文曲',
|
||||||
|
|
|
@ -409,12 +409,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
return target!=get.event('aim');
|
return target!=get.event('aim');
|
||||||
},true).set('ai',target=>{
|
},true).set('ai',target=>{
|
||||||
const player=get.event('player');
|
const player=get.event('player');
|
||||||
return att=get.attitude(player,target);
|
return get.attitude(player,target);
|
||||||
}).set('aim',aim);
|
}).set('aim',aim);
|
||||||
if(bool&&get.owner(card)==player){
|
if(bool&&get.owner(card)==player){
|
||||||
const target=targets[0];
|
const target=targets[0];
|
||||||
player.line(target,'green');
|
player.line(target,'green');
|
||||||
await player.give([card],target);
|
if(target!=player) await player.give([card],target);
|
||||||
if(get.owner(card)==target){
|
if(get.owner(card)==target){
|
||||||
const {result:{bool}}=await target.chooseUseTarget(card);
|
const {result:{bool}}=await target.chooseUseTarget(card);
|
||||||
if(bool) await player.draw();
|
if(bool) await player.draw();
|
||||||
|
@ -429,7 +429,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
audio:2,
|
audio:2,
|
||||||
inherit:'mbdiancai',
|
inherit:'mbdiancai',
|
||||||
filter(event,player){
|
filter(event,player){
|
||||||
if(!player.getHp()||_status.currentPhase===player) return false;
|
if(_status.currentPhase===player) return false;
|
||||||
let num=player.getHistory('lose',evt=>{
|
let num=player.getHistory('lose',evt=>{
|
||||||
return evt.cards2&&evt.cards2.length&&evt.getParent('phaseUse')==event;
|
return evt.cards2&&evt.cards2.length&&evt.getParent('phaseUse')==event;
|
||||||
}).reduce((sum,evt)=>{
|
}).reduce((sum,evt)=>{
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 41 KiB |
|
@ -2640,13 +2640,32 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
||||||
game.trueZhu.update();
|
game.trueZhu.update();
|
||||||
game.falseZhu.update();
|
game.falseZhu.update();
|
||||||
ui.arena.classList.add('choose-character');
|
ui.arena.classList.add('choose-character');
|
||||||
if(get.is.phoneLayout()){
|
if(evt=='shishengshibai'){
|
||||||
ui.guanduInfo=ui.create.div('.touchinfo.left',ui.window);
|
ui.guanduInfo=get.is.phoneLayout()?ui.create.div('.touchinfo.left',ui.window):ui.create.div(ui.gameinfo);
|
||||||
|
ui.guanduInfo.innerHTML='十胜十败(0)';
|
||||||
}
|
}
|
||||||
else{
|
const showGuanduEvent=function(evt){
|
||||||
ui.guanduInfo=ui.create.div(ui.gameinfo);
|
if(ui['GuanduEvent_'+evt]) return;
|
||||||
|
ui['GuanduEvent_'+evt]=ui.create.system(get.translation(evt),null,true);
|
||||||
|
lib.setPopped(ui['GuanduEvent_'+evt],function(){
|
||||||
|
var uiintro=ui.create.dialog('hidden');
|
||||||
|
uiintro.add(get.translation(evt));
|
||||||
|
uiintro.add('<div class="text center">'+get.translation(evt+'_info')+'</div>');
|
||||||
|
var ul=uiintro.querySelector('ul');
|
||||||
|
if(ul) ul.style.width='180px';
|
||||||
|
uiintro.add(ui.create.div('.placeholder'));
|
||||||
|
return uiintro;
|
||||||
|
},250);
|
||||||
|
};
|
||||||
|
for(const i in lib.playerOL){
|
||||||
|
const target=lib.playerOL[i];
|
||||||
|
if(target==game.me){
|
||||||
|
showGuanduEvent(evt);
|
||||||
|
}
|
||||||
|
else if(target.isOnline2()){
|
||||||
|
target.send(showGuanduEvent,evt);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
ui.guanduInfo.innerHTML='当前事件:'+get.translation(evt);
|
|
||||||
if(lib.config.background_speak) game.playAudio('skill',evt);
|
if(lib.config.background_speak) game.playAudio('skill',evt);
|
||||||
var dialog=ui.create.dialog('本局特殊事件:'+get.translation(evt));
|
var dialog=ui.create.dialog('本局特殊事件:'+get.translation(evt));
|
||||||
dialog.addText(get.translation(evt+'_info'),false);
|
dialog.addText(get.translation(evt+'_info'),false);
|
||||||
|
@ -2725,15 +2744,26 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
||||||
var evt_list=[['huoshaowuchao','chunyuqiong'],['liangcaokuifa','sp_xuyou'],['zhanyanliangzhuwenchou','jsp_guanyu'],['shishengshibai','re_guojia'],['xutuhuanjin','yj_jushou'],['liangjunxiangchi','yj_jushou'],['jianshoudaiyuan','tianfeng'],['yiruoshengqiang','re_caocao'],['shichongerjiao','sp_xuyou']].randomGet();
|
var evt_list=[['huoshaowuchao','chunyuqiong'],['liangcaokuifa','sp_xuyou'],['zhanyanliangzhuwenchou','jsp_guanyu'],['shishengshibai','re_guojia'],['xutuhuanjin','yj_jushou'],['liangjunxiangchi','yj_jushou'],['jianshoudaiyuan','tianfeng'],['yiruoshengqiang','re_caocao'],['shichongerjiao','sp_xuyou']].randomGet();
|
||||||
var evt=evt_list[0],character=evt_list[1];
|
var evt=evt_list[0],character=evt_list[1];
|
||||||
game.addGlobalSkill(evt);
|
game.addGlobalSkill(evt);
|
||||||
|
const showGuanduEvent=function(evt){
|
||||||
|
if(ui['GuanduEvent_'+evt]) return;
|
||||||
|
ui['GuanduEvent_'+evt]=ui.create.system(get.translation(evt),null,true);
|
||||||
|
lib.setPopped(ui['GuanduEvent_'+evt],function(){
|
||||||
|
var uiintro=ui.create.dialog('hidden');
|
||||||
|
uiintro.add(get.translation(evt));
|
||||||
|
uiintro.add('<div class="text center">'+get.translation(evt+'_info')+'</div>');
|
||||||
|
var ul=uiintro.querySelector('ul');
|
||||||
|
if(ul) ul.style.width='180px';
|
||||||
|
uiintro.add(ui.create.div('.placeholder'));
|
||||||
|
return uiintro;
|
||||||
|
},250);
|
||||||
|
};
|
||||||
|
showGuanduEvent(evt);
|
||||||
game.broadcastAll(function(evt){
|
game.broadcastAll(function(evt){
|
||||||
if(get.is.phoneLayout()){
|
|
||||||
ui.guanduInfo=ui.create.div('.touchinfo.left',ui.window);
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
ui.guanduInfo=ui.create.div(ui.gameinfo);
|
|
||||||
}
|
|
||||||
if(lib.config.background_speak) game.playAudio('skill',evt);
|
if(lib.config.background_speak) game.playAudio('skill',evt);
|
||||||
ui.guanduInfo.innerHTML='当前事件:'+get.translation(evt);
|
if(evt=='shishengshibai'){
|
||||||
|
ui.guanduInfo=get.is.phoneLayout()?ui.create.div('.touchinfo.left',ui.window):ui.create.div(ui.gameinfo);
|
||||||
|
ui.guanduInfo.innerHTML='十胜十败(0)';
|
||||||
|
}
|
||||||
},evt);
|
},evt);
|
||||||
game.me.chooseControl('ok').set('dialog',['###本局特殊事件:'+get.translation(evt)+'###'+get.translation(evt+'_info'),[[character],'character']]);
|
game.me.chooseControl('ok').set('dialog',['###本局特殊事件:'+get.translation(evt)+'###'+get.translation(evt+'_info'),[[character],'character']]);
|
||||||
'step 1'
|
'step 1'
|
||||||
|
@ -4688,7 +4718,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
||||||
if(!_status.shishengshibai) _status.shishengshibai=0;
|
if(!_status.shishengshibai) _status.shishengshibai=0;
|
||||||
_status.shishengshibai++;
|
_status.shishengshibai++;
|
||||||
game.broadcastAll(function(num){
|
game.broadcastAll(function(num){
|
||||||
if(ui.guanduInfo) ui.guanduInfo.innerHTML='当前事件:十胜十败('+num+')';
|
if(ui.guanduInfo) ui.guanduInfo.innerHTML='十胜十败('+num+')';
|
||||||
},_status.shishengshibai);
|
},_status.shishengshibai);
|
||||||
if(_status.shishengshibai%10==0&&trigger.targets&&trigger.targets.length>0&&!['delay','equip'].includes(get.type(trigger.card))){
|
if(_status.shishengshibai%10==0&&trigger.targets&&trigger.targets.length>0&&!['delay','equip'].includes(get.type(trigger.card))){
|
||||||
trigger.effectCount++;
|
trigger.effectCount++;
|
||||||
|
|
Loading…
Reference in New Issue