Merge pull request #710 from mengxinzxz/PR-Branch

新服/OL新将+bugfix+函数优化
This commit is contained in:
Spmario233 2023-12-13 20:58:30 +08:00 committed by GitHub
commit e9e5b74dd0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
26 changed files with 700 additions and 125 deletions

BIN
audio/die/star_dongzhuo.mp3 Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
audio/skill/starweilin1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/starweilin2.mp3 Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -12637,10 +12637,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(player.getStorage('junktaoluan2').includes(get.suit(card))) return false;
if(player.getStorage('junktaoluan').includes(name)) return false;
if(get.type(name)!='basic'&&get.type(name)!='trick') return false;
if(event.filterCard({name:name,isCard:true,cards:[card]})) return true;
if(event.filterCard({name:name,isCard:true,cards:[card]},player,event)) return true;
if(name=='sha'){
for(var nature of lib.inpile_nature){
if(event.filterCard({name:name,nature:nature,isCard:true,cards:[card]})) return true;
if(event.filterCard({name:name,nature:nature,isCard:true,cards:[card]},player,event)) return true;
}
}
return false;

View File

@ -4222,7 +4222,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
direct:true,
content:function(){
'step 0'
player.chooseToDiscard(get.prompt('jsrgjuelie',trigger.target),'当你使用【杀】指定一名角色为目标后,你可以弃置任意张牌,然后弃置其等量的牌,然后若你的手牌数或体力值最小,此【杀】对其的伤害基数+1。',[1,Infinity],'he').set('ai',card=>{
player.chooseToDiscard(get.prompt('jsrgjuelie',trigger.target),'当你使用【杀】指定一名角色为目标后,你可以弃置任意张牌,然后弃置其等量的牌',[1,Infinity],'he').set('ai',card=>{
if(ui.selected.cards.length>=_status.event.max) return 0;
if(_status.event.goon) return 4.5-get.value(card);
return 0;
@ -4232,6 +4232,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
var num=result.cards.length;
if(trigger.target.countDiscardableCards(player,'he')) player.discardPlayerCard('平讨:弃置'+get.translation(trigger.target)+get.cnNumber(num)+'张牌',num,'he',trigger.target,true);
}
/*
else event.finish();
'step 2'
if(player.isMinHandcard()||player.isMinHp()){
@ -4243,6 +4244,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
map[id].extraDamage++;
}
*/
},
shaRelated:true,
ai:{
@ -4256,6 +4258,22 @@ game.import('character',function(lib,game,ui,get,ai,_status){
});
},
},
group:'jsrgjuelie_pojun',
subSkill:{
pojun:{
trigger:{source:'damageBegin1'},
filter:function(event,player){
if(!player.isMinHandcard()&&!player.isMinHp()) return false;
return event.getParent().name=='sha';
},
forced:true,
locked:false,
logTarget:'player',
content:function(){
trigger.num++;
},
},
},
},
//皇甫嵩
jsrgguanhuo:{
@ -5714,14 +5732,16 @@ game.import('character',function(lib,game,ui,get,ai,_status){
audio:2,
forced:true,
trigger:{
player:'enterGame',
global:'phaseBefore',
//player:'enterGame',
//global:'phaseBefore',
global:'roundStart',
},
filter:function(event,player){
if(game.hasPlayer(function(current){
return current.countCards('hej','taipingyaoshu');
})) return false;
return event.name!='phase'||game.phaseNumber==0;
return true;
//return event.name!='phase'||game.phaseNumber==0;
},
direct:true,
group:'jsrgshoushu_destroy',
@ -5973,7 +5993,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
jsrgpingtao:'平讨',
jsrgpingtao_info:'出牌阶段限一次。你可以令一名其他角色选择一项1.交给你一张牌,然后你于此回合使用【杀】的次数上限+12.令你视为对其使用一张【杀】。',
jsrgjuelie:'绝烈',
jsrgjuelie_info:'当你使用【杀】指定一名角色为目标后,你可以弃置任意张牌并弃置其等量的牌,然后若你的手牌数或体力值最小,此【杀】对其的伤害基数+1。',
jsrgjuelie_info:'当你使用【杀】指定一名角色为目标后,你可以弃置任意张牌并弃置其等量的牌。②若你的手牌数或体力值为全场最小,则你使用【杀】造成的伤害+1。',
jsrg_huangfusong:'起皇甫嵩',
jsrg_huangfusong_prefix:'起',
jsrgguanhuo:'观火',
@ -6048,7 +6068,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
jsrg_nanhualaoxian:'起南华老仙',
jsrg_nanhualaoxian_prefix:'起',
jsrgshoushu:'授术',
jsrgshoushu_info:'锁定技。①游戏开始时,若场上没有【太平要术】,你可以从游戏外将【太平要术】置于一名角色的装备区内。②当【太平要术】离开一名角色的装备区后,你令此牌销毁。',
jsrgshoushu_info:'锁定技。①一轮游戏开始时,若场上没有【太平要术】,你可以从游戏外将【太平要术】置于一名角色的装备区内。②当【太平要术】离开一名角色的装备区后,你令此牌销毁。',
jsrgxundao:'寻道',
jsrgxundao_info:'当你的判定牌生效前,你可以令至多两名角色依次弃置一张牌,然后你选择一张以此法弃置且位于弃牌堆中的牌代替此判定牌。',
jsrglinghua:'灵化',

View File

@ -2718,7 +2718,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
'step 0'
var trigger=event.getParent().getTrigger();
if(trigger.name=='useCard'){
var target=lib.skill.chongzhen1.logTarget(trigger,player);
var target=lib.skill.chongzhen.logTarget(trigger,player);
}
else{
var target=trigger.source;

361
character/onlyOL.js Normal file
View File

@ -0,0 +1,361 @@
'use strict';
game.import('character',function(lib,game,ui,get,ai,_status){
return {
name:'onlyOL',
connect:true,
character:{
ol_sb_jiangwei:['male','shu',4,['olsbzhuri','olsbranji']],
ol_caozhang:['male','wei',4,['oljiangchi']],
ol_jianyong:['male','shu',3,['olqiaoshui','jyzongshi']],
ol_lingtong:['male','wu',4,['olxuanfeng'],['die_audio:re_lingtong']],
},
characterSort:{
onlyOL:{
onlyOL_yijiang1:['ol_caozhang','ol_jianyong','ol_lingtong'],
onlyOL_sb:['ol_sb_jiangwei'],
},
},
characterIntro:{
},
characterReplace:{
},
skill:{
//OL谋姜维
olsbzhuri:{
audio:2,
trigger:{player:['phaseZhunbeiEnd','phaseJudgeEnd','phaseDrawEnd','phaseUseEnd','phaseDiscardEnd','phaseJieshuEnd']},
filter:function(event,player){
if(player.hasSkill('olsbzhuri_block')) return false;
if(!game.hasPlayer(target=>player.canCompare(target))) return false;
return player.getHistory('gain',evt=>evt.getParent(event.name)==event).length+player.getHistory('lose',evt=>evt.getParent(event.name)==event&&evt.hs.length).length;
},
direct:true,
content:function*(event,map){
var player=map.player;
var trigger=map.trigger;
var result=yield player.chooseTarget(get.prompt('olsbzhuri'),'与一名角色进行拼点若你赢你可以使用其中的一张拼点牌若你没赢你失去1点体力或令此技能于本回合失效',(card,player,target)=>{
return player.canCompare(target);
}).set('ai',target=>{
var player=_status.event.player;
var ts=target.getCards('h').sort((a,b)=>get.number(a)-get.number(b));
if(get.attitude(player,target)<0){
var hs=player.getCards('h').sort((a,b)=>get.number(b)-get.number(a));
var ts=target.getCards('h').sort((a,b)=>get.number(b)-get.number(a));
if(get.number(hs[0])>get.number(ts[0])) return 1;
if(get.effect(player,{name:'losehp'},player,player)>0) return Math.random()+0.2;
if(player.getHp()>2) return Math.random()-0.5;
return 0;
}
return 0;
});
if(result.bool){
var target=result.targets[0];
player.logSkill('olsbzhuri',target);
var result2=yield player.chooseToCompare(target);
if(result2.bool){
var cards=[result2.player,result2.target].filterInD('d');
cards=cards.filter(card=>player.hasUseTarget(card));
if(cards.length){
var result3=yield player.chooseButton(['是否使用其中的牌?',cards]).set('ai',button=>_status.event.player.getUseValue(button.link));
if(result3.bool){
var card=result3.links[0];
player.$gain2(card,false);
game.delayx();
player.chooseUseTarget(true,card,false);
}
}
}
else{
var list=lib.skill.olsbranji.getList(trigger);
var result3=yield player.chooseControl('失去体力','技能失效').set('prompt','逐日失去1点体力或令此技能于本回合失效').set('ai',()=>{
var player=_status.event.player;
if(player.getHp()>2){
var list=_status.event.list;
list.removeArray(player.skipList);
if(list.includes('phaseDraw')||list.includes('phaseUse')) return '失去体力';
}
if(get.effect(player,{name:'losehp'},player,player)>0) return '失去体力';
return '技能失效';
}).set('list',list.slice(trigger.getParent().num,list.length));
player[result3.control=='失去体力'?'loseHp':'addTempSkill'](result3.control=='失去体力'?1:'olsbzhuri_block');
}
}
},
subSkill:{
block:{
charlotte:true,
mark:true,
marktext:'<span style="text-decoration: line-through;">日</span>',
intro:{content:'追不动太阳了'},
},
},
},
olsbranji:{
audio:2,
trigger:{player:'phaseJieshuBegin'},
prompt2:function(event,player){
var str='获得技能';
var num=lib.skill.olsbranji.getNum(event,player);
if(num>=player.getHp()) str+='【困奋】';
if(num==player.getHp()) str+='和';
if(num<=player.getHp()) str+='【诈降】';
str+=',然后';
var num1=(player.countCards('h')-player.getHandcardLimit());
if(num1||player.isDamaged()){
if(num1) str+=(num1<0?'摸'+get.cnNumber(-num1)+'张牌':'弃置'+get.cnNumber(num1)+'张牌');
if(num1&&player.isDamaged()) str+='或';
if(player.isDamaged()) str+=('回复'+player.getDamagedHp()+'点体力');
str+=',最后';
}
str+='你不能回复体力直到你杀死角色。';
return str;
},
check:function(event,player){
var num=lib.skill.olsbranji.getNum(event,player);
if(num==player.getHp()) return true;
return player.getHandcardLimit()-player.countCards('h')>=3||player.getDamagedHp()>=2;
},
limited:true,
skillAnimation:true,
animationColor:'fire',
content:function*(event,map){
var player=map.player;
var trigger=map.trigger;
player.awakenSkill('olsbranji');
var num=lib.skill.olsbranji.getNum(trigger,player);
if(num>=player.getHp()){
player.addSkillLog('kunfen');
player.storage.kunfen=true;
}
if(num<=player.getHp()) player.addSkillLog('zhaxiang');
if(player.countCards('h')!=player.getHandcardLimit()||player.isDamaged()){
var result,num1=player.countCards('h')-player.getHandcardLimit();
if(!num1) result={index:1};
else if(player.isHealthy()) result={index:0};
else{
result=yield player.chooseControl('手牌数','体力值').set('choiceList',[
num1<0?'摸'+get.cnNumber(-num1)+'张牌':'弃置'+get.cnNumber(num1)+'张牌',
'回复'+(player.getDamagedHp())+'点体力',
]).set('ai',()=>{
var player=_status.event.player;
var list=_status.event.list;
var num1=get.effect(player,{name:'wuzhong'},player,player)/2;
var num2=get.recoverEffect(player,player,player);
return num1*list[0]>num2*list[1]?0:1;
}).set('list',[-num1,player.getDamagedHp()]);
}
if(result.index==0){
if(num1<0) player.drawTo(player.getHandcardLimit());
else player.chooseToDiscard(num1,'h',true);
}
else{
player.recover(player.maxHp-player.hp);
}
}
player.when('olsbranjiAfter').then(()=>player.addSkill('olsbranji_norecover'));
player.when({source:'dieAfter'}).then(()=>player.removeSkill('olsbranji_norecover'));
},
derivation:['kunfenx','zhaxiang'],
getList:function(event){
return event.getParent().phaseList.map(list=>list.split('|')[0]);
},
getNum:function(event,player){
return lib.skill.olsbranji.getList(event).slice(0,event.getParent().num).filter(name=>player.getHistory('useCard',evt=>evt.getParent(name).name==name).length).length;
},
subSkill:{
norecover:{
charlotte:true,
mark:true,
intro:{content:'不能回复体力'},
trigger:{player:'recoverBefore'},
forced:true,
firstDo:true,
content:function(){
trigger.cancel();
},
ai:{
effect:{
target:function(card,player,target){
if(get.tag(card,'recover')) return 'zeroplayertarget';
},
},
},
},
},
},
//界曹彰
oljiangchi:{
audio:2,
trigger:{player:'phaseDrawEnd'},
direct:true,
content:function*(event,map){
var player=map.player;
var choiceList=[
'摸一张牌,本回合使用【杀】的次数上限-1且【杀】不计入手牌上限。',
'重铸一张牌,本回合使用【杀】无距离限制,且使用【杀】的次数上限+1。',
],list=['cancel2'];
if(player.countCards('he',card=>player.canRecast(card))) list.unshift('重铸,+1');
else choiceList[1]='<span style="opacity:0.5">'+choiceList[1]+'</span>';
list.unshift('摸牌,-1');
var result=yield player.chooseControl(list).set('ai',()=>{
var player=_status.event.player;
var controls=_status.event.controls.slice();
if(controls.includes('重铸,+1')&&player.countCards('hs',card=>get.name(card)=='sha'&&player.hasValueTarget(card))>=2) return '重铸,+1';
return '摸牌,-1';
}).set('choiceList',choiceList).set('prompt',get.prompt('oljiangchi'));
if(result.control!='cancel2'){
player.logSkill('oljiangchi');
if(result.control=='摸牌,-1'){
player.draw();
player.addTempSkill('oljiangchi_less');
player.addMark('oljiangchi_less',1,false);
}
else{
var result2=yield player.chooseCard('he','将驰:请重铸一张牌',true,(card,player)=>player.canRecast(card));
if(result2.bool){
player.recast(result2.cards);
player.addTempSkill('oljiangchi_more');
player.addMark('oljiangchi_more',1,false);
}
}
}
},
subSkill:{
less:{
charlotte:true,
onremove:true,
mod:{
cardUsable:function(card,player,num){
if(card.name=='sha') return num-player.countMark('oljiangchi_less');
},
ignoredHandcard:function(card,player){
if(card.name=='sha') return true;
},
cardDiscardable:function(card,player,name){
if(name=='phaseDiscard'&&card.name=='sha') return false;
},
},
},
more:{
charlotte:true,
onremove:true,
mod:{
cardUsable:function(card,player,num){
if(card.name=='sha') return num+player.countMark('oljiangchi_more');
},
targetInRange:function (card,player){
if(card.name=='sha') return true;
},
},
},
},
},
//界简雍
olqiaoshui:{
audio:2,
inherit:'reqiaoshui',
filter:function(event,player){
return player.countCards('h')>0&&!player.hasSkill('olqiaoshui_used');
},
content:function(){
'step 0'
player.chooseToCompare(target);
'step 1'
if(result.bool) player.addTempSkill('qiaoshui3',{player:'phaseUseAfter'});
else{
player.addTempSkill('qiaoshui2');
player.addTempSkill('olqiaoshui_used');
}
},
subSkill:{
used:{
charlotte:true,
mark:true,
marktext:'<span style="text-decoration: line-through;">说</span>',
intro:{content:'被迫闭嘴'},
},
},
},
//界凌统
olxuanfeng:{
audio:'xuanfeng',
audioname:['boss_lvbu3'],
audioname2:{
lingtong:'xuanfeng',
ol_lingtong:'xuanfeng_re_lingtong',
},
trigger:{
player:['loseAfter'],
global:['equipAfter','addJudgeAfter','gainAfter','loseAsyncAfter','addToExpansionAfter'],
},
filter:function(event,player){
var evt=event.getl(player);
return evt&&(evt.es.length||evt.cards2.length>1);
},
direct:true,
content:function(){
'step 0'
event.count=2;
event.logged=false;
'step 1'
player.chooseTarget(get.prompt('olxuanfeng'),'弃置一名其他角色的一张牌',function(card,player,target){
if(player==target) return false;
return target.countDiscardableCards(player,'he');
}).set('ai',function(target){
return -get.attitude(_status.event.player,target);
});
'step 2'
if(result.bool){
if(!event.logged){
player.logSkill('olxuanfeng',result.targets);
event.logged=true;
}
else player.line(result.targets[0],'green');
player.discardPlayerCard(result.targets[0],'he',true);
event.count--;
}
else event.finish();
'step 3'
if(event.count) event.goto(1);
},
ai:{
reverseEquip:true,
noe:true,
effect:{
target:function(card,player,target,current){
if(get.type(card)=='equip'&&!get.cardtag(card,'gifts')) return [1,3];
},
},
},
},
xuanfeng_re_lingtong:{audio:2},
},
dynamicTranslate:{
},
translate:{
ol_lingtong:'OL界凌统',
ol_lingtong_prefix:'OL界',
olxuanfeng:'旋风',
olxuanfeng_info:'当你一次性失去至少两张牌后,或失去装备区的牌后,你可以依次弃置一至两名其他角色的共计两张牌。',
ol_jianyong:'OL界简雍',
ol_jianyong_prefix:'OL界',
olqiaoshui:'巧说',
olqiaoshui_info:'出牌阶段,你可与一名其他角色拼点。若你赢,你使用的下一张基本牌或普通锦囊牌可以额外指定任意一名其他角色为目标或减少指定一个目标;若你没赢,此技能于本回合失效且本回合你不能使用锦囊牌。',
ol_caozhang:'OL界曹彰',
ol_caozhang_prefix:'OL界',
oljiangchi:'将驰',
oljiangchi_info:'摸牌阶段结束时,你可以选择一项:①摸一张牌,本回合使用【杀】的次数上限-1且【杀】不计入手牌上限。②重铸一张牌本回合使用【杀】无距离限制且使用【杀】的次数上限+1。',
ol_sb_jiangwei:'OL谋姜维',
ol_sb_jiangwei_prefix:'OL谋',
olsbzhuri:'逐日',
olsbzhuri_info:'你的阶段结束时若你本阶段失去过手牌或得到过牌则你可以与一名角色拼点。若你赢你可以使用其中一张拼点牌若你没赢你失去1点体力或令此技能于本回合无效。',
olsbranji:'燃己',
olsbranji_info:'限定技,结束阶段。若你本回合使用过牌的阶段数大于等于/小于等于体力值,你可以获得技能〖困奋〗/〖诈降〗(同时满足则都获得,以此法获得的〖困奋〗直接修改为非锁定技)。若如此做,你将手牌数调整至手牌上限或将体力值回复至体力上限,然后你不能回复体力直到你杀死角色。',
kunfenx:'困奋',
kunfenx_info:'结束阶段开始时你可以失去1点体力然后摸两张牌。',
onlyOL_yijiang1:'OL专属·将1',
onlyOL_sb:'OL专属·上兵伐谋',
},
};
});

View File

@ -348,6 +348,8 @@ window.noname_character_rank={
'caoyi',
'sb_sp_zhugeliang',
'sb_zhugeliang',
'ol_jianyong',
'ol_sb_jiangwei',
],
am:[
'diy_caiwenji',
@ -1321,6 +1323,8 @@ window.noname_character_rank={
'baoxin',
'mb_xianglang',
'lvboshe',
'ol_caozhang',
'ol_lingtong',
],
bm:[
'diy_xizhenxihong',
@ -2070,8 +2074,12 @@ window.noname_character_rank={
'clan_xunyou',
'lvboshe',
'yj_zhoubuyi',
'ol_jianyong',
'ol_sb_jiangwei',
],
rare:[
'ol_caozhang',
'ol_lingtong',
'luoxian',
'ol_mengda',
'tw_menghuo',

View File

@ -20,8 +20,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
connect:true,
character:{
ol_jianyong:['male','shu',3,['olqiaoshui','jyzongshi'],['unseen']],
ol_lingtong:['male','wu',4,['olxuanfeng'],['die_audio:re_lingtong','unseen']],
re_xushu:['male','shu',4,['zhuhai','qianxin']],
re_lidian:['male','wei',3,['xunxun','xinwangxi']],
re_zhongyao:['male','wei',3,['rehuomo','zuoding'],['clan:颍川钟氏']],
@ -171,85 +169,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
re_guohuai:['xiahouyuan','zhanghe'],
},
skill:{
//界简雍
olqiaoshui:{
audio:2,
inherit:'reqiaoshui',
filter:function(event,player){
return player.countCards('h')>0&&!player.hasSkill('olqiaoshui_used');
},
content:function(){
'step 0'
player.chooseToCompare(target);
'step 1'
if(result.bool) player.addTempSkill('qiaoshui3',{player:'phaseUseAfter'});
else{
player.addTempSkill('qiaoshui2');
player.addTempSkill('olqiaoshui_used');
}
},
subSkill:{
used:{
charlotte:true,
mark:true,
marktext:'<span style="text-decoration: line-through;">说</span>',
intro:{content:'被迫闭嘴'},
},
},
},
//界凌统
olxuanfeng:{
audio:'xuanfeng',
audioname:['boss_lvbu3'],
audioname2:{
lingtong:'xuanfeng',
ol_lingtong:'xuanfeng_re_lingtong',
},
trigger:{
player:['loseAfter'],
global:['equipAfter','addJudgeAfter','gainAfter','loseAsyncAfter','addToExpansionAfter'],
},
filter:function(event,player){
var evt=event.getl(player);
return evt&&(evt.es.length||evt.cards2.length>1);
},
direct:true,
content:function(){
'step 0'
event.count=2;
event.logged=false;
'step 1'
player.chooseTarget(get.prompt('olxuanfeng'),'弃置一名其他角色的一张牌',function(card,player,target){
if(player==target) return false;
return target.countDiscardableCards(player,'he');
}).set('ai',function(target){
return -get.attitude(_status.event.player,target);
});
'step 2'
if(result.bool){
if(!event.logged){
player.logSkill('olxuanfeng',result.targets);
event.logged=true;
}
else player.line(result.targets[0],'green');
player.discardPlayerCard(result.targets[0],'he',true);
event.count--;
}
else event.finish();
'step 3'
if(event.count) event.goto(1);
},
ai:{
effect:{
target:function(card,player,target,current){
if(get.type(card)=='equip'&&!get.cardtag(card,'gifts')) return [1,3];
}
},
reverseEquip:true,
noe:true
},
},
xuanfeng_re_lingtong:{audio:2},
ollianhuan:{
audio:'xinlianhuan',
audioname:['ol_pangtong'],
@ -13999,19 +13918,24 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
},
zhaxiang:{
audio:2,
audioname:['ol_sb_jiangwei'],
trigger:{player:'loseHpEnd'},
forced:true,
audio:2,
content:function(){
var num=trigger.num;
player.draw(3*num);
if(_status.currentPhase==player){
if(!player.storage.zhaxiang2) player.storage.zhaxiang2=0;
player.storage.zhaxiang2+=num;
player.addTempSkill('zhaxiang2',{player:'phaseAfter'});
'step 0'
event.count=trigger.num;
'step 1'
event.count--;
player.draw(3);
if(player.isPhaseUsing()){
player.addTempSkill('zhaxiang2');
player.addMark('zhaxiang2',1,false);
}
else{
game.trySkillAudio('zhaxiang',player);
'step 2'
if(event.count>0&&player.hasSkill('zhaxiang')&&!get.is.blocked('zhaxiang',player)){
player.logSkill('zhaxiang');
event.goto(1);
}
},
ai:{
@ -14042,15 +13966,19 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(card.name=='sha') return num+player.storage.zhaxiang2;
}
},
charlotte:true,
onremove:true,
audio:'zhaxiang',
audioname:['ol_sb_jiangwei'],
trigger:{player:'useCard'},
forced:true,
filter:function(event,player){
return event.card&&event.card.name=='sha'&&get.color(event.card)=='red';
},
forced:true,
content:function(){
trigger.directHit.addArray(game.players);
},
intro:{content:'<li>使用【杀】的次数上限+#<br><li>使用红色【杀】无距离限制且不能被【闪】响应'},
ai:{
directHit_ai:true,
skillTagFilter:function(player,tag,arg){
@ -15031,7 +14959,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
qianxin_info:'觉醒技当你造成一次伤害后若你已受伤你须减1点体力上限并获得技能“荐言”。',
jianyan_info:'出牌阶段限一次,你可以声明一种牌的类别或颜色,并亮出牌库中第一张符合你声明的牌,然后你令一名男性角色获得此牌。',
rekurou_info:'出牌阶段限一次你可以弃置一张牌然后失去1点体力。',
zhaxiang_info:'锁定技每当你失去1点体力后你摸三张牌。然后若此时是你的出牌阶段则直到回合结束使用红色【杀】无距离限制且不能被【闪】响应,你可以额外使用一张【杀】。',
zhaxiang_info:'锁定技。当你失去1点体力后你摸三张牌。然后若此时是你的出牌阶段则你本回合获得此下效果使用【杀】的次数上限+1使用红色【杀】无距离限制且不能被【闪】响应。',
qiaomeng_info:'当你使用黑色【杀】对一名角色造成伤害后,你可以弃置该角色装备区里的一张牌,若此牌是坐骑牌,你于此牌置入弃牌堆后获得之。',
reyicong_info:'锁定技,你计算与其他角色的距离时-1。若你的体力值不大于2则其他角色计算与你的距离时+1。',
refankui_info:'每当你受到1点伤害后你可以获得伤害来源的一张牌。',
@ -15635,10 +15563,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
caoren_prefix:'界',
ollianhuan:'连环',
ollianhuan_info:'你可以将一张♣牌当【铁索连环】使用或重铸。你使用【铁索连环】选择目标后,可以给此牌增加一个目标。',
ol_lingtong:'OL界凌统',
ol_lingtong_prefix:'OL界',
olxuanfeng:'旋风',
olxuanfeng_info:'当你一次性失去至少两张牌后,或失去装备区的牌后,你可以依次弃置一至两名其他角色的共计两张牌。',
re_lidian:'界李典',
gz_re_lidian:'李典',
re_lidian_prefix:'界',
@ -15648,6 +15572,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
ol_jianyong_prefix:'OL界',
olqiaoshui:'巧说',
olqiaoshui_info:'出牌阶段,你可与一名其他角色拼点。若你赢,你使用的下一张基本牌或普通锦囊牌可以额外指定任意一名其他角色为目标或减少指定一个目标;若你没赢,此技能于本回合失效且本回合你不能使用锦囊牌。',
ol_caozhang:'OL界曹彰',
ol_caozhang_prefix:'OL界',
oljiangchi:'将驰',
oljiangchi_info:'摸牌阶段结束时,你可以选择一项:①摸一张牌,本回合使用【杀】的次数上限-1且【杀】不计入手牌上限。②重铸一张牌本回合使用【杀】无距离限制且使用【杀】的次数上限+1。',
refresh_standard:'界限突破·标',
refresh_feng:'界限突破·风',

View File

@ -1097,7 +1097,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
audio:2,
trigger:{player:'useCardToPlayered'},
filter:function(event,player){
return event.targets.length==1&&event.card.name=='sha'&&!player.hasSkillTag('noCompareSource')&&event.target.countCards('h')>0&&!event.target.hasSkillTag('noCompareTarget');
return event.targets.length==1&&event.card.name=='sha'&&player.canCompare(event.target,true);
},
check:function(event,player){
return get.attitude(player,event.target)<=0||game.hasPlayer(current=>get.damageEffect(current,player,player)>0);

View File

@ -2276,11 +2276,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
enable:'phaseUse',
usable:1,
filter:function(event,player){
return !player.hasSkillTag('noCompareSource');
return game.hasPlayer(target=>player.canCompare(target,true));
},
filterTarget:function(card,player,target){
return target!=player&&target.countCards('h')>0&&
!target.hasSkillTag('noCompareTarget');
return player.canCompare(target,true);
},
content:function(){
'step 0'

View File

@ -19977,7 +19977,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
'step 1'
if(result.bool){
var ideitity=result.links[0];
var identity=result.links[0];
player.addSkill(identity);
player.markSkill('fenxin');
}
@ -21111,6 +21111,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
kunfen:{
audio:2,
audioname:['ol_sb_jiangwei'],
trigger:{player:'phaseJieshuBegin'},
locked:function(skill,player){
if(!player||!player.storage.kunfen) return true;

View File

@ -4,6 +4,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
name:'sp2',
connect:true,
character:{
star_dongzhuo:['male','qun',5,['starweilin','starzhangrong','starhaoshou'],['zhu']],
star_yuanshu:['male','qun',4,['starcanxi','starpizhi','starzhonggu'],['zhu']],
star_caoren:['male','wei',4,['starsujun','starlifeng']],
mp_liuling:['male','jin',3,['mpjiusong','mpmaotao','mpbishi'],['doublegroup:wei:qun:jin']],
@ -109,12 +110,180 @@ game.import('character',function(lib,game,ui,get,ai,_status){
sp_xuzhou:['re_taoqian','caosong','zhangmiao','qiuliju'],
sp_zhongyuan:['re_hucheer','re_zoushi','caoanmin','re_dongcheng'],
sp_xiaohu:['haomeng','yanfuren','yanrou','dc_zhuling'],
sp_star:['star_caoren','star_yuanshu'],
sp_star:['star_caoren','star_yuanshu','star_dongzhuo'],
mini_qixian:['mp_liuling'],
sp_decade:['caobuxing','re_maliang','dc_jikang'],
}
},
skill:{
//星董卓
starweilin:{
audio:2,
trigger:{source:'damageBegin1'},
filter:function(event,player){
return !event.player.getHistory('damage').length&&player.getHistory('useCard').length>=event.player.getHp();
},
forced:true,
logTarget:'player',
content:function(){
trigger.num++;
},
},
starzhangrong:{
audio:2,
trigger:{player:'phaseZhunbeiBegin'},
filter:function(event,player){
return player.getHp()>0;
},
direct:true,
content:function*(event,map){
var player=map.player;
var str=get.cnNumber(player.getHp());
var choiceList=[
'令至多'+str+'名体力值大于等于你的角色各失去1点体力',
'令至多'+str+'名手牌数大于等于你的角色各弃置一张手牌',
],list=['cancel2'];
if(game.hasPlayer(target=>{
if(target==player) return player.countCards('h',card=>lib.filter.cardDiscardable(card,player));
return target.countCards('h')>=Math.max(1,player.countCards('h'));
})) list.unshift('弃牌');
else choiceList[1]='<span style="opacity:0.5">'+choiceList[1]+'</span>';
list.unshift('扣血');
var result=yield player.chooseControl(list).set('prompt','###'+get.prompt('starzhangrong')+'###选择其中一项令任意名符合条件的角色执行然后你摸等量的牌回合结束时若这些角色中有本回合未受到过伤害的角色则你失去1点体力').set('ai',()=>{
var player=_status.event.player;
var controls=_status.event.controls.slice();
/*
var cards=player.getCards('hes',card=>get.tag(card,'damage')&&player.hasValueTarget(card));
var cardx=cards.filter(card=>get.name(card)=='sha');
cardx.sort((a,b)=>player.getUseValue(b)-player.getUseValue(a));
cardx=cardx.slice(Math.min(cardx.length,player.getCardUsable('sha')),cardx.length);
cards.removeArray(cardx);
*/
var targets1=game.filterPlayer(target=>get.attitude(player,target)<0&&target.getHp()>=player.getHp()&&get.effect(target,{name:'losehp'},player,player)>0/*&&cards.some(card=>player.canUse(card,target))*/);
_status.starzhangrong_check=true;
var targets2=game.filterPlayer(target=>get.attitude(player,target)<0&&target.countCards('h')>=Math.max(1,player.countCards('h'))&&get.effect(target,{name:'guohe_copy2'},player,player)>0/*&&cards.some(card=>player.canUse(card,target))*/);
delete _status.starzhangrong_check;
[targets1,targets2].forEach(list=>{
list.sort((a,b)=>get.damageEffect(b)-get.damageEffect(a));
list=list.slice(0,Math.min(player.getHp()/*,cards.length*/));
});
if(!controls.includes('弃牌')) return 1-get.sgn(targets1.length);
return Math.max(0,get.sgn(targets2.length-targets1.length));
}).set('choiceList',choiceList);
if(result.control!='cancel2'){
var choice=result.index;
var result2=yield player.chooseTarget([1,player.getHp()],'请选择【掌戎】的目标','令至多'+str+'名'+(choice?'手牌数':'体力值')+'大于你的角色各'+(choice?'弃置一张手牌':'失去1点体力'),(card,player,target)=>{
var name=_status.event.card.name;
if(name=='guohe_copy2'){
if(target==player) return player.countCards('h',card=>lib.filter.cardDiscardable(card,player));
return target.countCards('h')>=Math.max(1,player.countCards('h'));
}
return target.getHp()>=player.getHp();
}).set('ai',target=>{
var player=_status.event.player;
if(get.attitude(player,target)>=0) return 0;
return get.effect(target,_status.event.card,player,player);
}).set('card',{name:choice?'guohe_copy2':'losehp'});
if(result2.bool){
var targets=result2.targets.sortBySeat();
player.logSkill('starzhangrong',targets);
targets.forEach(target=>{
target.addTempSkill('starzhangrong_threaten');
if(choice) target.chooseToDiscard('h',true);
else target.loseHp();
});
player.draw(targets.length);
player.when('phaseEnd').then(()=>{
targets.forEach(target=>target.removeSkill('starzhangrong_threaten'));
var targetx=targets.filter(target=>!target.getHistory('damage').length);
if(targetx.length){
targetx.forEach(target=>target.chat('乐'));
player.popup('杯具');
player.loseHp();
return;
}
player.popup('洗具');
}).vars({targets:targets});
}
}
},
global:'starzhangrong_check',
subSkill:{
check:{
mod:{
canBeDiscarded:function(card,player,target){
if(!_status.starzhangrong_check) return;
if(player.hasSkill('starzhangrong')&&get.position(card)!='h') return false;
},
},
},
threaten:{
charlotte:true,
trigger:{player:'damageEnd'},
firstDo:true,
forced:true,
popup:false,
content:function(){
player.removeSkill('starzhangrong_threaten');
},
ai:{threaten:114514+1919810},
mark:true,
markimage:'image/card/sha.png',
intro:{content:'我还没受到伤害哟!'},
},
},
},
starhaoshou:{
unique:true,
audio:2,
trigger:{global:'useCardAfter'},
filter:function(event,player){
return event.player!=player&&event.card.name=='jiu'&&player.isDamaged()&&event.player.group=='qun';
},
direct:true,
zhuSkill:true,
content:function*(event,map){
var player=map.player,target=map.trigger.player;
var result=yield target.chooseBool(get.prompt('starhaoshou',player),'令'+get.translation(player)+'回复1点体力').set('choice',get.recoverEffect(player,target,target)>0);
if(result.bool){
target.line(player);
player.logSkill('starhaoshou');
player.recover();
}
},
//global:'starhaoshou_global',
subSkill:{
global:{
audio:'starhaoshou',
forceaudio:true,
filter:function(event,player){
if(!player.countCards('hes',card=>{
if(get.position(card)=='h'&&_status.connectMode) return true;
return get.name(card)=='jiu';
})) return false;
return event.type=='dying'&&event.dying&&event.dying!=player&&event.dying.hp<=0&&event.dying.hasZhuSkill('starhaoshou')&&player.group=='qun';
},
filterCard:function(card,player){
return get.name(card)=='jiu';
},
check:()=>1,
viewAs:{name:'tao'},
position:'hes',
prompt:function(){
return '将一张【酒】当作【桃】对'+get.translation(_status.event.dying)+'使用';
},
ai:{
save:true,
skillTagFilter:function(player,arg,target){
if(!player.countCards('hes',card=>{
if(get.position(card)=='h'&&_status.connectMode) return true;
return get.name(card)=='jiu';
})||player==target||!target.hasSkill('starhaoshou')||player.group!='qun') return false;
},
},
},
},
},
//星袁术
starcanxi:{
audio:2,
@ -10991,6 +11160,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){
starpizhi_info:'锁定技。①一名角色死亡后若你拥有该角色对应的“玺角”标记你失去之并摸X张牌。②结束阶段你摸X张牌。X为你本局游戏失去的“玺角”标记数',
starzhonggu:'冢骨',
starzhonggu_info:'主公技,锁定技。摸牌阶段,若游戏轮数大于等于场上的群势力角色数,则你额外摸两张牌,否则你少摸一张牌。',
star_dongzhuo:'星董卓',
star_dongzhuo_prefix:'星',
starweilin:'威临',
starweilin_info:'锁定技。当你于回合内对一名其他角色造成伤害时,若其本回合未受到过伤害,且你本回合使用的牌数大于等于其体力值,则此伤害+1。',
starzhangrong:'掌戎',
starzhangrong_info:'准备阶段你可以选择令至多X名体力值大于等于你的角色各失去1点体力或令至多X名手牌数大于等于你的角色各弃置一张手牌。若如此做你摸等同于选择角色数的牌且本回合结束时若这些角色中存在本回合未受到过伤害的角色则你失去1点体力。',
starhaoshou:'豪首',
//starhaoshou_info:'主公技。①其他群势力角色使用【酒】结算完毕后其可以令你回复1点体力。②当你处于濒死状态时其他群势力角色可以将【酒】当作【桃】对你使用。',
starhaoshou_info:'主公技。其他群势力角色使用【酒】结算完毕后其可以令你回复1点体力。。',
sp_whlw:"文和乱武",
sp_zlzy:"逐鹿中原",

View File

@ -8590,14 +8590,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
filter:function(event,player){
if(!event.isFirstTarget||!get.tag(event.card,'damage')) return false;
return !player.hasSkillTag('noCompareSource')&&game.hasPlayer(target=>{
return target!=player&&target.countCards('h')>0&&!target.hasSkillTag('noCompareTarget');
return player.canCompare(target,true);
});
},
direct:true,
content:function(){
'step 0'
player.chooseTarget(get.prompt2('twzhenhu'),[1,3],function(card,player,target){
return target!=player&&target.countCards('h')>0&&!target.hasSkillTag('noCompareTarget');
return player.canCompare(target,true);
}).set('ai',function(target){
var player=_status.event.player,targets=_status.event.getTrigger().targets;
var num=0;

View File

@ -4,6 +4,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
name:'xianding',
connect:true,
character:{
zhangjian:['male','qun',105,['dc_zj_a','dc_zj_b']],
zhugeruoxue:['female','wei',3,['dcqiongying','dcnuanhui']],
caoyi:['female','wei',4,['dcmiyi','dcyinjun']],
malingli:['female','shu',3,['dclima','dcxiaoyin','dchuahuo']],
@ -100,11 +101,71 @@ game.import('character',function(lib,game,ui,get,ai,_status){
sp2_jichu:['zhaoang','dc_liuye','dc_wangyun','yanghong','huanfan','xizheng'],
sp2_yuxiu:['dongguiren','dc_tengfanglan','zhangjinyun','zhoubuyi','dc_xujing'],
sp2_qifu:['dc_guansuo','xin_baosanniang','dc_zhaoxiang'],
sp2_gaoshan:['wanglang','liuhui'],
sp2_gaoshan:['wanglang','liuhui','zhangjian'],
sp2_wumiao:['wu_zhugeliang','wu_luxun'],
}
},
skill:{
//张臶
dc_zj_a:{
audio:2,
trigger:{player:'damageBegin2'},
filter:function(event,player){
return event.getParent().type=='card';
},
forced:true,
content:function(){
var num=get.number(trigger.card);
if(typeof num=='number'&&num>0) trigger.num=num;
else trigger.cancel();
},
ai:{
effect:{
target:function(card,player,target,current){
if(get.tag(card,'damage')&&typeof get.number(card)!='number') return 'zeroplayertarget';
},
},
},
},
dc_zj_b:{
audio:2,
trigger:{player:'phaseJieshuBegin'},
filter:function(event,player){
return player.countDiscardableCards(player,'he');
},
direct:true,
content:function*(event,map){
var player=map.player;
var result=yield player.chooseTarget(get.prompt2('dc_zj_b'),lib.filter.notMe).set('ai',target=>{
var player=_status.event.player;
if(!player.hasFriend()) return 0;
return -game.countPlayer(current=>current.inRange(target)&&get.attitude(current,target)<0&&get.damageEffect(target,current,current)>0);
});
if(result.bool){
var target=result.targets[0];
player.logSkill('dc_zj_b',target);
player.discard(player.getCards('he')).discarder=player;
target.addSkill('dc_zj_a');
target.addSkill('dc_zj_b_threaten');
player.when('phaseBegin').then(()=>{
if(target.isIn()){
target.removeSkill('dc_zj_a');
target.removeSkill('dc_zj_b_threaten');
}
}).vars({target:target});
}
},
subSkill:{
//定要将你赶尽杀绝
threaten:{
charlotte:true,
mark:true,
marktext:'噩',
intro:{content:'已经开始汗流浃背了'},
ai:{threaten:114514*1919810},
},
},
},
//诸葛若雪
dcqiongying:{
audio:2,
@ -12693,6 +12754,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
},
characterIntro:{
zhangjian:'张臶136年240年字子明钜鹿人。汉末三国时期隐士、音乐家精通谶纬之学。张臶生活的年代从东汉一直到曹魏齐王时期受到朝廷多次征召一直回避不愿做官。他活了一百零五岁是三国时期有可靠记载的最长寿的人之一。',
puyuan:'蒲元是三国时蜀汉杰出的工匠。为诸葛亮造刀三千口,并且制作木牛流马。后来姜维为他写过两部传记《蒲元传》《蒲元别传》。',
guanlu:"管辂209年256年字公明平原今山东德州平原县人。三国时期曹魏术士。年八九岁便喜仰观星辰。成人后精通《周易》善于卜筮、相术习鸟语相传每言辄中出神入化。体性宽大常以德报怨。正元初为少府丞。北宋时被追封为平原子。管辂是历史上著名的术士被后世奉为卜卦观相的祖师。",
gexuan:"葛玄164年-244年汉族吴丹阳郡句容县都乡吉阳里人今句容市祖籍山东琅琊三国著名高道道教灵宝派祖师。字孝先号仙翁被尊称为“葛天师”。道教尊为葛仙翁又称太极仙翁与张道陵、许逊、萨守坚共为四大天师。为汉下邳僮侯葛艾后裔祖葛矩安平太守黄门郎从祖葛弥豫章第五郡太守。父葛焉字德儒州主簿山阴令散骑常侍大尚书。随左慈学道得《太清丹经》、《黄帝九鼎神丹经》、《金液丹经》等道经。曾采药海山吴嘉禾二年233年在閤皂山修道建庵筑坛立炉修炼九转金丹。喜好遨游山川去过括苍山、南岳山、罗浮山。编撰《灵宝经诰》精研上清、灵宝等道家真经并嘱弟子世世箓传。",
@ -13319,6 +13381,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
dcqiongying_info:'出牌阶段限一次。你可以移动场上的一张牌,然后你弃置一张与此牌花色相同的手牌(若没有该花色的手牌则改为展示所有手牌)。',
dcnuanhui:'暖惠',
dcnuanhui_info:'结束阶段你可以选择一名装备区有牌的角色其可以视为依次使用X张基本牌X为其装备区牌数。若其以此法使用了至少两张牌其弃置装备区里的所有牌。',
zhangjian:'张臶',
dc_zj_a:'技能',
dc_zj_a_info:'锁定技。当你受到牌造成的伤害时,若此牌有点数,则你将此伤害值改为此牌点数,否则你防止此伤害。',
dc_zj_b:'技能',
dc_zj_b_info:'结束阶段,你可以弃置所有牌并令一名其他角色获得〖技能〗直到你的下个回合开始。',
sp2_yinyu:'隐山之玉',
sp2_huben:'百战虎贲',

View File

@ -44,7 +44,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
zhuran:['male','wu',4,['danshou']],
xusheng:['male','wu',4,['xinpojun']],
wuguotai:['female','wu',3,['ganlu','buyi']],
lingtong:['male','wu',4,['olxuanfeng']],
lingtong:['male','wu',4,['xuanfeng']],
liubiao:['male','qun',3,['rezishou','zongshi']],
yufan:['male','wu',3,['zhiyan','zongxuan']],
chengong:['male','qun',3,['mingce','zhichi']],
@ -2681,10 +2681,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return !player.hasSkill('xintaoluan3')&&player.countCards('hes',card=>lib.inpile.some(name=>{
if(player.getStorage('xintaoluan').includes(name)) return false;
if(get.type(name)!='basic'&&get.type(name)!='trick') return false;
if(event.filterCard({name:name,isCard:true,cards:[card]})) return true;
if(event.filterCard({name:name,isCard:true,cards:[card]},player,event)) return true;
if(name=='sha'){
for(var nature of lib.inpile_nature){
if(event.filterCard({name:name,nature:nature,isCard:true,cards:[card]})) return true;
if(event.filterCard({name:name,nature:nature,isCard:true,cards:[card]},player,event)) return true;
}
}
return false;
@ -5263,10 +5263,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return !player.hasSkill('taoluan3')&&player.countCards('hes',card=>lib.inpile.some(name=>{
if(player.getStorage('taoluan').includes(name)) return false;
if(get.type(name)!='basic'&&get.type(name)!='trick') return false;
if(event.filterCard({name:name,isCard:true,cards:[card]})) return true;
if(event.filterCard({name:name,isCard:true,cards:[card]},player,event)) return true;
if(name=='sha'){
for(var nature of lib.inpile_nature){
if(event.filterCard({name:name,nature:nature,isCard:true,cards:[card]})) return true;
if(event.filterCard({name:name,nature:nature,isCard:true,cards:[card]},player,event)) return true;
}
}
return false;
@ -13916,7 +13916,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
gaoshun:['gaoshun','xin_gaoshun','re_gaoshun','old_gaoshun'],
zhonghui:['zhonghui','xin_zhonghui','re_zhonghui','old_zhonghui','pe_zhonghui'],
wangyi:['wangyi','re_wangyi','old_wangyi'],
caozhang:['caozhang','re_caozhang','xin_caozhang'],
caozhang:['caozhang','ol_caozhang','re_caozhang','xin_caozhang'],
guanzhang:['guanzhang','re_guanzhang','old_guanzhang'],
madai:['old_madai','re_madai','tw_madai','madai'],
liaohua:['liaohua','re_liaohua','xin_liaohua'],

View File

@ -22385,9 +22385,9 @@ new Promise(resolve=>{
next.setContent('swapEquip');
return next;
}
canCompare(target){
canCompare(target,goon,bool){
if(this==target) return false;
if(!this.countCards('h')||!target.countCards('h')) return false;
if((!this.countCards('h')&&goon!==true)||(!target.countCards('h')&&bool!==true)) return false;
if(this.hasSkillTag('noCompareSource')||target.hasSkillTag('noCompareTarget')) return false;
return true;
}
@ -36139,6 +36139,18 @@ new Promise(resolve=>{
* @returns {string}
*/
getSpan:()=>`${get.prefixSpan('OL')}${get.prefixSpan('界')}`
}],
['OL谋',{
/**
* @returns {string}
*/
getSpan:()=>`${get.prefixSpan('OL')}${get.prefixSpan('谋')}`
}],
['新杀谋',{
/**
* @returns {string}
*/
getSpan:()=>`${get.prefixSpan('新杀')}${get.prefixSpan('谋')}`
}]
]),
groupnature:{

View File

@ -3,11 +3,12 @@ window.noname_package={
standard:'标准',
refresh:'界限突破',
shenhua:'神话再临',
xinghuoliaoyuan:'星火燎原',
yijiang:'一将成名',
sp:'璀璨星河',
onlyOL:'OL专属',
yingbian:'文德武备',
clan:'门阀士族',
xinghuoliaoyuan:'星火燎原',
huicui:'群英荟萃',
xianding:'限定专属',
sp2:'系列专属',

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

View File

@ -150,12 +150,12 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
else lib.character[i][1]='qun';
}
}
lib.characterReplace={};
//lib.characterReplace={};
},_status.mode,_status.separatism);
game.randomMapOL();
}
else{
lib.characterReplace={};
//lib.characterReplace={};
for(var i=0;i<game.players.length;i++){
game.players[i].node.name.hide();
game.players[i].node.name2.hide();