v1.9.94
|
@ -718,6 +718,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
content:function(){
|
||||
if(!trigger.baseDamage) trigger.baseDamage=1;
|
||||
trigger.baseDamage+=player.storage.jiu;
|
||||
trigger.jiu=true;
|
||||
game.broadcastAll(function(player){
|
||||
player.removeSkill('jiu');
|
||||
},player);
|
||||
|
|
|
@ -5,6 +5,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
connect:true,
|
||||
card:{
|
||||
liulongcanjia:{
|
||||
audio:true,
|
||||
mode:['guozhan'],
|
||||
fullskin:true,
|
||||
type:'equip',
|
||||
|
@ -36,6 +37,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
},
|
||||
minguangkai:{
|
||||
audio:true,
|
||||
mode:['guozhan'],
|
||||
fullskin:true,
|
||||
type:'equip',
|
||||
|
@ -49,6 +51,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
},
|
||||
dinglanyemingzhu:{
|
||||
audio:true,
|
||||
mode:['guozhan'],
|
||||
fullskin:true,
|
||||
type:'equip',
|
||||
|
@ -75,6 +78,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
},
|
||||
feilongduofeng:{
|
||||
audio:true,
|
||||
mode:['guozhan'],
|
||||
fullskin:true,
|
||||
type:'equip',
|
||||
|
@ -101,6 +105,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
},
|
||||
taipingyaoshu:{
|
||||
audio:true,
|
||||
mode:['guozhan'],
|
||||
fullskin:true,
|
||||
type:'equip',
|
||||
|
@ -132,6 +137,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
},
|
||||
yuxi:{
|
||||
audio:true,
|
||||
mode:['guozhan'],
|
||||
fullskin:true,
|
||||
type:'equip',
|
||||
|
@ -142,6 +148,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
},
|
||||
xietianzi:{
|
||||
audio:true,
|
||||
fullskin:true,
|
||||
type:'trick',
|
||||
enable:function(card,player,event){
|
||||
|
@ -177,6 +184,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
},
|
||||
shuiyanqijunx:{
|
||||
audio:'shuiyanqijun',
|
||||
fullskin:true,
|
||||
type:'trick',
|
||||
filterTarget:function(card,player,target){
|
||||
|
@ -227,6 +235,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
lulitongxin:{
|
||||
fullskin:true,
|
||||
audio:true,
|
||||
type:'trick',
|
||||
enable:function(card,player){
|
||||
return game.hasPlayer(function(current){
|
||||
|
@ -275,6 +284,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
lianjunshengyan:{
|
||||
fullskin:true,
|
||||
audio:true,
|
||||
type:'trick',
|
||||
enable:function(card,player){
|
||||
if(get.mode()=='guozhan') return !player.isUnseen();
|
||||
|
@ -364,6 +374,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
chiling:{
|
||||
fullskin:true,
|
||||
audio:true,
|
||||
type:'trick',
|
||||
enable:true,
|
||||
mode:['guozhan'],
|
||||
|
@ -436,6 +447,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
diaohulishan:{
|
||||
fullskin:true,
|
||||
audio:true,
|
||||
type:'trick',
|
||||
enable:true,
|
||||
global:'g_diaohulishan',
|
||||
|
@ -484,6 +496,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
huoshaolianying:{
|
||||
fullskin:true,
|
||||
audio:true,
|
||||
type:'trick',
|
||||
filterTarget:function(card,player,target){
|
||||
if(get.mode()=='guozhan'){
|
||||
|
|
|
@ -5,6 +5,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
connect:true,
|
||||
card:{
|
||||
jinchan:{
|
||||
audio:true,
|
||||
fullskin:true,
|
||||
type:'trick',
|
||||
notarget:true,
|
||||
|
@ -39,6 +40,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
},
|
||||
qijia:{
|
||||
audio:true,
|
||||
fullskin:true,
|
||||
type:'trick',
|
||||
enable:true,
|
||||
|
@ -134,6 +136,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
},
|
||||
fulei:{
|
||||
audio:true,
|
||||
fullskin:true,
|
||||
type:'delay',
|
||||
cardnature:'thunder',
|
||||
|
@ -182,6 +185,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
},
|
||||
qibaodao:{
|
||||
audio:true,
|
||||
fullskin:true,
|
||||
type:'equip',
|
||||
subtype:'equip1',
|
||||
|
@ -202,6 +206,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
},
|
||||
zhungangshuo:{
|
||||
audio:true,
|
||||
fullskin:true,
|
||||
type:'equip',
|
||||
subtype:'equip1',
|
||||
|
@ -221,6 +226,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
},
|
||||
yinyueqiang:{
|
||||
audio:true,
|
||||
fullskin:true,
|
||||
type:'equip',
|
||||
subtype:'equip1',
|
||||
|
@ -259,6 +265,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
selectTarget:-1
|
||||
},
|
||||
shengdong:{
|
||||
audio:true,
|
||||
fullskin:true,
|
||||
enable:function(){
|
||||
return game.countPlayer()>2;
|
||||
|
@ -339,6 +346,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
},
|
||||
zengbin:{
|
||||
audio:true,
|
||||
fullskin:true,
|
||||
enable:true,
|
||||
type:'trick',
|
||||
|
@ -382,6 +390,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
},
|
||||
caomu:{
|
||||
audio:true,
|
||||
fullskin:true,
|
||||
enable:true,
|
||||
type:'delay',
|
||||
|
|
|
@ -367,12 +367,12 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
ai:{
|
||||
equipValue:function(card,player){
|
||||
if(!game.hasPlayer(function(current){
|
||||
return player.canUse('sha',current)&&get.distance(player,current)==1&&get.effect(current,{name:'sha'},player,player)>0;
|
||||
return player.canUse('sha',current)&&get.distance(player,current)<=1&&get.effect(current,{name:'sha'},player,player)>0;
|
||||
})){
|
||||
return 1;
|
||||
}
|
||||
if(player.hasSha()&&_status.currentPhase==player){
|
||||
if(player.getEquip('zhuge')||player.getCardUsable('sha')==0){
|
||||
if(player.getEquip('zhuge')&&player.countUsed('sha')||player.getCardUsable('sha')==0){
|
||||
return 10;
|
||||
}
|
||||
}
|
||||
|
@ -1410,6 +1410,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
filter:function(event){
|
||||
return event.card&&event.card.name=='sha'&&event.notLink()&&event.player.getCards('he').length>0;
|
||||
},
|
||||
priority:1,
|
||||
check:function(event,player){
|
||||
var target=event.player;
|
||||
var eff=get.damageEffect(target,player,player);
|
||||
|
@ -1419,7 +1420,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
if(eff<=0) return true;
|
||||
if(target.hp==1) return false;
|
||||
if(player.hasSkill('jiu')||player.hasSkill('tianxianjiu')||
|
||||
if(event.num>1||player.hasSkill('tianxianjiu')||
|
||||
player.hasSkill('luoyi2')||player.hasSkill('reluoyi2')) return false;
|
||||
if(target.countCards('he')<2) return -1;
|
||||
var num=0;
|
||||
|
|
|
@ -6,7 +6,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
connectBanned:['diy_tianyu','diy_yangyi','diy_lukang','ns_huamulan','ns_yuji','ns_duangui','ns_liuzhang'],
|
||||
character:{
|
||||
diy_wenyang:['male','wei','4/6',['lvli','choujue']],
|
||||
key_lucia:['female','qun','1/3',['lucia_duqu','lucia_zhenren']],
|
||||
key_lucia:['female','qun','1/2',['lucia_duqu','lucia_zhenren']],
|
||||
key_kyousuke:['male','qun',4,['nk_shekong','key_huanjie']],
|
||||
key_yuri:['female','qun',3,['yuri_xingdong','key_huanjie','yuri_wangxi'],['zhu']],
|
||||
// diy_caocao:['male','wei',4,['xicai','diyjianxiong','hujia']],
|
||||
|
@ -225,6 +225,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
player.logSkill('yuri_wangxi',trigger.player);
|
||||
player.awakenSkill('yuri_wangxi');
|
||||
game.broadcastAll(function(source){
|
||||
if(source.node.dieidentity){
|
||||
source.node.dieidentity.innerHTML='忠臣';
|
||||
}
|
||||
source.revive(2,false);
|
||||
source.identity='zhong';
|
||||
source.setIdentity();
|
||||
|
|
|
@ -1621,11 +1621,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
autodelay:function(event){
|
||||
return event.name=='respond'?0.5:false;
|
||||
},
|
||||
filter:function(evt){
|
||||
filter:function(evt,player){
|
||||
return (evt.skill=='xinlonghun3'||evt.skill=='xinlonghun4')&&
|
||||
evt.cards&&evt.cards.length==2&&_status.currentPhase.countDiscardableCards('he');
|
||||
evt.cards&&evt.cards.length==2&&_status.currentPhase&&_status.currentPhase!=player&&_status.currentPhase.countDiscardableCards(player,'he');
|
||||
},
|
||||
content:function(){
|
||||
player.line(_status.currentPhase,'green');
|
||||
player.discardPlayerCard(_status.currentPhase,'he',true);
|
||||
}
|
||||
}
|
||||
|
@ -2326,8 +2327,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
enable:'phaseUse',
|
||||
usable:1,
|
||||
filterTarget:function(card,player,target){
|
||||
//return target!=player&&target.countCards('h')>0;
|
||||
return target!=player;
|
||||
return target!=player&&target.countCards('h')>0;
|
||||
//return target!=player;
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
|
|
|
@ -8,7 +8,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
mobile:{
|
||||
mobile_default:["miheng","taoqian","liuzan","lingcao","sunru","lifeng","zhuling","liuye","zhaotongzhaoguang","majun","simazhao","wangyuanji","pangdegong","shenpei"],
|
||||
mobile_fire:["re_sp_zhugeliang","re_xunyu","re_dianwei","re_yanwen","re_pangtong","xin_yuanshao"],
|
||||
mobile_forest:['re_zhurong','re_menghuo'],
|
||||
mobile_forest:['re_zhurong','re_menghuo','re_dongzhuo','re_sunjian','re_caopi'],
|
||||
mobile_others:["re_jikang","old_bulianshi","old_yuanshu","re_wangyun"],
|
||||
},
|
||||
},
|
||||
|
@ -39,6 +39,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
re_zhurong:['female','shu',4,['juxiang','relieren']],
|
||||
re_menghuo:['male','shu',4,['huoshou','rezaiqi']],
|
||||
re_wangyun:['male','qun',3,['relianji','remoucheng']],
|
||||
re_dongzhuo:['male','qun',8,['rejiuchi','roulin','benghuai','baonue'],['zhu']],
|
||||
re_sunjian:['male','wu',4,['gzyinghun','repolu']],
|
||||
re_caopi:['male','wei',3,['rexingshang','refangzhu','songwei'],['zhu']],
|
||||
},
|
||||
characterIntro:{
|
||||
shenpei:'审配(?-204年),字正南,魏郡阴安(今河北清丰北)人。为人正直, 袁绍领冀州,审配被委以腹心之任,并总幕府。河北平定,袁绍以审配、逢纪统军事,审配恃其强盛,力主与曹操决战。曾率领弓弩手大破曹军于官渡。官渡战败,审配二子被俘,反因此受谮见疑,幸得逢纪力保。袁绍病死,审配等矫诏立袁尚为嗣,导致兄弟相争,被曹操各个击破。曹操围邺,审配死守数月,终城破被擒,拒不投降,慷慨受死。',
|
||||
|
@ -82,6 +85,165 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
characterFilter:{},
|
||||
skill:{
|
||||
rexingshang:{
|
||||
audio:'xingshang',
|
||||
trigger:{global:'die'},
|
||||
filter:function(event,player){
|
||||
return player.isDamaged()||event.player.countCards('he')>0;
|
||||
},
|
||||
direct:true,
|
||||
content:function(){
|
||||
"step 0"
|
||||
var choice=[];
|
||||
if(player.isDamaged()) choice.push('回复体力');
|
||||
if(trigger.player.countCards('he')) choice.push('获得牌');
|
||||
choice.push('cancel2');
|
||||
player.chooseControl(choice).set('prompt',get.prompt2('rexingshang')).set('ai',function(){
|
||||
if(choice.length==2) return 0;
|
||||
if(get.value(trigger.player.getCards('he'))>8) return 1;
|
||||
return 0;
|
||||
});
|
||||
"step 1"
|
||||
if(result.control!='cancel2'){
|
||||
player.logSkill('rexingshang');
|
||||
if(result.control=='获得牌'){
|
||||
event.togain=trigger.player.getCards('he');
|
||||
player.gain(event.togain,trigger.player,'giveAuto');
|
||||
}
|
||||
else player.recover();
|
||||
}
|
||||
},
|
||||
},
|
||||
refangzhu:{
|
||||
audio:"fangzhu",
|
||||
trigger:{
|
||||
player:"damageEnd",
|
||||
},
|
||||
direct:true,
|
||||
content:function (){
|
||||
"step 0"
|
||||
player.chooseTarget(get.prompt2('refangzhu'),function(card,player,target){
|
||||
return player!=target
|
||||
}).ai=function(target){
|
||||
if(target.hasSkillTag('noturn')) return 0;
|
||||
var player=_status.event.player;
|
||||
if(get.attitude(_status.event.player,target)==0) return 0;
|
||||
if(get.attitude(_status.event.player,target)>0){
|
||||
if(target.classList.contains('turnedover')) return 1000-target.countCards('h');
|
||||
if(player.getDamagedHp()<3) return -1;
|
||||
return 100-target.countCards('h');
|
||||
}
|
||||
else{
|
||||
if(target.classList.contains('turnedover')) return -1;
|
||||
if(player.getDamagedHp()>=3) return -1;
|
||||
return 1+target.countCards('h');
|
||||
}
|
||||
}
|
||||
"step 1"
|
||||
if(result.bool){
|
||||
player.logSkill('refangzhu',result.targets);
|
||||
event.target=result.targets[0]
|
||||
event.target.chooseToDiscard('he',player.getDamagedHp()).set('ai',function(card){
|
||||
var player=_status.event.player;
|
||||
if(player.isTurnedOver()||_status.event.getTrigger().player.getDamagedHp()>2) return -1;
|
||||
return (player.hp*player.hp)-get.value(card);
|
||||
}).set('prompt','弃置'+get.cnNumber(player.getDamagedHp())+'张手牌并失去一点体力;或选择不弃置,将武将牌翻面并摸'+get.cnNumber(player.getDamagedHp())+'张牌。');
|
||||
}
|
||||
else event.finish();
|
||||
"step 2"
|
||||
if(result.bool){
|
||||
event.target.loseHp();
|
||||
}
|
||||
else{
|
||||
event.target.draw(player.getDamagedHp());
|
||||
event.target.turnOver();
|
||||
}
|
||||
},
|
||||
ai:{
|
||||
maixie:true,
|
||||
"maixie_hp":true,
|
||||
effect:{
|
||||
target:function (card,player,target){
|
||||
if(get.tag(card,'damage')){
|
||||
if(player.hasSkillTag('jueqing',false,target)) return [1,-2];
|
||||
if(target.hp<=1) return;
|
||||
if(!target.hasFriend()) return;
|
||||
var hastarget=false;
|
||||
var turnfriend=false;
|
||||
var players=game.filterPlayer();
|
||||
for(var i=0;i<players.length;i++){
|
||||
if(get.attitude(target,players[i])<0&&!players[i].isTurnedOver()){
|
||||
hastarget=true;
|
||||
}
|
||||
if(get.attitude(target,players[i])>0&&players[i].isTurnedOver()){
|
||||
hastarget=true;
|
||||
turnfriend=true;
|
||||
}
|
||||
}
|
||||
if(get.attitude(player,target)>0&&!hastarget) return;
|
||||
if(turnfriend||target.hp==target.maxHp) return [0.5,1];
|
||||
if(target.hp>1) return [1,0.5];
|
||||
}
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
repolu:{
|
||||
audio:2,
|
||||
trigger:{
|
||||
source:'dieAfter',
|
||||
player:'die',
|
||||
},
|
||||
forceDie:true,
|
||||
filter:function(event,player,name){
|
||||
return name=='die'||player.isAlive();
|
||||
},
|
||||
direct:true,
|
||||
content:function(){
|
||||
'step 0'
|
||||
if(!player.storage.repolu) player.storage.repolu=0;
|
||||
event.num=player.storage.repolu+1;
|
||||
player.chooseTarget([1,Infinity],get.prompt('repolu'),'令任意名角色摸'+get.cnNumber(event.num)+'张牌').set('forceDie',true).ai=function(target){
|
||||
return get.attitude(_status.event.player,target);
|
||||
};
|
||||
'step 1'
|
||||
if(result.bool){
|
||||
player.storage.repolu++;
|
||||
result.targets.sortBySeat();
|
||||
player.logSkill('repolu',result.targets);
|
||||
game.asyncDraw(result.targets,num);
|
||||
}
|
||||
else event.finish();
|
||||
'step 2'
|
||||
game.delay();
|
||||
},
|
||||
},
|
||||
rejiuchi:{
|
||||
group:['jiuchi'],
|
||||
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:{
|
||||
sub:true,
|
||||
init:function(player,skill){
|
||||
player.disableSkill(skill,'benghuai');
|
||||
},
|
||||
onremove:function(player,skill){
|
||||
player.enableSkill(skill);
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
relianji:{
|
||||
audio:2,
|
||||
enable:'phaseUse',
|
||||
|
@ -108,20 +270,25 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
event.finish();
|
||||
return;
|
||||
}
|
||||
if(equip1.name=='qinggang'&&!lib.inpile.contains('qibaodao')){
|
||||
equip1.remove();
|
||||
equip1=game.createCard('qibaodao',equip1.suit,equip1.number);
|
||||
}
|
||||
target.$draw(equip1);
|
||||
target.chooseUseTarget(equip1,'noanimate','nopopup',true);
|
||||
'step 2'
|
||||
game.updateRoundNumber();
|
||||
var list=['nanman','wanjian','huogong','juedou','sha'];
|
||||
var list2=game.players.slice(0);
|
||||
list2.remove(player);
|
||||
for(var i=0;i<list.length;i++){
|
||||
if(!targets[0].canUse(list[i],targets[1])) list.splice(i--,1);
|
||||
if(!targets[0].canUse(list[i],targets[1],false)) list.splice(i--,1);
|
||||
}
|
||||
if(!list.length) return;
|
||||
var name=list.randomGet();
|
||||
if(name=='nanman'||name=='wanjian'){
|
||||
for(var i=0;i<list2.length;i++){
|
||||
if(!targets[0].canUse(name,list2[i])) list2.splice(i--,1);
|
||||
if(!targets[0].canUse(name,list2[i],false)) list2.splice(i--,1);
|
||||
}
|
||||
}
|
||||
else list2=targets[1];
|
||||
|
@ -633,6 +800,17 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
re_zhurong:'界祝融',
|
||||
re_menghuo:'界孟获',
|
||||
re_wangyun:'手杀王允',
|
||||
re_dongzhuo:'界董卓',
|
||||
re_sunjian:'界孙坚',
|
||||
re_caopi:'界曹丕',
|
||||
rejiuchi:'酒池',
|
||||
rejiuchi_info:'你可以',
|
||||
repolu:'破虏',
|
||||
repolu_info:'当你',
|
||||
rexingshang:'行殇',
|
||||
rexingshang_info:'当其他角色死亡后,你可以选择一项:',
|
||||
refangzhu:'放逐',
|
||||
refangzhu_info:'当你受到伤害后,',
|
||||
relianji:'连计',
|
||||
relianji_info:'出牌阶段限一次,你可以选择两名其他角色。第一名角色随机使用牌堆中的一张武器牌,然后这名角色视为对另一名角色随机使用一张下列的牌名的牌:【决斗】、【火攻】、【南蛮入侵】、【万箭齐发】或普【杀】。然后若此牌造成伤害,你获得X枚“连计”标记(X为此次扣减的体力值点数)。',
|
||||
remoucheng:'谋逞',
|
||||
|
|
|
@ -6,8 +6,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
old:{
|
||||
old_shenhua:["yuji","zhangjiao","old_zhugezhan","old_zhoutai","old_caoren"],
|
||||
old_refresh:["old_zhangfei","old_huatuo"],
|
||||
old_yijiang:["masu","xushu","fazheng","liru","yujin","xin_yujin","old_zhonghui","old_xusheng","old_zhuran","old_lingtong","old_madai","old_caoxiu","old_wangyi","old_caozhen","old_quancong","old_chenqun","old_zhuhuan","old_zhuzhi","old_guanzhang"],
|
||||
old_sp:["old_caochun","old_lingju","old_maliang","old_machao","zhangliang","jsp_caoren"],
|
||||
old_yijiang1:["masu","xushu","fazheng","yujin","xin_yujin","old_xusheng","old_lingtong","ol_yujin"],
|
||||
old_yijiang2:["old_madai","old_zhonghui","old_wangyi","old_guanzhang","ol_liaohua"],
|
||||
old_yijiang3:["liru","old_zhuran","ol_zhuran","ol_manchong","ol_guohuai"],
|
||||
old_yijiang4:["old_caozhen","old_chenqun","old_zhuhuan"],
|
||||
old_yijiang5:["old_caoxiu","old_quancong","old_zhuzhi"],
|
||||
old_yijiang67:["ol_xinxianying","ol_zhangrang"],
|
||||
old_sp:["old_caochun","old_lingju","old_maliang","old_machao","zhangliang","jsp_caoren","ol_guansuo"],
|
||||
},
|
||||
},
|
||||
character:{
|
||||
|
@ -46,6 +51,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
old_zhugezhan:["male","shu",3,["old_zuilun","old_fuyin"]],
|
||||
zhangliang:["male","qun",4,["old_jijun","old_fangtong"]],
|
||||
old_guanzhang:['male','shu',4,['old_fuhun']],
|
||||
ol_xinxianying:['female','wei',3,['caishi','zhongjian']],
|
||||
ol_zhangrang:['male','qun',3,['taoluan']],
|
||||
ol_yujin:['male','wei',4,['zhenjun']],
|
||||
ol_zhuran:['male','wu',4,['danshou']],
|
||||
ol_liaohua:['male','shu',4,['dangxian','fuli']],
|
||||
ol_guansuo:['male','shu',4,['zhengnan','xiefang']],
|
||||
ol_manchong:['male','wei',3,['yuce','junxing']],
|
||||
ol_guohuai:['male','wei',4,['jingce']],
|
||||
},
|
||||
characterFilter:{
|
||||
old_lingju:function(mode){
|
||||
|
@ -841,9 +854,17 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
old_zhoutai:'旧周泰',
|
||||
old_caoren:'旧曹仁',
|
||||
old_guanzhang:'旧关兴张苞',
|
||||
old_zhangfei:'旧张飞',
|
||||
old_huatuo:'旧华佗',
|
||||
old_zhangfei:'OL张飞',
|
||||
old_huatuo:'OL华佗',
|
||||
jsp_caoren:'☆SP曹仁',
|
||||
ol_xinxianying:'OL辛宪英',
|
||||
ol_zhangrang:'OL张让',
|
||||
ol_yujin:'镇军于禁',
|
||||
ol_liaohua:'OL廖化',
|
||||
ol_zhuran:'OL朱然',
|
||||
ol_guansuo:'OL关索',
|
||||
ol_manchong:'OL满宠',
|
||||
ol_guohuai:'OL郭淮',
|
||||
|
||||
old_fuhun:'父魂',
|
||||
old_fuhun_info:'摸牌阶段开始时,你可以放弃摸牌,改为从牌堆顶亮出两张牌并获得之,若亮出的牌颜色不同,你获得技能“武圣”、“咆哮”,直到回合结束。',
|
||||
|
@ -881,7 +902,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
|
||||
old_shenhua:'神话再临',
|
||||
old_refresh:'界限突破',
|
||||
old_yijiang:'一将成名',
|
||||
old_yijiang1:'一将成名2011',
|
||||
old_yijiang2:'一将成名2012',
|
||||
old_yijiang3:'一将成名2013',
|
||||
old_yijiang4:'一将成名2014',
|
||||
old_yijiang5:'一将成名2015',
|
||||
old_yijiang67:'原创设计',
|
||||
old_sp:'SP',
|
||||
}
|
||||
};
|
||||
|
|
|
@ -122,7 +122,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
nature:"fire",
|
||||
},
|
||||
viewAsFilter:function (player){
|
||||
if(!player.countCards('h',{color:'red'})) return false;
|
||||
if(!player.countCards('he',{color:'red'})) return false;
|
||||
},
|
||||
prompt:"将一张红色牌当火攻使用",
|
||||
check:function (card){
|
||||
|
@ -1533,6 +1533,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
rejizhi:{
|
||||
audio:'jizhi',
|
||||
locked:false,
|
||||
trigger:{player:'useCard'},
|
||||
frequent:true,
|
||||
filter:function(event){
|
||||
|
@ -2091,7 +2092,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
mod:{
|
||||
maxHandcard:function(player,num){
|
||||
if(player.hp<player.maxHp) return num+player.maxHp-player.hp;
|
||||
if(player.hp<player.maxHp) return num+player.getDamagedHp();
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
|
@ -622,7 +622,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
'drlt_yongsi1':{
|
||||
mod:{
|
||||
maxHandcard:function (player,num){
|
||||
return num+player.maxHp-2*player.hp;
|
||||
return num+player.maxHp-2*Math.max(0,player.hp);
|
||||
},
|
||||
},
|
||||
},
|
||||
|
@ -2361,21 +2361,21 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
else{
|
||||
num=1
|
||||
}
|
||||
var map={};
|
||||
var list=[];
|
||||
for(var i=1;i<=player.hp;i++){
|
||||
var cn=get.cnNumber(i,true);
|
||||
map[cn]=i;
|
||||
list.push(cn);
|
||||
}
|
||||
event.map=map;
|
||||
player.awakenSkill('qimou');
|
||||
player.storage.qimou=true;
|
||||
player.chooseControl('一','二','三','四','五','六',function(){
|
||||
player.chooseControl(list,function(){
|
||||
return get.cnNumber(_status.event.goon,true);
|
||||
}).set('prompt','失去任意点体力').set('goon',num);
|
||||
'step 1'
|
||||
var num;
|
||||
switch(result.control){
|
||||
case '一':num=1;break;
|
||||
case '二':num=2;break;
|
||||
case '三':num=3;break;
|
||||
case '四':num=4;break;
|
||||
case '五':num=5;break;
|
||||
case '六':num=6;break;
|
||||
}
|
||||
var num=event.map[result.control]||1;
|
||||
player.storage.qimou2=num;
|
||||
player.loseHp(num);
|
||||
player.addTempSkill('qimou2');
|
||||
|
@ -3794,10 +3794,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
return player.hp<player.maxHp;
|
||||
},
|
||||
check:function(event,player){
|
||||
if(player.maxHp-player.hp<2){
|
||||
if(player.getDamagedHp()<2){
|
||||
return false;
|
||||
}
|
||||
else if(player.maxHp-player.hp==2){
|
||||
else if(player.getDamagedHp()==2){
|
||||
return player.countCards('h')>=2;
|
||||
}
|
||||
return true;
|
||||
|
@ -3805,7 +3805,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
content:function(){
|
||||
"step 0"
|
||||
trigger.cancel();
|
||||
event.cards=get.cards(player.maxHp-player.hp);
|
||||
event.cards=get.cards(player.getDamagedHp());
|
||||
player.showCards(event.cards);
|
||||
"step 1"
|
||||
var num=0;
|
||||
|
@ -3916,7 +3916,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
direct:true,
|
||||
content:function(){
|
||||
"step 0"
|
||||
player.chooseTarget(get.prompt('fangzhu'),'令一名其他角色将武将牌翻面并摸'+get.cnNumber(player.maxHp-player.hp)+'张牌',function(card,player,target){
|
||||
player.chooseTarget(get.prompt('fangzhu'),'令一名其他角色将武将牌翻面并摸'+get.cnNumber(player.getDamagedHp())+'张牌',function(card,player,target){
|
||||
return player!=target
|
||||
}).ai=function(target){
|
||||
if(target.hasSkillTag('noturn')) return 0;
|
||||
|
@ -3924,19 +3924,19 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
if(get.attitude(_status.event.player,target)==0) return 0;
|
||||
if(get.attitude(_status.event.player,target)>0){
|
||||
if(target.classList.contains('turnedover')) return 1000-target.countCards('h');
|
||||
if(player.maxHp-player.hp<3) return -1;
|
||||
if(player.getDamagedHp()<3) return -1;
|
||||
return 100-target.countCards('h');
|
||||
}
|
||||
else{
|
||||
if(target.classList.contains('turnedover')) return -1;
|
||||
if(player.maxHp-player.hp>=3) return -1;
|
||||
if(player.getDamagedHp()>=3) return -1;
|
||||
return 1+target.countCards('h');
|
||||
}
|
||||
}
|
||||
"step 1"
|
||||
if(result.bool){
|
||||
player.logSkill('fangzhu',result.targets);
|
||||
result.targets[0].draw(player.maxHp-player.hp);
|
||||
result.targets[0].draw(player.getDamagedHp());
|
||||
result.targets[0].turnOver();
|
||||
}
|
||||
},
|
||||
|
@ -4303,7 +4303,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
audioname:['sunce'],
|
||||
trigger:{player:'phaseBegin'},
|
||||
filter:function(event,player){
|
||||
return player.hp<player.maxHp;
|
||||
return player.getDamagedHp()>0;
|
||||
},
|
||||
direct:true,
|
||||
content:function(){
|
||||
|
@ -4312,20 +4312,20 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
return player!=target;
|
||||
}).set('ai',function(target){
|
||||
var player=_status.event.player;
|
||||
if(player.maxHp-player.hp==1&&target.countCards('he')==0){
|
||||
if(player.getDamagedHp()==1&&target.countCards('he')==0){
|
||||
return 0;
|
||||
}
|
||||
if(get.attitude(_status.event.player,target)>0){
|
||||
return 10+get.attitude(_status.event.player,target);
|
||||
}
|
||||
if(player.maxHp-player.hp==1){
|
||||
if(player.getDamagedHp()==1){
|
||||
return -1;
|
||||
}
|
||||
return 1;
|
||||
});
|
||||
"step 1"
|
||||
if(result.bool){
|
||||
event.num=player.maxHp-player.hp;
|
||||
event.num=player.getDamagedHp();
|
||||
player.logSkill(event.name,result.targets);
|
||||
event.target=result.targets[0];
|
||||
if(event.num==1){
|
||||
|
@ -4436,7 +4436,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
if(player.hp==player.maxHp) return 'baonue_hp';
|
||||
if(player.hp<player.maxHp-1||player.hp<=2) return 'baonue_maxHp';
|
||||
return 'baonue_hp';
|
||||
});
|
||||
}).set('prompt','崩坏:失去1点体力或减1点体力上限');
|
||||
"step 1"
|
||||
if(result.control=='baonue_hp'){
|
||||
player.loseHp();
|
||||
|
@ -5650,8 +5650,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
popup:false,
|
||||
audio:false,
|
||||
vanish:true,
|
||||
charlotte:true,
|
||||
content:function(){
|
||||
if(player.hp<player.maxHp) player.draw(player.maxHp-player.hp);
|
||||
if(player.getDamagedHp()) player.draw(player.getDamagedHp());
|
||||
player.removeSkill('tianxiang2');
|
||||
player.popup('tianxiang');
|
||||
}
|
||||
|
@ -5781,7 +5782,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
vanish:true,
|
||||
content:function(){
|
||||
if(player.isDamaged()){
|
||||
player.draw(player.maxHp-player.hp);
|
||||
player.draw(player.getDamagedHp());
|
||||
}
|
||||
player.removeSkill('retianxiang2');
|
||||
},
|
||||
|
@ -6005,10 +6006,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
}
|
||||
player.nodying=true;
|
||||
if(player.hp<0){
|
||||
player.hp=0;
|
||||
player.update();
|
||||
}
|
||||
},
|
||||
subSkill:{
|
||||
recover:{
|
||||
|
@ -6020,18 +6017,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
popup:false,
|
||||
content:function(){
|
||||
'step 0'
|
||||
if(player.hp>=player.storage.gzbuqu.length){
|
||||
player.hp-=player.storage.gzbuqu.length-1;
|
||||
player.update();
|
||||
while(player.storage.gzbuqu.length){
|
||||
player.storage.gzbuqu.shift().discard();
|
||||
}
|
||||
player.unmarkSkill('gzbuqu');
|
||||
delete player.nodying;
|
||||
event.finish();
|
||||
}
|
||||
else{
|
||||
player.chooseCardButton('移去'+get.cnNumber(player.hp)+'张不屈牌',true,player.hp,player.storage.gzbuqu).set('ai',function(button){
|
||||
event.count=trigger.num;
|
||||
'step 1'
|
||||
event.count--;
|
||||
if((player.hp+player.storage.gzbuqu.length)>1){
|
||||
player.chooseCardButton('移去一张不屈牌',true,player.storage.gzbuqu).set('ai',function(button){
|
||||
var buttons=get.selectableButtons();
|
||||
for(var i=0;i<buttons.length;i++){
|
||||
if(buttons[i]!=button&&
|
||||
|
@ -6042,31 +6032,26 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
return 0;
|
||||
});
|
||||
player.hp=0;
|
||||
player.update();
|
||||
}
|
||||
'step 1'
|
||||
'step 2'
|
||||
for(var i=0;i<result.links.length;i++){
|
||||
result.links[i].discard();
|
||||
player.storage.gzbuqu.remove(result.links[i]);
|
||||
}
|
||||
player.$throw(result.links);
|
||||
game.log(player,'移去了不屈牌',result.links);
|
||||
if(event.count) event.goto(1);
|
||||
'step 3'
|
||||
lib.skill.gzbuqu.process(player);
|
||||
}
|
||||
}
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
var num=-player.hp;
|
||||
if(!player.storage.gzbuqu.length){
|
||||
num++;
|
||||
}
|
||||
var num=(-trigger.num-Math.max(player.hp-trigger.num,1)+1)
|
||||
player.storage.gzbuqu.addArray(get.cards(num));
|
||||
event.trigger("addCardToStorage");
|
||||
player.showCards(get.translation(player)+'的不屈牌',player.storage.gzbuqu);
|
||||
player.hp=0;
|
||||
player.update();
|
||||
'step 1'
|
||||
lib.skill.gzbuqu.process(player);
|
||||
},
|
||||
|
|
|
@ -46,7 +46,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
caohong:['male','wei',4,['yuanhu']],
|
||||
xiahouba:['male','shu',4,['baobian']],
|
||||
yuanshu:['male','qun',4,['yongsi','weidi']],
|
||||
sp_diaochan:['female','qun',3,['lihun','biyue']],
|
||||
sp_diaochan:['female','qun',3,['lihun','rebiyue']],
|
||||
sp_zhaoyun:['male','qun',3,['longdan','chongzhen']],
|
||||
jsp_zhaoyun:['male','qun',3,['chixin','yicong','suiren']],
|
||||
liuxie:['male','qun',3,['tianming','mizhao']],
|
||||
|
@ -78,7 +78,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
|
||||
cuiyan:['male','wei',3,['yawang','xunzhi']],
|
||||
sp_zhangfei:['male','shu',4,['jie','dahe']],
|
||||
jsp_guanyu:['male','wei',4,['wusheng','danji']],
|
||||
jsp_guanyu:['male','wei',4,['new_rewusheng','danji']],
|
||||
jsp_huangyueying:['female','qun',3,['jiqiao','linglong']],
|
||||
sunluyu:['female','wu',3,['new_meibu','new_mumu']],
|
||||
hanba:['female','qun',4,['fentian','zhiri']],
|
||||
|
@ -90,7 +90,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
sp_xiahoudun:['male','wei',4,['fenyong','xuehen'],['die_audio']],
|
||||
sp_lvmeng:['male','wu',3,['tanhu','mouduan']],
|
||||
|
||||
guansuo:['male','shu',4,['zhengnan','xiefang']],
|
||||
guansuo:['male','shu',4,['xinzhengnan','xiefang']],
|
||||
tadun:['male','qun',4,['luanzhan']],
|
||||
yanbaihu:['male','qun',4,['zhidao','jili']],
|
||||
chengyu:['male','wei',3,['shefu','benyu']],
|
||||
|
@ -955,7 +955,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
popup:false,
|
||||
content:function (){
|
||||
'step 0'
|
||||
event.num=player.maxHp-player.hp;
|
||||
event.num=player.getDamagedHp();
|
||||
if(event.num>0) player.chooseBool(get.prompt2('spjiedao',trigger.player)).ai=function(){
|
||||
if(get.attitude(player,trigger.player)>=-1) return false;
|
||||
return !trigger.player.getEquip('baiyin')&&!trigger.player.getEquip('rewrite_baiyin');
|
||||
|
@ -1029,11 +1029,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
else{
|
||||
player.$throw(card);
|
||||
game.cardsDiscard(card);
|
||||
player.loseHp();
|
||||
}
|
||||
"step 1"
|
||||
player.unmarkSkill('biaozhao');
|
||||
game.delay();
|
||||
player.loseHp();
|
||||
},
|
||||
},
|
||||
"biaozhao3":{
|
||||
|
@ -1082,7 +1081,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
content:function (){
|
||||
"step 0"
|
||||
player.chooseTarget(get.prompt2('yechou'),function(card,player,target){
|
||||
return player!=target&&target.maxHp-target.hp>1
|
||||
return player!=target&&target.getDamagedHp()>1
|
||||
}).set('forceDie',true).set('ai',function(target){
|
||||
var num=get.attitude(_status.event.player,target);
|
||||
return -num;
|
||||
|
@ -1150,7 +1149,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
if(result.control=="手动分配"){
|
||||
event.map=[cards,[],[]];
|
||||
event.goto(8);
|
||||
game.log('38');
|
||||
}
|
||||
else if(!_status.connectMode){
|
||||
var choiceList=ui.create.dialog('请选择一种方案','hidden','forcebutton');
|
||||
|
@ -1977,7 +1975,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
var num=player.maxHp-player.hp;
|
||||
var num=player.getDamagedHp();
|
||||
player.chooseTarget('是否发动【誓仇】,令至多'+num+'名其他角色也成为此【杀】的目标?',[1,num],function(card,player,target){
|
||||
return target!=player&&!trigger.targets.contains(target)&&player.canUse({name:'sha'},target);
|
||||
}).ai=function(target){
|
||||
|
@ -2222,7 +2220,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
content:function (){
|
||||
'step 0'
|
||||
player.chooseTarget(get.prompt('new_mumu'),'弃置一名角色装备区内的一张牌,或者获得一名角色装备区内的防具牌',function(card,player,target){
|
||||
if(target==player) return false;
|
||||
if(target==player) return target.getEquip(2)!=undefined;
|
||||
return target.countCards('e')>0;
|
||||
}).set('ai',function(target){
|
||||
var player=_status.event.player;
|
||||
|
@ -2239,7 +2237,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
player.line(event.target,'green');
|
||||
var e=event.target.getEquip(2);
|
||||
event.e=e;
|
||||
if(e){
|
||||
if(target==player) event.choice='获得一张防具牌';
|
||||
else if(e){
|
||||
player.chooseControl('弃置一张装备牌','获得一张防具牌').set('ai',function(){
|
||||
if(_status.event.player.getEquip(2)){
|
||||
return '弃置一张装备牌';
|
||||
|
@ -3320,10 +3319,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
event.finish();
|
||||
return;
|
||||
}
|
||||
if(equip1.name=='qinggang'&&!lib.inpile.contains('qibaodao')){
|
||||
equip1.remove();
|
||||
equip1=game.createCard('qibaodao',equip1.suit,equip1.number);
|
||||
}
|
||||
target.$draw(equip1);
|
||||
target.chooseUseTarget(true,equip1,'noanimate','nopopup');
|
||||
game.delay();
|
||||
'step 2'
|
||||
game.updateRoundNumber();
|
||||
var card=cards[0];
|
||||
var bool1=game.hasPlayer(function(current){
|
||||
return current!=player&&target.canUse(card,current);
|
||||
|
@ -6560,6 +6564,44 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
}
|
||||
},
|
||||
xinzhengnan:{
|
||||
audio:'zhengnan',
|
||||
trigger:{global:'dieAfter'},
|
||||
direct:true,
|
||||
content:function(){
|
||||
'step 0'
|
||||
var list=['摸牌'];
|
||||
if(!player.hasSkill('new_rewusheng')){
|
||||
list.push('new_rewusheng');
|
||||
}
|
||||
if(!player.hasSkill('xindangxian')){
|
||||
list.push('xindangxian');
|
||||
}
|
||||
if(!player.hasSkill('zhiman')){
|
||||
list.push('zhiman');
|
||||
}
|
||||
list.push('cancel2');
|
||||
if(list.length){
|
||||
player.chooseControl(list).set('prompt',get.prompt2('xinzhengnan')).set('ai',function(){
|
||||
if(list.contains('new_rewusheng')) return 1;
|
||||
return 0;
|
||||
});
|
||||
}
|
||||
'step 1'
|
||||
if(result.control=='cancel2') return;
|
||||
player.logSkill('xinzhengnan');
|
||||
if(result.control=='摸牌'){
|
||||
player.draw(3);
|
||||
return;
|
||||
}
|
||||
player.addSkill(result.control);
|
||||
player.popup(result.control);
|
||||
game.log(player,'获得了技能','#g【'+get.translation(result.control)+'】');
|
||||
},
|
||||
ai:{
|
||||
threaten:1.3
|
||||
}
|
||||
},
|
||||
zhengnan:{
|
||||
audio:1,
|
||||
trigger:{global:'dieAfter'},
|
||||
|
@ -6586,7 +6628,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
game.log(player,'获得技能','【'+get.translation(result.control)+'】');
|
||||
},
|
||||
ai:{
|
||||
threaten:1.4
|
||||
threaten:2.4
|
||||
}
|
||||
},
|
||||
xiefang:{
|
||||
|
@ -10788,7 +10830,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
filterCard:true,
|
||||
selectCard:function(){
|
||||
var player=_status.event.player;
|
||||
return player.maxHp-player.hp;
|
||||
return player.getDamagedHp();
|
||||
},
|
||||
filterTarget:function(card,player,target){
|
||||
return target.hp<target.maxHp;
|
||||
|
@ -11108,7 +11150,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
filterTarget:true,
|
||||
selectTarget:function(){
|
||||
var player=_status.event.player
|
||||
return [1,Math.max(1,player.maxHp-player.hp)];
|
||||
return [1,Math.max(1,player.getDamagedHp())];
|
||||
},
|
||||
position:'he',
|
||||
filterCard:{color:'red'},
|
||||
|
@ -11462,7 +11504,28 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
return false;
|
||||
},
|
||||
content:function(){
|
||||
"step 0"
|
||||
event.count=1;
|
||||
if(trigger.name=='discard'){
|
||||
event.count=0;
|
||||
for(var i=0;i<trigger.cards.length;i++){
|
||||
if(get.color(trigger.cards[i])=='red'&&trigger.cards[i].original!='j') event.count++;
|
||||
}
|
||||
}
|
||||
"step 1"
|
||||
player.draw();
|
||||
event.count--;
|
||||
"step 2"
|
||||
if(event.count){
|
||||
if(lib.config.autoskilllist.contains('mingzhe')) player.chooseBool(get.prompt2('mingzhe'));
|
||||
else event._result={bool:true};
|
||||
}
|
||||
else event.finish();
|
||||
"step 3"
|
||||
if(result.bool){
|
||||
player.logSkill('mingzhe');
|
||||
event.goto(1);
|
||||
}
|
||||
},
|
||||
ai:{
|
||||
threaten:0.7
|
||||
|
@ -12644,6 +12707,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
luanzhan_info:'你使用【杀】或黑色普通锦囊牌可以额外选择X名角色为目标;当你使用【杀】或黑色普通锦囊牌指定目标后,若此牌的目标角色数小于X,则X减至0。(X为你于本局游戏内造成过伤害的次数)',
|
||||
zhengnan:'征南',
|
||||
zhengnan_info:'当其他角色死亡后,你可以摸三张牌。若如此做,你获得下列技能中的任意一个:“武圣”、 “当先”和“制蛮”',
|
||||
xinzhengnan:'征南',
|
||||
xinzhengnan_info:'当其他角色死亡后,你可以摸三张牌,或者获得下列技能中的任意一个:“武圣”、 “当先”和“制蛮”',
|
||||
xiefang:'撷芳',
|
||||
xiefang_info:'锁定技,你的进攻距离+X(X为女性角色数)',
|
||||
qizhi:'奇制',
|
||||
|
@ -12923,7 +12988,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
suishi_info:'每当其他角色进入濒死状态时,伤害来源可以令你摸一张牌;每当其他角色死亡时,伤害来源可以令你失去1点体力',
|
||||
quji_info:'出牌阶段限一次,你可以弃置X张牌(X为你已损失的体力值),然后令至多X名已受伤的角色各回复1点体力。若你以此法弃置的牌中有黑色牌,你失去一点体力。',
|
||||
junbing_info:'一名角色的结束阶段开始时,若其手牌数少于或者等于1,该角色可以摸一张牌。若如此做,该角色须将所有手牌交给你,然后你交给其等量的牌。',
|
||||
xiongyi_info:'限定技,出牌阶段,你可以指定至多三名角色与你各摸三张牌;若你指定的角色数不超过2,你回复1点体力',
|
||||
xiongyi_info:'限定技,出牌阶段,你可以指定至多三名角色各摸三张牌;若你指定的角色数不超过2,你回复1点体力',
|
||||
xiongyi_info_guozhan:'限定技,出牌阶段,你可以令与你势力相同的所有角色各摸三张牌,然后若你的势力是角色最少的势力(或之一),则你回复1点体力',
|
||||
shenzhi_info:'准备阶段开始时,你可以弃置所有手牌,若你以此法弃置的牌的张数不小于X,你回复1点体力(X为你当前的体力值)。',
|
||||
shushen_info:'当你回复1点体力时,你可以令一名其他角色回复1点体力或摸两张牌',
|
||||
|
|
|
@ -1050,7 +1050,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
player.chooseTarget(get.prompt2('xinfu_lingren'),function(card,player,target){
|
||||
return trigger.targets.contains(target);
|
||||
}).set('ai',function(target){
|
||||
return -get.attitude(_status.event.player,target);
|
||||
return 2-get.attitude(_status.event.player,target);
|
||||
});
|
||||
'step 1'
|
||||
if(result.bool){
|
||||
|
@ -1966,7 +1966,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
content:function (){
|
||||
"step 0"
|
||||
trigger.source.chooseBool('【许身】:是否将自己的一张武将牌替换为“关索”?').set('ai',function(){
|
||||
return true;
|
||||
return false;
|
||||
});
|
||||
"step 1"
|
||||
if(result.bool){
|
||||
|
@ -3618,12 +3618,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
switch(result.control){
|
||||
case '递增':{
|
||||
player.logSkill('xinfu_guanchao');
|
||||
player.addTempSkill('xinfu_guanchao_dizeng');
|
||||
player.addTempSkill('xinfu_guanchao_dizeng','phaseUseEnd');
|
||||
break;
|
||||
}
|
||||
case '递减':{
|
||||
player.logSkill('xinfu_guanchao');
|
||||
player.addTempSkill('xinfu_guanchao_dijian');
|
||||
player.addTempSkill('xinfu_guanchao_dijian','phaseUseEnd');
|
||||
break;
|
||||
}
|
||||
case '取消':{
|
||||
|
@ -5199,7 +5199,28 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
return false;
|
||||
},
|
||||
content:function (){
|
||||
"step 0"
|
||||
event.count=1;
|
||||
if(trigger.name=='discard'){
|
||||
event.count=0;
|
||||
for(var i=0;i<trigger.cards.length;i++){
|
||||
if(get.color(trigger.cards[i])=='red'&&trigger.cards[i].original!='j') event.count++;
|
||||
}
|
||||
}
|
||||
"step 1"
|
||||
player.draw();
|
||||
event.count--;
|
||||
"step 2"
|
||||
if(event.count){
|
||||
if(lib.config.autoskilllist.contains('mingzhe')) player.chooseBool(get.prompt2('mingzhe'));
|
||||
else event._result={bool:true};
|
||||
}
|
||||
else event.finish();
|
||||
"step 3"
|
||||
if(result.bool){
|
||||
player.logSkill('qc_mingzhe');
|
||||
event.goto(1);
|
||||
}
|
||||
},
|
||||
ai:{
|
||||
threaten:0.7,
|
||||
|
|
1049
character/yijiang.js
|
@ -1,7 +1,8 @@
|
|||
window.noname_asset_list=[
|
||||
'1.9.93.3',
|
||||
'1.9.94',
|
||||
'audio/background/aozhan_chaoming.mp3',
|
||||
'audio/background/aozhan_online.mp3',
|
||||
'audio/background/aozhan_rewrite.mp3',
|
||||
'audio/background/music_danji.mp3',
|
||||
'audio/background/music_default.mp3',
|
||||
'audio/background/music_diaochan.mp3',
|
||||
|
@ -10,6 +11,20 @@ window.noname_asset_list=[
|
|||
'audio/background/music_jilve.mp3',
|
||||
'audio/card/default.mp3',
|
||||
|
||||
'audio/card/female/caomu.mp3',
|
||||
'audio/card/female/chiling.mp3',
|
||||
'audio/card/female/diaohulishan.mp3',
|
||||
'audio/card/female/fulei.mp3',
|
||||
'audio/card/female/huoshaolianying.mp3',
|
||||
'audio/card/female/jinchan.mp3',
|
||||
'audio/card/female/lianjunshengyan.mp3',
|
||||
'audio/card/female/lulitongxin.mp3',
|
||||
'audio/card/female/qijia.mp3',
|
||||
'audio/card/female/shengdong.mp3',
|
||||
'audio/card/female/shuiyanqijun.mp3',
|
||||
'audio/card/female/xietianzi.mp3',
|
||||
'audio/card/female/zengbin.mp3',
|
||||
|
||||
'audio/card/female/bagua.mp3',
|
||||
'audio/card/female/baiyin.mp3',
|
||||
'audio/card/female/chitu.mp3',
|
||||
|
@ -60,6 +75,20 @@ window.noname_asset_list=[
|
|||
'audio/card/female/yuanjiao.mp3',
|
||||
'audio/card/female/zhibi.mp3',
|
||||
|
||||
'audio/card/male/caomu.mp3',
|
||||
'audio/card/male/chiling.mp3',
|
||||
'audio/card/male/diaohulishan.mp3',
|
||||
'audio/card/male/fulei.mp3',
|
||||
'audio/card/male/huoshaolianying.mp3',
|
||||
'audio/card/male/jinchan.mp3',
|
||||
'audio/card/male/lianjunshengyan.mp3',
|
||||
'audio/card/male/lulitongxin.mp3',
|
||||
'audio/card/male/qijia.mp3',
|
||||
'audio/card/male/shengdong.mp3',
|
||||
'audio/card/male/shuiyanqijun.mp3',
|
||||
'audio/card/male/xietianzi.mp3',
|
||||
'audio/card/male/zengbin.mp3',
|
||||
|
||||
'audio/card/male/bagua.mp3',
|
||||
'audio/card/male/baiyin.mp3',
|
||||
'audio/card/male/chitu.mp3',
|
||||
|
@ -2239,6 +2268,17 @@ window.noname_asset_list=[
|
|||
'image/character/key_kyousuke.jpg',
|
||||
'image/character/key_lucia.jpg',
|
||||
'image/character/re_yujin.jpg',
|
||||
'image/character/re_caopi.jpg',
|
||||
'image/character/re_dongzhuo.jpg',
|
||||
'image/character/re_sunjian.jpg',
|
||||
'image/character/ol_guansuo.jpg',
|
||||
'image/character/ol_guohuai.jpg',
|
||||
'image/character/ol_liaohua.jpg',
|
||||
'image/character/ol_manchong.jpg',
|
||||
'image/character/ol_xinxianying.jpg',
|
||||
'image/character/ol_yujin.jpg',
|
||||
'image/character/ol_zhangrang.jpg',
|
||||
'image/character/ol_zhuran.jpg',
|
||||
|
||||
'image/character/baiwuchang.jpg',
|
||||
'image/character/baosanniang.jpg',
|
||||
|
|
23
game/game.js
|
@ -4620,9 +4620,10 @@
|
|||
item:{
|
||||
disabled:'不启用',
|
||||
online:'Online',
|
||||
rewrite:'Rewrite',
|
||||
chaoming:'潮鸣',
|
||||
},
|
||||
init:'chaoming',
|
||||
init:'rewrite',
|
||||
onclick:function(item){
|
||||
game.saveConfig('aozhan_bgm',item,this._link.config.mode);
|
||||
if(_status._aozhan==true) game.playBackgroundMusic();
|
||||
|
@ -13177,8 +13178,9 @@
|
|||
game.playAudio('card',sex,card.name+'_'+card.nature);
|
||||
}
|
||||
else{
|
||||
if(typeof audioinfo=='string'&&audioinfo.indexOf('ext:')==0){
|
||||
game.playAudio('..','extension',audioinfo.slice(4),card.name+'_'+sex);
|
||||
if(typeof audioinfo=='string'){
|
||||
if(audioinfo.indexOf('ext:')==0) game.playAudio('..','extension',audioinfo.slice(4),card.name+'_'+sex);
|
||||
else game.playAudio('card',sex,audioinfo);
|
||||
}
|
||||
else{
|
||||
game.playAudio('card',sex,card.name);
|
||||
|
@ -14888,6 +14890,9 @@
|
|||
},
|
||||
player:{
|
||||
//新函数
|
||||
getDamagedHp:function(){
|
||||
return this.maxHp-Math.max(0,this.hp);
|
||||
},
|
||||
changeGroup:function(group,log){
|
||||
game.broadcastAll(function(player,group){
|
||||
player.group=group;
|
||||
|
@ -19585,7 +19590,7 @@
|
|||
return (range);
|
||||
},
|
||||
getHandcardLimit:function(){
|
||||
return Math.max(0,game.checkMod(this,this.hp,'maxHandcard',this));
|
||||
return Math.max(0,game.checkMod(this,Math.max(0,this.hp),'maxHandcard',this));
|
||||
},
|
||||
getEnemies:function(func){
|
||||
var player=this;
|
||||
|
@ -45657,6 +45662,7 @@
|
|||
_status.maxShuffle--;
|
||||
}
|
||||
game.shuffleNumber++;
|
||||
if(_status.event.trigger) _status.event.trigger('washCard');
|
||||
var cards=[],i;
|
||||
for(var i=0;i<lib.onwash.length;i++){
|
||||
if(lib.onwash[i]()=='remove'){
|
||||
|
@ -46707,6 +46713,9 @@
|
|||
else if(str2.indexOf('TW')==0){
|
||||
str2=str2.slice(2);
|
||||
}
|
||||
else if(str2.indexOf('OL')==0){
|
||||
str2=str2.slice(2);
|
||||
}
|
||||
else if(str2.indexOf('JSP')==0){
|
||||
str2=str2.slice(3);
|
||||
}
|
||||
|
@ -46736,6 +46745,9 @@
|
|||
else if(str2.indexOf('TW')==0){
|
||||
str2=str2.slice(2);
|
||||
}
|
||||
else if(str2.indexOf('OL')==0){
|
||||
str2=str2.slice(2);
|
||||
}
|
||||
else if(str2.indexOf('JSP')==0){
|
||||
str2=str2.slice(3);
|
||||
}
|
||||
|
@ -46756,6 +46768,9 @@
|
|||
else if(str2.indexOf('TW')==0){
|
||||
str2=str2.slice(2);
|
||||
}
|
||||
else if(str2.indexOf('OL')==0){
|
||||
str2=str2.slice(2);
|
||||
}
|
||||
else if(str2.indexOf('JSP')==0){
|
||||
str2=str2.slice(3);
|
||||
}
|
||||
|
|
|
@ -1,28 +1,28 @@
|
|||
window.noname_update={
|
||||
version:'1.9.93.3.2',
|
||||
update:'1.9.93.3.1',
|
||||
version:'1.9.94',
|
||||
update:'1.9.93.3.2',
|
||||
changeLog:[
|
||||
'BUG修复',
|
||||
],
|
||||
files:[
|
||||
'card/extra.js',
|
||||
//'card/sp.js',
|
||||
//'card/standard.js',
|
||||
'card/sp.js',
|
||||
'card/standard.js',
|
||||
//'card/swd.js',
|
||||
//'card/guozhan.js',
|
||||
//'character/diy.js',
|
||||
//'character/extra.js',
|
||||
'card/guozhan.js',
|
||||
'character/diy.js',
|
||||
'character/extra.js',
|
||||
'character/mobile.js',
|
||||
//'character/old.js',
|
||||
//'character/refresh.js',
|
||||
//'character/shenhua.js',
|
||||
'character/old.js',
|
||||
'character/refresh.js',
|
||||
'character/shenhua.js',
|
||||
'character/sp.js',
|
||||
//'character/tw.js',
|
||||
//'character/standard.js',
|
||||
//'character/xinghuoliaoyuan.js',
|
||||
//'character/yijiang.js',
|
||||
'character/xinghuoliaoyuan.js',
|
||||
'character/yijiang.js',
|
||||
//'mode/doudizhu.js',
|
||||
//'mode/guozhan.js',
|
||||
'mode/guozhan.js',
|
||||
//'mode/boss.js',
|
||||
'game/game.js',
|
||||
]
|
||||
|
|
After Width: | Height: | Size: 24 KiB |
After Width: | Height: | Size: 31 KiB |
After Width: | Height: | Size: 32 KiB |
After Width: | Height: | Size: 34 KiB |
After Width: | Height: | Size: 85 KiB |
After Width: | Height: | Size: 26 KiB |
After Width: | Height: | Size: 26 KiB |
After Width: | Height: | Size: 97 KiB |
After Width: | Height: | Size: 46 KiB |
After Width: | Height: | Size: 49 KiB |
After Width: | Height: | Size: 41 KiB |
|
@ -232,9 +232,9 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
gz_shibing2qun:['female','qun',0,[],['unseen']],
|
||||
|
||||
gz_caocao:['male','wei',4,['jianxiong']],
|
||||
gz_simayi:['male','wei',3,['fankui','guicai']],
|
||||
gz_simayi:['male','wei',3,['fankui','reguicai']],
|
||||
gz_xiahoudun:['male','wei',4,['ganglie']],
|
||||
gz_zhangliao:['male','wei',4,['tuxi']],
|
||||
gz_zhangliao:['male','wei',4,['retuxi']],
|
||||
gz_xuzhu:['male','wei',4,['luoyi']],
|
||||
gz_guojia:['male','wei',3,['tiandu','new_yiji'],['gzskin']],
|
||||
gz_zhenji:['female','wei',3,['luoshen','qingguo'],['gzskin']],
|
||||
|
@ -2687,12 +2687,12 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
if(get.attitude(_status.event.player,target)==0) return 0;
|
||||
if(get.attitude(_status.event.player,target)>0){
|
||||
if(target.classList.contains('turnedover')) return 1000-target.countCards('h');
|
||||
if(player.maxHp-player.hp<3) return -1;
|
||||
if(player.getDamagedHp()<3) return -1;
|
||||
return 100-target.countCards('h');
|
||||
}
|
||||
else{
|
||||
if(target.classList.contains('turnedover')) return -1;
|
||||
if(player.maxHp-player.hp>=3) return -1;
|
||||
if(player.getDamagedHp()>=3) return -1;
|
||||
return 1+target.countCards('h');
|
||||
}
|
||||
}
|
||||
|
@ -2704,7 +2704,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
var player=_status.event.player;
|
||||
if(player.isTurnedOver()) return -1;
|
||||
return (player.hp*player.hp)-get.value(card);
|
||||
}).set('prompt','弃置一张手牌并失去一点体力;或选择不弃置,将武将牌翻面并摸'+(player.maxHp-player.hp)+'张牌。');
|
||||
}).set('prompt','弃置一张手牌并失去一点体力;或选择不弃置,将武将牌翻面并摸'+(player.getDamagedHp())+'张牌。');
|
||||
}
|
||||
else event.finish();
|
||||
"step 2"
|
||||
|
@ -2712,7 +2712,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
event.target.loseHp();
|
||||
}
|
||||
else{
|
||||
event.target.draw(player.maxHp-player.hp);
|
||||
event.target.draw(player.getDamagedHp());
|
||||
event.target.turnOver();
|
||||
}
|
||||
},
|
||||
|
@ -2850,6 +2850,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
},
|
||||
hmkyuanyu:{
|
||||
audio:'zongkui',
|
||||
trigger:{
|
||||
player:"damageBegin",
|
||||
},
|
||||
|
@ -2877,6 +2878,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
},
|
||||
hmkguishu:{
|
||||
audio:'bmcanshi',
|
||||
group:["hmkguishu_reset"],
|
||||
subSkill:{
|
||||
reset:{
|
||||
|
@ -2925,6 +2927,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
backup:function (links,player){
|
||||
return {
|
||||
audio:'bmcanshi',
|
||||
filterCard:function (card,player){
|
||||
return get.suit(card)=='spade';
|
||||
},
|
||||
|
@ -3998,7 +4001,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
gzqice:{
|
||||
enable:'phaseUse',
|
||||
usable:1,
|
||||
audio:"qice",
|
||||
audio:"qice_backup",
|
||||
filter:function(event,player){
|
||||
return player.countCards('h')>0
|
||||
},
|
||||
|
@ -4107,7 +4110,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
return lib.filter.filterTarget(card,player,target);
|
||||
},
|
||||
audio:2,
|
||||
audio:'qice_backup',
|
||||
popname:true,
|
||||
viewAs:{name:links[0][2]},
|
||||
ai1:function(){
|
||||
|
@ -8122,7 +8125,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
if(name2.indexOf('gz_shibing')==0) return false;
|
||||
if(lib.character[name1][1]!=lib.character[name2][1]) return false;
|
||||
if(get.is.jun(this.name1)) return true;
|
||||
var list=['re','diy','sp','jsp','shen','jg','xin','old','gz'];
|
||||
var list=['re','diy','sp','jsp','shen','jg','xin','old','gz','ol'];
|
||||
for(var i=0;i<list.length;i++){
|
||||
if(name1.indexOf(list[i]+'_')==0){
|
||||
name1=name1.slice(list[i].length+1);
|
||||
|
|