都给爷拉去通渠
This commit is contained in:
parent
966542c1ab
commit
cec25c6be1
|
@ -276,7 +276,8 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
value:[8,6.5,5,4],
|
||||
},
|
||||
result:{
|
||||
target:function(player,target){
|
||||
target:2,
|
||||
target_use:function(player,target){
|
||||
// if(player==target&&player.hp<=0) return 2;
|
||||
if(player.hasSkillTag('nokeep',true,null,true)) return 2;
|
||||
var nd=player.needsToDiscard();
|
||||
|
|
|
@ -8,11 +8,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
mobile:{
|
||||
mobile_default:["miheng","taoqian","lingcao","sunru","lifeng","zhuling","liuye","zhaotongzhaoguang","majun","simazhao","wangyuanji","pangdegong","shenpei","hujinding","zhangyì","jiakui","yangbiao","chendeng","dongcheng","yangyi","dengzhi","zhengxuan","sp_sufei"],
|
||||
mobile_yijiang:["yj_zhanghe","yj_zhangliao","yj_xuhuang","yj_ganning"],
|
||||
mobile_others:["re_jikang","old_bulianshi","old_yuanshu","re_wangyun","re_baosanniang","re_weiwenzhugezhi","re_zhanggong","re_xugong","xin_yuanshao","re_liushan","xin_xiahoudun","re_sp_zhugeliang","re_heqi","re_guanqiujian","re_pangtong","old_liuzan","xin_chengpu","re_sunjian","re_xusheng"],
|
||||
mobile_others:["re_jikang","old_bulianshi","old_yuanshu","re_wangyun","re_baosanniang","re_weiwenzhugezhi","re_zhanggong","re_xugong","xin_yuanshao","re_liushan","xin_xiahoudun","re_sp_zhugeliang","re_heqi","re_guanqiujian","re_pangtong","old_liuzan","xin_chengpu","re_sunjian","re_xusheng","re_dongzhuo"],
|
||||
mobile_sunben:["re_sunben"],
|
||||
},
|
||||
},
|
||||
character:{
|
||||
re_dongzhuo:['male','qun',8,['rejiuchi','roulin','benghuai','baonue'],['zhu']],
|
||||
re_xusheng:['male','wu',4,['repojun']],
|
||||
sp_sufei:['male','qun',4,['zhengjian','gaoyuan']],
|
||||
yj_zhangliao:['male','qun',4,['weifeng']],
|
||||
|
@ -285,6 +286,25 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
characterFilter:{},
|
||||
skill:{
|
||||
rejiuchi:{
|
||||
group:['jiuchi'],
|
||||
audioname:['re_dongzhuo'],
|
||||
trigger:{source:'damage'},
|
||||
forced:true,
|
||||
popup:false,
|
||||
locked:false,
|
||||
audio:'jiuchi',
|
||||
filter:function(event,player){
|
||||
return event.card&&event.card.name=='sha'&&event.getParent(2).jiu==true&&!player.hasSkill('rejiuchi_air');
|
||||
},
|
||||
content:function(){
|
||||
player.logSkill('jiuchi');
|
||||
player.addTempSkill('rejiuchi_air');
|
||||
},
|
||||
subSkill:{
|
||||
air:{},
|
||||
},
|
||||
},
|
||||
//苏飞,新贾逵
|
||||
tongqu:{
|
||||
audio:'zhongzuo',
|
||||
|
@ -1474,37 +1494,22 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
zhouxuan:{
|
||||
audio:2,
|
||||
trigger:{player:'phaseJieshuBegin'},
|
||||
direct:true,
|
||||
enable:'phaseUse',
|
||||
usable:1,
|
||||
filter:function(event,player){
|
||||
return player.countCards('he')>0;
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
player.chooseCardTarget({
|
||||
prompt:get.prompt2('zhouxuan'),
|
||||
filterCard:lib.filter.cardDiscardable,
|
||||
filterCard:true,
|
||||
filterTarget:lib.filter.notMe,
|
||||
position:'he',
|
||||
ai1:function(card){
|
||||
check:function(card){
|
||||
return 6-get.value(card);
|
||||
},
|
||||
ai2:function(target){
|
||||
var player=_status.event.player;
|
||||
if(get.attitude(player,target)>0) return Math.max(1,target.hp)*target.countCards('h',function(card){
|
||||
return target.getUseValue(card)>0;
|
||||
});
|
||||
return 0;
|
||||
},
|
||||
});
|
||||
'step 1'
|
||||
if(result.bool){
|
||||
player.logSkill('zhouxuan',result.targets[0]);
|
||||
player.discard(result.cards);
|
||||
content:function(){
|
||||
'step 0'
|
||||
player.addSkill('zhouxuan2');
|
||||
result.targets[0].addTempSkill('zhouxuan_ai',{player:'phaseUseAfter'});
|
||||
target.addTempSkill('zhouxuan_ai',{player:'phaseUseAfter'});
|
||||
player.storage.zhouxuan2={};
|
||||
player.storage.zhouxuan2.player=result.targets[0];
|
||||
player.storage.zhouxuan2.player=target;
|
||||
var list=[];
|
||||
var basic=[];
|
||||
for(var i=0;i<lib.inpile.length;i++){
|
||||
|
@ -1534,13 +1539,22 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
if(map.tao) return 'tao';
|
||||
return 0;
|
||||
});
|
||||
}
|
||||
else event.finish();
|
||||
'step 2'
|
||||
'step 1'
|
||||
player.storage.zhouxuan2.card=result.control;
|
||||
if(event.basic.contains(result.control)) player.storage.zhouxuan2.isbasic=true;
|
||||
player.markSkill('zhouxuan2');
|
||||
},
|
||||
ai:{
|
||||
order:1,
|
||||
result:{
|
||||
player:function(player,target){
|
||||
if(get.attitude(player,target)>0) return Math.max(1,target.hp)*target.countCards('h',function(card){
|
||||
return target.getUseValue(card)>0;
|
||||
});
|
||||
return 0;
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
zhouxuan_ai:{
|
||||
mod:{
|
||||
|
@ -5140,6 +5154,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
}).set('ai',function(card){
|
||||
var player=_status.event.player;
|
||||
if(player.hasUseTarget(card)&&!player.hasValueTarget(card)) return 0;
|
||||
if(['sha','shan','wuxie','caochuan'].contains(card.name)) return 2+Math.random();
|
||||
return 1+Math.random();
|
||||
}).set('complexCard',true);
|
||||
'step 1'
|
||||
|
@ -5284,14 +5299,21 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
popup:false,
|
||||
filter:function(event,player){
|
||||
var evt=event.getParent();
|
||||
return evt&&evt.player==player&&evt.skill&&evt.skill.indexOf('gnjinfan')==0;
|
||||
return evt&&evt.player==player&&player!=_status.currentPhase&&evt.skill&&evt.skill.indexOf('gnjinfan')==0;
|
||||
},
|
||||
content:function(){
|
||||
var suit=get.suit(trigger.cards[0]);
|
||||
'step 0'
|
||||
event.cards=trigger.cards.slice(0);
|
||||
'step 1'
|
||||
var suit=get.suit(cards[0]);
|
||||
cards.shift();
|
||||
var card=get.cardPile2(function(cardx){
|
||||
return get.suit(cardx)==suit;
|
||||
});
|
||||
if(card) player.gain(card,'gain2','log');
|
||||
if(cards.length) event.redo();
|
||||
'step 2'
|
||||
game.delayx();
|
||||
},
|
||||
},
|
||||
gnjinfan7:{
|
||||
|
@ -5591,7 +5613,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
chendeng:'陈登',
|
||||
zhouxuan:'周旋',
|
||||
zhouxuan2:'周旋',
|
||||
zhouxuan_info:'结束阶段,你可以弃置一张牌并指定一名角色,然后选择一个基本牌的名称或非基本牌的类型。其使用或打出下一张牌时,若此牌的名称或类型和你选择的相同,则你观看牌堆顶的三张牌,然后将这些牌分配给任意角色。',
|
||||
zhouxuan_info:'出牌阶段限一次,你可以弃置一张牌并指定一名角色,然后选择一个基本牌的名称或非基本牌的类型。其使用或打出下一张牌时,若此牌的名称或类型和你选择的相同,则你观看牌堆顶的三张牌,然后将这些牌分配给任意角色。',
|
||||
fengji:'丰积',
|
||||
fengji_info:'锁定技,回合结束时,你记录你的手牌数。回合开始时,若你的手牌数不小于你记录的手牌数,则你摸两张牌且本回合手牌上限为体力上限。',
|
||||
re_guanqiujian:'手杀毌丘俭',
|
||||
|
@ -5653,7 +5675,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
gnjinfan6:'锦帆',
|
||||
gnjinfan7:'锦帆',
|
||||
gnjinfan4_backup:'锦帆',
|
||||
gnjinfan_info:'弃牌阶段开始时,你可将任意张手牌置于武将牌上,称为“铃”(每种花色的“铃”限一张)。当你需要使用或打出一张手牌时,你可以使用或打出一张“铃”。当有“铃”移动到处理区后,你从牌堆中获得与此次移动到第一张“铃”花色相同的一张牌。',
|
||||
gnjinfan_info:'弃牌阶段开始时,你可将任意张手牌置于武将牌上,称为“铃”(每种花色的“铃”限一张)。当你需要使用或打出一张手牌时,你可以使用或打出一张“铃”。你的回合外,当有“铃”移动到处理区后,你从牌堆中获得与此次移动到第一张“铃”花色相同的一张牌。',
|
||||
gnsheque:'射却',
|
||||
gnsheque_info:'一名其他角色的准备阶段开始时,若其装备区内有牌,则你可以对其使用一张【杀】(无距离关系的限制且无视防具)。',
|
||||
sp_sufei:'SP苏飞',
|
||||
|
@ -5668,6 +5690,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
xinwanlan:'挽澜',
|
||||
xinwanlan_info:'当有角色受到伤害时,若伤害点数大于其体力值,则你可以弃置所有非基本牌(至少两张)并防止此伤害。',
|
||||
re_xusheng:'手杀徐盛',
|
||||
re_dongzhuo:'手杀董卓',
|
||||
rejiuchi:'酒池',
|
||||
rejiuchi_info:'你可以将一张黑桃手牌当做【酒】使用。锁定技,当你于回合内使用带有【酒】效果的【杀】造成伤害时,你令你的【崩坏】失效直到回合结束。',
|
||||
}
|
||||
};
|
||||
});
|
||||
|
|
|
@ -7,10 +7,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
refresh_standard:["re_caocao","re_simayi","re_guojia","re_lidian","re_zhangliao","re_xuzhu","re_xiahoudun","re_zhangfei","re_zhaoyun","re_guanyu","re_machao","re_xushu","re_zhouyu","re_lvmeng","re_ganning","re_luxun","re_daqiao","re_huanggai","re_lvbu","re_gongsunzan","re_huatuo","re_liubei","re_diaochan","re_huangyueying","re_sunquan","re_sunshangxiang","re_zhenji","re_zhugeliang","re_huaxiong"],
|
||||
refresh_feng:['caoren','ol_xiahouyuan','re_huangzhong','ol_weiyan','ol_xiaoqiao','zhoutai','re_zhangjiao','xin_yuji'],
|
||||
refresh_huo:["ol_sp_zhugeliang","re_xunyu","re_dianwei","re_yanwen","ol_pangtong","ol_yuanshao","ol_pangde","re_taishici"],
|
||||
refresh_lin:['re_zhurong','re_menghuo','re_dongzhuo','ol_sunjian','re_caopi','re_xuhuang'],
|
||||
refresh_lin:['re_zhurong','re_menghuo','ol_sunjian','re_caopi','re_xuhuang','ol_dongzhuo'],
|
||||
refresh_shan:['re_dengai','re_jiangwei','re_caiwenji','ol_liushan','re_zhangzhang','re_zuoci','re_sunce'],
|
||||
refresh_yijiang1:['re_wuguotai','re_gaoshun','re_caozhi','yujin_yujin','re_lingtong','re_masu','xin_xusheng','xin_fazheng'],
|
||||
refresh_yijiang2:['old_madai','wangyi','guanzhang','re_handang','re_zhonghui','re_liaohua','re_chengpu','re_caozhang'],
|
||||
refresh_yijiang2:['old_madai','wangyi','guanzhang','re_handang','re_zhonghui','re_liaohua','re_chengpu','re_caozhang','re_liubiao'],
|
||||
refresh_yijiang3:['re_jianyong','re_guohuai','re_zhuran'],
|
||||
refresh_yijiang4:['re_sunluban','re_wuyi'],
|
||||
refresh_yijiang5:['re_zhangyi','re_quancong'],
|
||||
|
@ -18,6 +18,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
connect:true,
|
||||
character:{
|
||||
re_liubiao:['male','qun',3,['rezishou','zongshi'],['unseen']],
|
||||
xin_fazheng:['male','shu',3,['xinenyuan','xinxuanhuo'],['die_audio']],
|
||||
wangyi:['female','wei',3,['zhenlie','miji']],
|
||||
old_madai:['male','shu',4,['mashu','qianxi']],
|
||||
|
@ -90,7 +91,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
ol_yuanshao:['male','qun',4,['olluanji','olxueyi'],['zhu']],
|
||||
re_zhurong:['female','shu',4,['juxiang','relieren']],
|
||||
re_menghuo:['male','shu',4,['huoshou','rezaiqi']],
|
||||
re_dongzhuo:['male','qun',8,['rejiuchi','roulin','benghuai','baonue'],['zhu']],
|
||||
ol_dongzhuo:['male','qun',8,['oljiuchi','roulin','benghuai','olbaonue'],['zhu']],
|
||||
ol_sunjian:['male','wu',4,['gzyinghun','wulie']],
|
||||
re_caopi:['male','wei',3,['rexingshang','refangzhu','songwei'],['zhu']],
|
||||
re_dengai:['male','wei',4,['retuntian','zaoxian']],
|
||||
|
@ -116,6 +117,124 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
sunben:['zhouyu','taishici','daqiao'],
|
||||
},
|
||||
skill:{
|
||||
olbaonue:{
|
||||
audio:2,
|
||||
unique:true,
|
||||
zhuSkill:true,
|
||||
trigger:{global:'damageSource'},
|
||||
filter:function(event,player){
|
||||
if(player==event.source||!event.source||event.source.group!='qun') return false;
|
||||
return player.hasZhuSkill('olbaonue',event.source);
|
||||
},
|
||||
direct:true,
|
||||
content:function(){
|
||||
'step 0'
|
||||
event.count=trigger.num;
|
||||
'step 1'
|
||||
event.count--;
|
||||
trigger.source.chooseBool('是否对'+get.translation(player)+'发动【暴虐】?').set('choice',get.attitude(trigger.source,player)>0);
|
||||
'step 2'
|
||||
if(result.bool){
|
||||
player.logSkill('olbaonue');
|
||||
trigger.source.line(player,'green')
|
||||
player.judge(function(card){
|
||||
if(get.suit(card)=='spade') return 4;
|
||||
return 0;
|
||||
});
|
||||
}
|
||||
else{
|
||||
event.finish();
|
||||
}
|
||||
'step 3'
|
||||
if(result.suit=='spade'){
|
||||
player.recover();
|
||||
if(get.position(result.card)=='d') player.gain(result.card,'gain2','log')
|
||||
}
|
||||
if(event.count) event.goto(1);
|
||||
}
|
||||
},
|
||||
rezishou:{
|
||||
audio:'zishou',
|
||||
trigger:{player:'phaseDrawBegin2'},
|
||||
check:function(event,player){
|
||||
return player.countCards('h')<=(player.hasSkill('zongshi')?player.maxHp:(player.hp-2))||player.skipList.contains('phaseUse');
|
||||
},
|
||||
filter:function(event,player){
|
||||
return !event.numFixed;
|
||||
},
|
||||
content:function(){
|
||||
trigger.num+=game.countGroup();
|
||||
player.addTempSkill('rezishou2');
|
||||
},
|
||||
ai:{
|
||||
threaten:1.5
|
||||
}
|
||||
},
|
||||
rezishou2:{
|
||||
audio:'rezishou',
|
||||
trigger:{
|
||||
source:'damageBegin2',
|
||||
player:'phaseJieshuBegin',
|
||||
},
|
||||
forced:true,
|
||||
filter:function(event,player){
|
||||
if(event.name=='damage') return event.player!=player;
|
||||
if(player.getHistory('skipped').contains('phaseUse')) return false;
|
||||
return player.getHistory('useCard',function(evt){
|
||||
if(evt.targets&&evt.targets.length&&evt.isPhaseUsing()){
|
||||
var targets=evt.targets.slice(0);
|
||||
while(targets.contains(player)) targets.remove(player);
|
||||
return targets.length>0;
|
||||
}
|
||||
return false;
|
||||
}).length==0;
|
||||
},
|
||||
popup:false,
|
||||
content:function(){
|
||||
'step 0'
|
||||
if(trigger.name=='damage'){
|
||||
player.logSkill('rezishou',trigger.player);
|
||||
trigger.cancel();
|
||||
event.finish();
|
||||
return;
|
||||
}
|
||||
else{
|
||||
var filterTarget=function(card,player,target){
|
||||
return target!=player&&target.countCards('e',function(card){
|
||||
return player.isEmpty(get.subtype(card));
|
||||
});
|
||||
}
|
||||
if(game.hasPlayer(function(current){
|
||||
return filterTarget(null,player,current)
|
||||
})) player.chooseTarget(filterTarget,'是否将一名其他角色装备区内的一张牌移动到自己的装备区?');
|
||||
else event.finish();
|
||||
}
|
||||
'step 1'
|
||||
if(result.bool){
|
||||
var target=result.targets[0];
|
||||
event.target=target;
|
||||
player.logSkill('rezishou',target);
|
||||
player.choosePlayerCard(target,'e','将一张装备牌移至你的装备区').set('filterButton',function(button){
|
||||
return _status.event.player.isEmpty(get.subtype(button.link));
|
||||
});
|
||||
}
|
||||
else event.finish();
|
||||
"step 2"
|
||||
if(result&&result.links&&result.links.length){
|
||||
game.delay(2);
|
||||
target.$give(result.links[0],player,false);
|
||||
player.equip(result.links[0]);
|
||||
player.addExpose(0.2);
|
||||
}
|
||||
},
|
||||
ai:{
|
||||
effect:{
|
||||
player:function(card,player,target){
|
||||
if(get.tag(card,'damage')) return 'zeroplayertarget';
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
decadepojun:{
|
||||
shaRelated:true,
|
||||
audio:2,
|
||||
|
@ -155,7 +274,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
if(discard){
|
||||
event.equip=true;
|
||||
player.chooseButton(['选择一张牌置入弃牌堆',cards],true).set('ai',function(button){
|
||||
player.chooseButton(['选择一张牌置入弃牌堆',cards.filter(function(card){
|
||||
return get.type(card)=='equip';
|
||||
})],true).set('ai',function(button){
|
||||
return get.value(button.link,_status.event.getTrigger().target);
|
||||
});
|
||||
}
|
||||
|
@ -653,8 +774,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
ai:{
|
||||
effect:{
|
||||
target:function(card,player){
|
||||
if(get.tag(card,'respond')&&player.countCards('h')>1) return [1,0.2];
|
||||
target:function(card,player,target){
|
||||
if(get.tag(card,'respond')&&target.countCards('h')>1) return [1,0.2];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1987,11 +2108,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
return 0;
|
||||
}
|
||||
},
|
||||
effect:{
|
||||
target:function(card,player,target){
|
||||
if(target.hp==target.maxHp&&get.tag(card,'damage')) return 0.2;
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
sishu:{
|
||||
|
@ -3441,8 +3557,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
ai:{
|
||||
effect:{
|
||||
target:function (card,player){
|
||||
if(get.tag(card,'respond')&&player.countCards('h')>1) return [1,0.2];
|
||||
target:function (card,player,target){
|
||||
if(get.tag(card,'respond')&&target.countCards('h')>1) return [1,0.2];
|
||||
},
|
||||
},
|
||||
},
|
||||
|
@ -5502,8 +5618,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
ai:{
|
||||
effect:{
|
||||
target:function(card,player){
|
||||
if(get.tag(card,'respond')&&player.countCards('h')>1) return [1,0.2];
|
||||
target:function(card,player,target){
|
||||
if(get.tag(card,'respond')&&target.countCards('h')>1) return [1,0.2];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -5793,6 +5909,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
if(!result.bool){
|
||||
trigger.getParent().directHit.add(trigger.target);
|
||||
}
|
||||
},
|
||||
ai:{
|
||||
ignoreSkill:true,
|
||||
skillTagFilter:function(player,tag,arg){
|
||||
if(!arg||arg.isLink||!arg.card||arg.card.name!='sha') return false;
|
||||
if(!arg.target||get.attitude(player,arg.target)>=0) return false;
|
||||
if(!arg.skill||!lib.skill[arg.skill]||lib.skill[arg.skill].charlotte||get.is.locked(arg.skill)||!arg.target.getSkills(true,false).contains(arg.skill)) return false;
|
||||
},
|
||||
}
|
||||
},
|
||||
reyicong:{
|
||||
|
@ -6513,7 +6637,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
effect:{
|
||||
target:function (card,player,target){
|
||||
if(get.tag(card,'damage')){
|
||||
if(player.hasSkillTag('jueqing',false,target)) return [1,-2];
|
||||
if(player.hasSkillTag('jueqing',false,target)) return [1,-1.5];
|
||||
if(target.hp<=1) return;
|
||||
if(!target.hasFriend()) return;
|
||||
var hastarget=false;
|
||||
|
@ -6566,31 +6690,46 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
game.delay();
|
||||
},
|
||||
},
|
||||
rejiuchi:{
|
||||
group:['jiuchi'],
|
||||
audioname:['re_dongzhuo'],
|
||||
trigger:{source:'damage'},
|
||||
forced:true,
|
||||
popup:false,
|
||||
locked:false,
|
||||
oljiuchi:{
|
||||
mod:{
|
||||
cardUsable:function(card,player,num){
|
||||
if(card.name=='jiu') return Infinity;
|
||||
},
|
||||
},
|
||||
audio:'jiuchi',
|
||||
audioname:['ol_dongzhuo'],
|
||||
enable:'chooseToUse',
|
||||
filterCard:function(card){
|
||||
return get.suit(card)=='spade';
|
||||
},
|
||||
viewAs:{name:'jiu'},
|
||||
viewAsFilter:function(player){
|
||||
if(!player.countCards('h',{suit:'spade'})) return false;
|
||||
return true;
|
||||
},
|
||||
prompt:'将一张黑桃手牌当酒使用',
|
||||
check:function(card){
|
||||
if(_status.event.type=='dying') return 1;
|
||||
return 4-get.value(card);
|
||||
},
|
||||
ai:{
|
||||
skillTagFilter:function(player){
|
||||
return player.countCards('h',{suit:'spade'})>0&&player.hp<=0;
|
||||
},
|
||||
threaten:1.5,
|
||||
save:true,
|
||||
},
|
||||
trigger:{source:'damageEnd'},
|
||||
forced:true,
|
||||
filter:function(event,player){
|
||||
return event.card&&event.card.name=='sha'&&event.getParent(2).jiu==true&&!player.hasSkill('rejiuchi_air');
|
||||
if(event.name=='chooseToUse') return player.countCards('h',{suit:'spade'})>0;
|
||||
return event.card&&event.card.name=='sha'&&event.getParent(2).jiu==true&&!player.hasSkill('oljiuchi_air');
|
||||
},
|
||||
content:function(){
|
||||
player.logSkill('jiuchi');
|
||||
player.addTempSkill('rejiuchi_air');
|
||||
player.addTempSkill('oljiuchi_air');
|
||||
},
|
||||
subSkill:{
|
||||
air:{
|
||||
sub:true,
|
||||
init:function(player,skill){
|
||||
player.disableSkill(skill,'benghuai');
|
||||
},
|
||||
onremove:function(player,skill){
|
||||
player.enableSkill(skill);
|
||||
},
|
||||
},
|
||||
air:{},
|
||||
},
|
||||
},
|
||||
relieren:{
|
||||
|
@ -6942,11 +7081,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
rexinsheng_info:'当你受到1点伤害后,你可以获得一张新的化身牌。',
|
||||
re_zhurong:'界祝融',
|
||||
re_menghuo:'界孟获',
|
||||
re_dongzhuo:'界董卓',
|
||||
re_sunjian:'手杀孙坚',
|
||||
re_caopi:'界曹丕',
|
||||
rejiuchi:'酒池',
|
||||
rejiuchi_info:'你可以将一张黑桃手牌当做【酒】使用。锁定技,当你于回合内使用带有【酒】效果的【杀】造成伤害时,你令你的【崩坏】失效直到回合结束。',
|
||||
oljiuchi:'酒池',
|
||||
oljiuchi_info:'你可以将一张黑桃手牌当做【酒】使用。锁定技,你使用【酒】无次数限制,且当你于回合内使用带有【酒】效果的【杀】造成伤害后,你令你的【崩坏】失效直到回合结束。',
|
||||
repolu:'破虏',
|
||||
repolu_info:'当你杀死一名角色/死亡时,你可以令任意名角色摸X+1张牌。(X为你此前发动过【破虏】的次数)',
|
||||
rexingshang:'行殇',
|
||||
|
@ -7066,11 +7204,18 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
xin_xusheng:'界徐盛',
|
||||
decadepojun:'破军',
|
||||
decadepojun2:'破军',
|
||||
decadepojun_info:'当你使用【杀】指定目标后,你可以将其的至多X张牌置于其武将牌上(X为其体力值)。若这些牌中:有装备牌,你将这些牌中的一张置于弃牌堆;有锦囊牌,你摸一张牌。其于回合结束时获得其武将牌上的这些牌。',
|
||||
decadepojun_info:'当你使用【杀】指定目标后,你可以将其的至多X张牌置于其武将牌上(X为其体力值)。若这些牌中:有装备牌,你将这些装备牌中的一张置于弃牌堆;有锦囊牌,你摸一张牌。其于回合结束时获得其武将牌上的这些牌。',
|
||||
old_madai:'界马岱',
|
||||
wangyi:'界王异',
|
||||
guanzhang:'界关兴张苞',
|
||||
xin_fazheng:'界法正',
|
||||
re_liubiao:'界刘表',
|
||||
rezishou:'自守',
|
||||
rezishou2:'自守',
|
||||
rezishou_info:'摸牌阶段,你可以多摸X张牌,然后本回合你对其他角色造成伤害时,防止此伤害。结束阶段,若你本回合没有使用牌指定其他角色为目标,你可以将场上一张装备牌移动到自己的装备区。(X为场上势力数)',
|
||||
ol_dongzhuo:'界董卓',
|
||||
olbaonue:'暴虐',
|
||||
olbaonue_info:'主公技,其他群雄角色造成1点伤害后,其可进行判定,若为♠,你回复1点体力并获得判定牌。',
|
||||
|
||||
refresh_standard:'界限突破·标',
|
||||
refresh_feng:'界限突破·风',
|
||||
|
|
|
@ -4684,7 +4684,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
roulin:{
|
||||
audio:2,
|
||||
audioname:['re_dongzhuo'],
|
||||
audioname:['re_dongzhuo','ol_dongzhuo'],
|
||||
trigger:{player:'useCardToPlayered',target:'useCardToTargeted'},
|
||||
forced:true,
|
||||
filter:function(event,player){
|
||||
|
@ -4711,14 +4711,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
benghuai:{
|
||||
audio:2,
|
||||
audioname:['zhugedan','re_dongzhuo'],
|
||||
audioname:['zhugedan','re_dongzhuo','ol_dongzhuo'],
|
||||
trigger:{player:'phaseJieshuBegin'},
|
||||
forced:true,
|
||||
check:function(){
|
||||
return false;
|
||||
},
|
||||
filter:function(event,player){
|
||||
return !player.isMinHp();
|
||||
return !player.isMinHp()&&!player.hasSkill('rejiuchi_air')&&!player.hasSkill('oljiuchi_air');
|
||||
},
|
||||
content:function(){
|
||||
"step 0"
|
||||
|
|
|
@ -17,6 +17,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
characterFilter:{},
|
||||
character:{
|
||||
//caoshuang:['male','wei',4,['tuogu','shanzhuan']],
|
||||
ol_zhangchangpu:['female','wei',3,['yanjiao','olxingshen']],
|
||||
zhangling:['male','qun',4,['zlhuji','zlshoufu'],['unseen']],
|
||||
caiyang:['male','qun',1,['yinka'],['forbidai','unseen']],
|
||||
|
@ -150,6 +151,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
//kaisa:["male","western",4,["zhengfu"]],
|
||||
},
|
||||
characterIntro:{
|
||||
caoshuang:'曹爽(?-249年2月9日),字昭伯,沛国谯县(今安徽亳州市)人。三国时期魏国权臣,大司马曹真长子。曹爽体态肥胖,凭借宗室身份,出入宫廷,交好太子曹叡。魏明帝即位,起家员外散骑侍郎,累迁城门校尉、散骑常侍,转武卫将军。太和五年(231年),袭封邵陵侯。景初三年(239年),魏明帝曹叡病危,拜大将军、假黄钺,与司马懿并为托孤大臣。少帝曹芳即位,加侍中,改封武安侯。势倾四海,声震天下。任用私人,专权乱政,侵吞公产。伐蜀失败,虚耗国力。起居逾制,软禁郭太后。正始十年,太傅司马懿发动高平陵政变,掌握魏国大权。曹爽失去大将军职务,以谋反之罪处死,夷灭三族。',
|
||||
zhangling:'张道陵(34年2月22日—156年),字辅汉,原名陵,道教正一道实际创立者,汉朝东汉时期丰邑(今江苏徐州丰县)人。太上老君降临蜀地,“授以三天正法,命为天师”,张道陵整合当时的:黄老派、方仙道、文始派等先秦修道团体,创立道教称正一盟威之道。后世尊称为“老祖天师”、“正一真人”、“三天扶教大法师”、高明上帝、张天师。著作《老子想尔注》,弟子有3000多人,设立24治,奠基天师道。张道陵、葛玄、许逊、萨守坚合称四大天师。张道陵创建道教的背景:当时在巴蜀一带,原有巴人信奉原始巫教,大规模的淫祀而害民。而这些祀奉鬼妖(学名为:妖邪)的法教巫师聚众敛财,无恶不作。张天师携王长、赵升二位弟子和黄帝九鼎丹经,来到北邙山修行,平定了那些祸害百姓的巫妖之教。川渝一带流传的张天师以太上老君剑印符箓大破鬼兵的故事就是以此为原型的。',
|
||||
caiyang:'蔡阳(?-201年),又作蔡扬,东汉丞相曹操部下武将,汝南太守。于建安六年(201)奉曹操之命攻击与刘备联合的汝南贼龚都等人,兵败被刘备所杀。明代小说《三国演义》改编为“云长擂鼓斩蔡阳”。',
|
||||
pujing:'湖北省当阳境内有一座山,名叫玉泉山。东汉建安末年,山上住着一个老和尚,法名普净,普净原来是沂水关镇国寺方丈,后因云游天下,来到此处,风这地方山明水秀,就于山中结草为庵,每天坐禅参道,身边只有一个小和尚,外出化一些斋饭,供养师父。在《三国演义》中,当关羽通过汜水关时,正是由于普净提醒,关羽才揭穿了卞喜的阴谋,并杀死了卞喜。关羽死后,其怨魂亦在普净的指点下醒悟,放下了心中的仇恨,专心致力于造福一方百姓。',
|
||||
|
@ -398,8 +400,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
'step 0'
|
||||
var next=player.draw();
|
||||
if(get.isLuckyStar(player)||Math.random()<0.5) next.num=2;
|
||||
player.storage.olxingshen=player.getDamagedHp();
|
||||
player[player.storage.olxingshen?'markSkill':'unmarkSkill']('olxingshen');
|
||||
var num=player.countMark('olxingshen');
|
||||
if(num<6) player.addMark('olxingshen',Math.max(6-num,player.getDamagedHp()),false)
|
||||
},
|
||||
intro:{
|
||||
content:'下一次发动〖严教〗时多展示X张牌',
|
||||
|
@ -6640,7 +6642,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
xinzhengnan:{
|
||||
audio:'zhengnan',
|
||||
trigger:{global:'dying'},
|
||||
forced:true,
|
||||
frequent:true,
|
||||
filter:function(event,player){
|
||||
return !player.storage.xinzhengnan||!player.storage.xinzhengnan.contains(event.player);
|
||||
},
|
||||
|
@ -14587,7 +14589,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
zhengnan:'征南',
|
||||
zhengnan_info:'其他角色死亡后,你可以摸三张牌并获得下列技能中的任意一个:〖武圣〗、 〖当先〗和〖制蛮〗。',
|
||||
xinzhengnan:'征南',
|
||||
xinzhengnan_info:'锁定技,当一名角色进入濒死状态时,若你未因其发动过〖征南〗,则你回复1点体力并摸一张牌并获得下列技能中的任意一个:〖武圣〗、 〖当先〗和〖制蛮〗(若技能全部拥有则改为摸三张牌。你以此法获得的〖当先〗结算时视为已发动过〖伏枥〗)。',
|
||||
xinzhengnan_info:'当一名角色进入濒死状态时,若你未因其发动过〖征南〗,则你回复1点体力并摸一张牌并获得下列技能中的任意一个:〖武圣〗、 〖当先〗和〖制蛮〗(若技能全部拥有则改为摸三张牌。你以此法获得的〖当先〗结算时视为已发动过〖伏枥〗)。',
|
||||
xiefang:'撷芳',
|
||||
xiefang_info:'锁定技,你计算与其他角色的距离时-X。(X为女性角色数)',
|
||||
qizhi:'奇制',
|
||||
|
@ -14961,7 +14963,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
zlshoufu_info:'出牌阶段限一次,你可摸一张牌,然后将一张手牌置于一名没有【箓】的角色的武将牌上,称为【箓】;其不能使用和打出与【箓】同类型的牌。该角色受伤后,或于弃牌阶段弃置至少2张与【箓】同类型的牌后,将【箓】置入弃牌堆。',
|
||||
ol_zhangchangpu:'OL张昌蒲',
|
||||
olxingshen:'省身',
|
||||
olxingshen_info:'当你受到伤害后,你可以随机摸两张牌。若如此做,你移去所有“省”并获得X个“省”,且下一次发动〖严教〗展示牌时移去所有“省”并多展示等量的牌。(X为你已损失的体力值)',
|
||||
olxingshen_info:'当你受到伤害后,你可以随机摸两张牌。若如此做,你获得X个“省”,且下一次发动〖严教〗展示牌时移去所有“省”并多展示等量的牌。(X为你已损失的体力值,且你至多拥有6个“省”)',
|
||||
caoshuang:'曹爽',
|
||||
tuogu:'托孤',
|
||||
tuogu_info:'限定技,一名角色死亡时,你可以令其选择其武将牌上的一个技能(主公技,限定技,觉醒技等特殊技能除外),然后你获得其选择的技能。',
|
||||
shanzhuan:'擅专',
|
||||
shanzhuan_info:'当你对其他角色造成伤害后,你可以将其判定区的一张牌置于其的判定区。若此牌不为延时锦囊牌且此牌为:红色,此牌视为【乐不思蜀】;黑色,此牌视为【兵粮寸断】。',
|
||||
|
||||
sp_default:"常规",
|
||||
sp_zhongdan:"忠胆英杰",
|
||||
|
|
|
@ -4,6 +4,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
name:'sp2',
|
||||
connect:true,
|
||||
character:{
|
||||
caoxing:['male','qun',4,['cxliushi','zhanwan'],['unseen']],
|
||||
re_maliang:['male','shu',3,['rexiemu','heli'],['unseen']],
|
||||
ol_yujin:['male','wei',4,['rezhenjun']],
|
||||
ol_xinxianying:['female','wei',3,['caishi','zhongjian']],
|
||||
|
@ -58,12 +59,69 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
sp_zizouqi:["mangyachang","xugong","zhangchangpu"],
|
||||
sp_sbfm:["lisu","xinpi","zhangwen"],
|
||||
sp_shengun:["puyuan","guanlu","gexuan","xushao"],
|
||||
sp_baigei:['re_panfeng','xingdaorong'],
|
||||
sp_baigei:['re_panfeng','xingdaorong','caoxing'],
|
||||
sp_guandu:["sp_zhanghe","xunchen","sp_shenpei","gaolan","lvkuanglvxiang","chunyuqiong","sp_xuyou"],
|
||||
sp_decade:['wulan','leitong','huaman','wangshuang','wenyang','liuzan','re_sunluyu','caobuxing','ol_xinxianying','ol_yujin','re_maliang'],
|
||||
}
|
||||
},
|
||||
skill:{
|
||||
cxliushi:{
|
||||
enable:'phaseUse',
|
||||
filter:function(event,player){
|
||||
return player.countCards('he',{suit:'heart'})>0;
|
||||
},
|
||||
filterCard:{suit:'heart'},
|
||||
position:'he',
|
||||
filterTarget:function(card,player,target){
|
||||
return player.canUse('sha',target);
|
||||
},
|
||||
discard:false,
|
||||
prepare:'throw',
|
||||
content:function(){
|
||||
"step 0"
|
||||
cards[0].fix();
|
||||
ui.cardPile.insertBefore(cards[0],ui.cardPile.firstChild);
|
||||
game.updateRoundNumber();
|
||||
player.useCard({name:'sha',isCard:true},false,targets);
|
||||
"step 1"
|
||||
if(target.getHistory('damage',function(evt){
|
||||
var evt2=evt.getParent('useCard');
|
||||
return evt.card==evt2.card&&evt2.getParent()==event;
|
||||
}).length){
|
||||
target.addSkill('cxliushi2');
|
||||
target.addMark('cxliushi2',1,false);
|
||||
}
|
||||
},
|
||||
},
|
||||
cxliushi2:{
|
||||
mod:{
|
||||
maxHandcard:function(player,num){
|
||||
return num-player.countMark('cxliushi2');
|
||||
},
|
||||
},
|
||||
onremove:true,
|
||||
intro:{
|
||||
content:'手牌上限-#',
|
||||
},
|
||||
},
|
||||
zhanwan:{
|
||||
trigger:{global:'phaseDiscardEnd'},
|
||||
forced:true,
|
||||
filter:function(event,player){
|
||||
return event.player.hasSkill('cxliushi2')&&event.player.getHistory('lose',function(evt){
|
||||
if(evt.type=='discard'&&evt.getParent('phaseDiscard')==event) return true;
|
||||
}).length>0;
|
||||
},
|
||||
logTarget:'player',
|
||||
content:function(){
|
||||
trigger.player.removeSkill('cxliushi2');
|
||||
var num=0;
|
||||
trigger.player.getHistory('lose',function(evt){
|
||||
if(evt.type=='discard'&&evt.getParent('phaseDiscard')==trigger) num+=evt.cards2.length;
|
||||
});
|
||||
player.draw(num);
|
||||
},
|
||||
},
|
||||
rexiemu:{
|
||||
audio:2,
|
||||
trigger:{player:'phaseJieshuBegin'},
|
||||
|
@ -1474,7 +1532,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
}).length>0
|
||||
});
|
||||
if(player==target&&bool) player.draw(2);
|
||||
else if(player!=target&&!bool) player.chooseToDiscard('he',2,true);
|
||||
else if(player!=target&&!bool) player.chooseToDiscard('h',2,true);
|
||||
},
|
||||
ai:{
|
||||
order:function(){
|
||||
|
@ -4500,7 +4558,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
'step 1'
|
||||
if(result.bool){
|
||||
player.logSkill('xinfu_bijing');
|
||||
player.showCards(result.cards);
|
||||
//player.showCards(result.cards);
|
||||
player.storage.xinfu_bijing=result.cards[0];
|
||||
}
|
||||
},
|
||||
|
@ -5186,7 +5244,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
"xinfu_tunan":"图南",
|
||||
"xinfu_tunan_info":"出牌阶段限一次,你可以展示牌堆顶的一张牌并选择一名其他角色,然后该角色选择一项:使用此牌(无距离限制);或将此牌当普通【杀】使用。",
|
||||
"xinfu_bijing":"闭境",
|
||||
"xinfu_bijing_info":"结束阶段,你可以展示一张手牌并标记为“闭境”。若你于回合外失去“闭境”牌,则当前回合角色的弃牌阶段开始时,其需弃置两张牌。你的准备阶段,弃置手牌中的“闭境”牌。",
|
||||
"xinfu_bijing_info":"结束阶段,你可以选择一张手牌并标记为“闭境”。若你于回合外失去“闭境”牌,则当前回合角色的弃牌阶段开始时,其需弃置两张牌。你的准备阶段,弃置手牌中的“闭境”牌。",
|
||||
"xinfu_zhenxing":"镇行",
|
||||
"xinfu_zhenxing_info":"结束阶段开始时或当你受到伤害后,你可以观看牌堆顶的至多三张牌,然后你获得其中与其余牌花色均不相同的一张牌。",
|
||||
"xinfu_qianxin":"遣信",
|
||||
|
@ -5357,7 +5415,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
wlcuorui_info:'出牌阶段开始时,你可以弃置你或队友区域里的一张牌。若如此做,你选择一项:1.弃置对手装备区里至多两张与此牌颜色相同的牌;2.展示对手的共计两张手牌,然后获得其中与此牌颜色相同的牌。',
|
||||
re_panfeng:'潘凤',
|
||||
xinkuangfu:'狂斧',
|
||||
xinkuangfu_info:'出牌阶段限一次,你可选择:1,弃置装备区里的一张牌,你使用无对应实体牌的普【杀】。若此【杀】造成伤害,你摸两张牌。2,弃置一名其他角色装备区里的一张牌,你使用无对应实体牌的普【杀】。若此【杀】未造成伤害,你弃置两张牌。',
|
||||
xinkuangfu_info:'出牌阶段限一次,你可选择:1,弃置装备区里的一张牌,你使用无对应实体牌的普【杀】。若此【杀】造成伤害,你摸两张牌。2,弃置一名其他角色装备区里的一张牌,你使用无对应实体牌的普【杀】。若此【杀】未造成伤害,你弃置两张手牌。',
|
||||
xingdaorong:'邢道荣',
|
||||
xuxie:'虚猲',
|
||||
xuxie_info:'出牌阶段开始时,你可以减1点体力上限并选择所有与你距离为1的角色,弃置这些角色的各一张牌或令这些角色各摸一张牌。出牌阶段结束时,若你的体力上限为全场最少,则你加1点体力上限。',
|
||||
|
@ -5423,7 +5481,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
rexiemu_info:'结束阶段,若全场没有“协穆”标记,你可以选择一名角色获得“协穆”标记直到你的下回合开始。你或该角色在各自的回合外使用或打出手牌时,你与其各摸一张牌(每回合限一次)。',
|
||||
heli:'贺励',
|
||||
heli_info:'出牌阶段限一次,你可以选择手牌数比你少的一名其他角色。该角色展示所有手牌,然后每缺少一种类型的牌,便从牌堆中随机获得一张此类型的牌。',
|
||||
|
||||
caoxing:'曹性',
|
||||
cxliushi:'流矢',
|
||||
cxliushi2:'流矢',
|
||||
cxliushi_info:'出牌阶段,你可以将一张红桃牌置于牌堆顶,视为对一名角色使用一张不计入次数的【杀】。若此【杀】造成伤害,该角色手牌上限永久-1。',
|
||||
zhanwan:'斩腕',
|
||||
zhanwan_info:'锁定技,受到【流矢】效果影响的角色若弃牌阶段有弃牌,你摸等量的牌,然后移除【流矢】的效果。',
|
||||
|
||||
sp_whlw:"文和乱武",
|
||||
sp_zlzy:"逐鹿中原",
|
||||
|
|
|
@ -2558,7 +2558,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
return '摸牌';
|
||||
}
|
||||
return 'cancel2';
|
||||
}).set('prompt',get.prompt('new_jiangchi')).set('prompt2',get.translation('new_jiangchi_info'));
|
||||
}).set('prompt',get.prompt2('new_jiangchi'));
|
||||
"step 1"
|
||||
if(result.control=='弃牌'){
|
||||
player.chooseToDiscard(true,'he');
|
||||
|
@ -2567,11 +2567,31 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
else if(result.control=='摸牌'){
|
||||
player.draw();
|
||||
player.addTempSkill('jiangchi3','phaseUseEnd');
|
||||
player.addTempSkill('new_jiangchi3','phaseEnd');
|
||||
player.logSkill('new_jiangchi');
|
||||
}
|
||||
},
|
||||
},
|
||||
new_jiangchi3:{
|
||||
mod:{
|
||||
cardEnabled:function(card){
|
||||
if(card.name=='sha') return false;
|
||||
},
|
||||
cardRespondable:function(card){
|
||||
if(card.name=='sha') return false;
|
||||
},
|
||||
ignoredHandcard:function(card,player){
|
||||
if(get.name(card)=='sha'){
|
||||
return true;
|
||||
}
|
||||
},
|
||||
cardDiscardable:function(card,player,name){
|
||||
if(name=='phaseDiscard'&&get.name(card)=='sha'){
|
||||
return false;
|
||||
}
|
||||
},
|
||||
},
|
||||
},
|
||||
"xinfu_jijie":{
|
||||
enable:"phaseUse",
|
||||
usable:1,
|
||||
|
@ -2793,7 +2813,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
yaowu:'耀武',
|
||||
yaowu_info:'锁定技,一名角色使用红色【杀】对你造成伤害时,该角色回复1点体力或摸一张牌。',
|
||||
"new_jiangchi":"将驰",
|
||||
"new_jiangchi_info":"摸牌阶段结束时,你可以选择一项:1、摸一张牌,若如此做,你本回合内不能使用或打出【杀】。 2、弃置一张牌,若如此做,出牌阶段你使用【杀】无距离限制且你可以额外使用一张【杀】,直到回合结束。",
|
||||
"new_jiangchi_info":"摸牌阶段结束时,你可以选择一项:1、摸一张牌,若如此做,你本回合内不能使用或打出【杀】且【杀】不计入手牌上限。 2、弃置一张牌,若如此做,出牌阶段你使用【杀】无距离限制且你可以额外使用一张【杀】,直到回合结束。",
|
||||
"xinfu_jijie":"机捷",
|
||||
"xinfu_jijie_info":"出牌阶段限一次。你可以观看牌堆底的一张牌,然后将其交给一名角色。",
|
||||
"xinfu_jiyuan":"急援",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
window.noname_asset_list=[
|
||||
'v1.9.103',
|
||||
'v1.9.103.2',
|
||||
'audio/background/aozhan_chaoming.mp3',
|
||||
'audio/background/aozhan_online.mp3',
|
||||
'audio/background/aozhan_rewrite.mp3',
|
||||
|
@ -3235,6 +3235,7 @@ window.noname_asset_list=[
|
|||
'image/character/xin_xusheng.jpg',
|
||||
'image/character/key_kaori.jpg',
|
||||
'image/character/key_shiori.jpg',
|
||||
'image/character/ol_dongzhuo.jpg',
|
||||
|
||||
'image/character/baiwuchang.jpg',
|
||||
'image/character/baosanniang.jpg',
|
||||
|
|
216
game/game.js
216
game/game.js
|
@ -16285,7 +16285,25 @@
|
|||
game.playerMap[this.playerid]=this;
|
||||
return this;
|
||||
},
|
||||
emotion:function(pack,id){
|
||||
var str='<img src="##assetURL##image/emotion/'+pack+'/'+id+'.gif" width="50" height="50">';
|
||||
lib.element.player.say.call(this,str);
|
||||
game.broadcast(function(id,str){
|
||||
if(lib.playerOL[id]){
|
||||
lib.playerOL[id].say(str);
|
||||
}
|
||||
else if(game.connectPlayers){
|
||||
for(var i=0;i<game.connectPlayers.length;i++){
|
||||
if(game.connectPlayers[i].playerid==id){
|
||||
lib.element.player.say.call(game.connectPlayers[i],str);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
},this.playerid,str);
|
||||
},
|
||||
chat:function(str){
|
||||
if(str&&str.indexOf('http')!=-1) return;
|
||||
lib.element.player.say.call(this,str);
|
||||
game.broadcast(function(id,str){
|
||||
if(lib.playerOL[id]){
|
||||
|
@ -25524,6 +25542,29 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
emotion:function(id,pack,emotion){
|
||||
var that=this;
|
||||
if(!this.id||(!lib.playerOL[this.id]&&(!game.connectPlayers||!function(){
|
||||
for(var i=0;i<game.connectPlayers.length;i++){
|
||||
if(game.connectPlayers[i].playerid==that.id){
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}()))) return;
|
||||
var player;
|
||||
if(lib.playerOL[id]){
|
||||
player=lib.playerOL[id];
|
||||
}
|
||||
else if(game.connectPlayers){
|
||||
for(var i=0;i<game.connectPlayers.length;i++){
|
||||
if(game.connectPlayers[i].playerid==id){
|
||||
player=game.connectPlayers[i];break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if(player) lib.element.player.emotion.apply(player,[pack,emotion]);
|
||||
},
|
||||
chat:function(id,str){
|
||||
var that=this;
|
||||
if(!this.id||(!lib.playerOL[this.id]&&(!game.connectPlayers||!function(){
|
||||
|
@ -42907,11 +42948,11 @@
|
|||
}
|
||||
}
|
||||
else{
|
||||
for(var i of game.connectPlayers){
|
||||
var num=0;
|
||||
if(!i.nickname&&!i.classList.contains('unselectable2')) i++;
|
||||
for(var i of game.connectPlayers){
|
||||
if(!i.nickname&&!i.classList.contains('unselectable2')) num++;
|
||||
}
|
||||
if(i>=lib.configOL.number-1){
|
||||
if(num>=lib.configOL.number-1){
|
||||
alert('至少要有两名玩家才能开始游戏!');
|
||||
return;
|
||||
}
|
||||
|
@ -44061,7 +44102,6 @@
|
|||
for(var j=1;j<=lib.emotionList[this.pack];j++){
|
||||
var emotionButton=ui.create.div('.card.fullskin','<img src="'+lib.assetURL+'image/emotion/'+this.pack+'/'+j+'.gif" width="50" height="50">',function(){
|
||||
var player=game.me;
|
||||
var str='<img src="##assetURL##image/emotion/'+this.pack+'/'+this.emotionID+'.gif" width="50" height="50">';
|
||||
if(!player){
|
||||
if(game.connectPlayers){
|
||||
if(game.online){
|
||||
|
@ -44078,10 +44118,10 @@
|
|||
}
|
||||
if(!player) return;
|
||||
if(game.online){
|
||||
game.send('chat',game.onlineID,str);
|
||||
game.send('emotion',game.onlineID,this.pack,this.emotionID);
|
||||
}
|
||||
else{
|
||||
lib.element.player.chat.call(player,str);
|
||||
lib.element.player.emotion.apply(player,[this.pack,this.emotionID]);
|
||||
}
|
||||
});
|
||||
emotionButton.emotionID=j;
|
||||
|
@ -50800,7 +50840,153 @@
|
|||
}
|
||||
return eff;
|
||||
}
|
||||
return get.effect.apply(this,arguments);
|
||||
var result=get.result(card,eventskill);
|
||||
var result1=result.player_use||result.player,result2=result.target_use||result.target;
|
||||
if(typeof result1=='function') result1=result1(player,target,card,isLink);
|
||||
if(typeof result2=='function') result2=result2(player,target,card,isLink);
|
||||
|
||||
if(typeof result1!='number') result1=0;
|
||||
if(typeof result2!='number') result2=0;
|
||||
var temp1,temp2,temp3,temp01=0,temp02=0,threaten=1;
|
||||
var skills1=player.getSkills().concat(lib.skill.global);
|
||||
game.expandSkills(skills1);
|
||||
var zerotarget=false,zeroplayer=false;
|
||||
for(var i=0;i<skills1.length;i++){
|
||||
temp1=get.info(skills1[i]).ai;
|
||||
if(temp1&&typeof temp1.effect=='object'&&typeof temp1.effect.player=='function'){
|
||||
temp1=temp1.effect.player(card,player,target,result1,isLink);
|
||||
}
|
||||
else temp1=undefined;
|
||||
if(typeof temp1=='object'){
|
||||
if(temp1.length==2||temp1.length==4){
|
||||
result1*=temp1[0];
|
||||
temp01+=temp1[1];
|
||||
}
|
||||
if(temp1.length==4){
|
||||
result2*=temp1[2];
|
||||
temp02+=temp1[3];
|
||||
}
|
||||
}
|
||||
else if(typeof temp1=='number'){
|
||||
result1*=temp1;
|
||||
}
|
||||
else if(temp1=='zeroplayer'){
|
||||
zeroplayer=true;
|
||||
}
|
||||
else if(temp1=='zerotarget'){
|
||||
zerotarget=true;
|
||||
}
|
||||
else if(temp1=='zeroplayertarget'){
|
||||
zeroplayer=true;
|
||||
zerotarget=true;
|
||||
}
|
||||
}
|
||||
if(target){
|
||||
var skills2=target.getSkills().concat(lib.skill.global);
|
||||
game.expandSkills(skills2);
|
||||
for(var i=0;i<skills2.length;i++){
|
||||
temp2=get.info(skills2[i]).ai;
|
||||
if(temp2&&temp2.threaten) temp3=temp2.threaten;
|
||||
else temp3=undefined;
|
||||
if(temp2&&typeof temp2.effect=='function'){
|
||||
if(!player.hasSkillTag('ignoreSkill',true,{
|
||||
card:card,
|
||||
target:target,
|
||||
skill:skills2[i],
|
||||
isLink:isLink,
|
||||
})) temp2=temp2.effect(card,player,target,result2,isLink);
|
||||
else temp2=undefined;
|
||||
}
|
||||
else if(temp2&&typeof temp2.effect=='object'&&typeof temp2.effect.target=='function'){
|
||||
if(!player.hasSkillTag('ignoreSkill',true,{
|
||||
card:card,
|
||||
target:target,
|
||||
skill:skills2[i],
|
||||
isLink:isLink,
|
||||
})) temp2=temp2.effect.target(card,player,target,result2,isLink);
|
||||
else temp2=undefined;
|
||||
}
|
||||
else temp2=undefined;
|
||||
if(typeof temp2=='object'){
|
||||
if(temp2.length==2||temp2.length==4){
|
||||
result2*=temp2[0];
|
||||
temp02+=temp2[1];
|
||||
}
|
||||
if(temp2.length==4){
|
||||
result1*=temp2[2];
|
||||
temp01+=temp2[3];
|
||||
}
|
||||
}
|
||||
else if(typeof temp2=='number'){
|
||||
result2*=temp2;
|
||||
}
|
||||
else if(temp2=='zeroplayer'){
|
||||
zeroplayer=true;
|
||||
}
|
||||
else if(temp2=='zerotarget'){
|
||||
zerotarget=true;
|
||||
}
|
||||
else if(temp2=='zeroplayertarget'){
|
||||
zeroplayer=true;
|
||||
zerotarget=true;
|
||||
}
|
||||
if(typeof temp3=='function'&&temp3(player,target)!=undefined){
|
||||
threaten*=temp3(player,target);
|
||||
}
|
||||
else if(typeof temp3=='object'){
|
||||
if(typeof temp3.target=='number'){
|
||||
threaten*=temp3;
|
||||
}
|
||||
else if(typeof temp3.target=='function'&&temp3(player,target)!=undefined){
|
||||
threaten*=temp3(player,target);
|
||||
}
|
||||
}
|
||||
else if(typeof temp3=='number'){
|
||||
threaten*=temp3;
|
||||
}
|
||||
}
|
||||
result2+=temp02;
|
||||
result1+=temp01;
|
||||
if(get.attitude(player,target)<0){
|
||||
result2*=Math.sqrt(threaten);
|
||||
}
|
||||
else{
|
||||
result2*=Math.sqrt(Math.sqrt(threaten));
|
||||
}
|
||||
if(target.hp==1) result2*=2.5;
|
||||
if(target.hp==2) result2*=1.8;
|
||||
if(target.countCards('h')==0){
|
||||
if(get.tag(card,'respondSha')||get.tag(card,'respondShan')){
|
||||
result2*=1.7;
|
||||
}
|
||||
else{
|
||||
result2*=1.5;
|
||||
}
|
||||
}
|
||||
if(target.countCards('h')==1) result2*=1.3;
|
||||
if(target.countCards('h')==2) result2*=1.1;
|
||||
if(target.countCards('h')>3) result2*=0.5;
|
||||
if(target.hp==4) result2*=0.9;
|
||||
if(target.hp==5) result2*=0.8;
|
||||
if(target.hp>5) result2*=0.6;
|
||||
}
|
||||
else{
|
||||
result2+=temp02;
|
||||
result1+=temp01;
|
||||
}
|
||||
if(zeroplayer) result1=0;
|
||||
if(zerotarget) result2=0;
|
||||
var final=0;
|
||||
if(player2){
|
||||
final=(result1*get.attitude(player2,player)+(target?result2*get.attitude(player2,target):0));
|
||||
}
|
||||
else final=(result1*get.attitude(player,player)+(target?result2*get.attitude(player,target):0));
|
||||
if(!isLink&&get.tag(card,'natureDamage')&&target.isLinked()&&!zerotarget){
|
||||
game.countPlayer(function(current){
|
||||
if(current!=target&¤t.isLinked()) final+=get.effect(current,card,player,player2,true);
|
||||
})
|
||||
}
|
||||
return final;
|
||||
},
|
||||
effect:function(target,card,player,player2,isLink){
|
||||
var event=_status.event;
|
||||
|
@ -50865,10 +51051,22 @@
|
|||
if(temp2&&temp2.threaten) temp3=temp2.threaten;
|
||||
else temp3=undefined;
|
||||
if(temp2&&typeof temp2.effect=='function'){
|
||||
temp2=temp2.effect(card,player,target,result2,isLink);
|
||||
if(!player.hasSkillTag('ignoreSkill',true,{
|
||||
card:card,
|
||||
target:target,
|
||||
skill:skills2[i],
|
||||
isLink:isLink,
|
||||
})) temp2=temp2.effect(card,player,target,result2,isLink);
|
||||
else temp2=undefined;
|
||||
}
|
||||
else if(temp2&&typeof temp2.effect=='object'&&typeof temp2.effect.target=='function'){
|
||||
temp2=temp2.effect.target(card,player,target,result2,isLink);
|
||||
if(!player.hasSkillTag('ignoreSkill',true,{
|
||||
card:card,
|
||||
target:target,
|
||||
skill:skills2[i],
|
||||
isLink:isLink,
|
||||
})) temp2=temp2.effect.target(card,player,target,result2,isLink);
|
||||
else temp2=undefined;
|
||||
}
|
||||
else temp2=undefined;
|
||||
if(typeof temp2=='object'){
|
||||
|
|
|
@ -1,11 +1,8 @@
|
|||
window.noname_update={
|
||||
version:'1.9.103.1',
|
||||
update:'1.9.103',
|
||||
version:'1.9.103.2',
|
||||
update:'1.9.103.1',
|
||||
changeLog:[
|
||||
'SP仲村由理',
|
||||
'美坂栞、美坂香里',
|
||||
'新神关羽',
|
||||
'武将分包调整',
|
||||
'界董卓',
|
||||
'bug修复',
|
||||
|
||||
],
|
||||
|
@ -13,7 +10,7 @@ window.noname_update={
|
|||
//'card/extra.js',
|
||||
//'card/huanlekapai.js',
|
||||
//'card/sp.js',
|
||||
//'card/standard.js',
|
||||
'card/standard.js',
|
||||
//'card/swd.js',
|
||||
//'card/mtg.js',
|
||||
//'card/gujian.js',
|
||||
|
@ -28,15 +25,15 @@ window.noname_update={
|
|||
//'character/gujian.js',
|
||||
//'character/gwent.js',
|
||||
//'character/hearth.js',
|
||||
//'character/mobile.js',
|
||||
'character/mobile.js',
|
||||
//'character/mtg.js',
|
||||
//'character/old.js',
|
||||
//'character/refresh.js',
|
||||
'character/refresh.js',
|
||||
'character/shenhua.js',
|
||||
//'character/sp.js',
|
||||
//'character/sp2.js',
|
||||
'character/sp.js',
|
||||
'character/sp2.js',
|
||||
//'character/tw.js',
|
||||
//'character/standard.js',
|
||||
'character/standard.js',
|
||||
//'character/swd.js',
|
||||
//'character/xianjian.js',
|
||||
//'character/xinghuoliaoyuan.js',
|
||||
|
@ -45,14 +42,14 @@ window.noname_update={
|
|||
//'extension/boss/extension.js',
|
||||
//'layout/default/layout.css',
|
||||
//'layout/nova/layout.css',
|
||||
//'mode/identity.js',
|
||||
'mode/identity.js',
|
||||
//'mode/doudizhu.js',
|
||||
//'mode/guozhan.js',
|
||||
//'mode/chess.js',
|
||||
//'mode/tafang.js',
|
||||
//'mode/single.js',
|
||||
//'mode/stone.js',
|
||||
//'mode/brawl.js',
|
||||
'mode/stone.js',
|
||||
'mode/brawl.js',
|
||||
//'mode/versus.js',
|
||||
//'mode/boss.js',
|
||||
'game/game.js',
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 67 KiB |
|
@ -3240,6 +3240,25 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
name:'Day Game',
|
||||
place:[false,true,true,false],
|
||||
character:['key_yuzuru','sp_key_kanade','key_ayato','key_hinata'],
|
||||
lib:{
|
||||
character:{
|
||||
key_yuzuru:['male','key',4,['hinata_qiulve','kurou']],
|
||||
sp_key_kanade:['female','key',3,['hinata_qiulve','benxi'],[]],
|
||||
key_ayato:['male','key',3,['hinata_qiulve','retieji']],
|
||||
key_hinata:['female','key',4,['hinata_qiulve','hinata_ehou']],
|
||||
},
|
||||
translate:{
|
||||
key_yuzuru:'新秀球王',
|
||||
sp_key_kanade:'学生会长',
|
||||
key_ayato:'副会长',
|
||||
key_hinata:'球队领袖',
|
||||
},
|
||||
},
|
||||
},
|
||||
]
|
||||
game.liangjunduilei=list;
|
||||
game.chooseCharacterTwo=function(){
|
||||
|
|
|
@ -1079,7 +1079,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
list.remove('shen');
|
||||
if(list.length) player.group=function(){
|
||||
if(_status.mode!='zhong'&&game.zhu&&game.zhu.group){
|
||||
if(['re_zhangjiao','liubei','re_liubei','caocao','re_caocao','sunquan','re_sunquan','zhangjiao','sp_zhangjiao','caopi','re_caopi','liuchen','caorui','sunliang','sunxiu','sunce','re_sunben','ol_liushan','re_liushan','key_akane'].contains(game.zhu.name)) return game.zhu.group;
|
||||
if(['re_zhangjiao','liubei','re_liubei','caocao','re_caocao','sunquan','re_sunquan','zhangjiao','sp_zhangjiao','caopi','re_caopi','liuchen','caorui','sunliang','sunxiu','sunce','re_sunben','ol_liushan','re_liushan','key_akane','dongzhuo','re_dongzhuo','ol_dongzhuo'].contains(game.zhu.name)) return game.zhu.group;
|
||||
if(game.zhu.name=='sunhao'&&player.identity=='zhong') return 'wu';
|
||||
if(game.zhu.name=='yl_yuanshu'){
|
||||
if(player.identity=='zhong') list.remove('qun');
|
||||
|
|
Loading…
Reference in New Issue