始めるんだ……神山識

This commit is contained in:
Spmario233 2020-08-19 21:55:13 +08:00 committed by GitHub
parent 314cddd11b
commit aacf177713
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
60 changed files with 5397 additions and 4677 deletions

BIN
audio/die/key_shiki.mp3 Normal file

Binary file not shown.

BIN
audio/die/leitong.mp3 Normal file

Binary file not shown.

BIN
audio/die/sp_sufei.mp3 Normal file

Binary file not shown.

BIN
audio/die/wulan.mp3 Normal file

Binary file not shown.

BIN
audio/skill/gaoyuan1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/gaoyuan2.mp3 Normal file

Binary file not shown.

BIN
audio/skill/kuiji1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/kuiji2.mp3 Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
audio/skill/wlcuorui1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/wlcuorui2.mp3 Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
audio/skill/zhengjian1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/zhengjian2.mp3 Normal file

Binary file not shown.

View File

@ -15,6 +15,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
forceDie:true, forceDie:true,
onLose:function(){ onLose:function(){
player.unmarkSkill('muniu_skill6'); player.unmarkSkill('muniu_skill6');
delete player.getStat('skill').muniu_skill;
if((event.getParent(2)&&event.getParent(2).name!='swapEquip')&&event.parent.type!='equip'&&card&&card.cards&&card.cards.length){ if((event.getParent(2)&&event.getParent(2).name!='swapEquip')&&event.parent.type!='equip'&&card&&card.cards&&card.cards.length){
player.$throw(card.cards,1000); player.$throw(card.cards,1000);
player.popup('muniu'); player.popup('muniu');

View File

@ -1722,12 +1722,14 @@ game.import('card',function(lib,game,ui,get,ai,_status){
direct:true, direct:true,
audio:true, audio:true,
filter:function(event,player){ filter:function(event,player){
return player.countCards('he')>2&&event.target.isAlive(); return player.countCards('he',function(card){
return card!=player.getEquip('guanshi');
})>=2&&event.target.isAlive();
}, },
content:function(){ content:function(){
"step 0" "step 0"
var next=player.chooseToDiscard(get.prompt('guanshi'),2,'he',function(card){ var next=player.chooseToDiscard(get.prompt('guanshi'),2,'he',function(card){
return _status.event.player.getCards('e',{subtype:'equip1'}).contains(card)==false; return _status.event.player.getEquip('guanshi')!=card;
}); });
next.logSkill='guanshi_skill'; next.logSkill='guanshi_skill';
next.set('ai',function(card){ next.set('ai',function(card){

View File

@ -4548,6 +4548,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}, },
}, },
yuri_xingdong:{ yuri_xingdong:{
audio:2,
group:'yuri_xingdong_gain', group:'yuri_xingdong_gain',
subSkill:{ subSkill:{
mark:{ mark:{
@ -5127,7 +5128,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
backup:function(links,player){ backup:function(links,player){
return { return {
filterCard:function(card,player){ filterCard:function(card,player){
return get.type(card,'trick')!='trick'&&player.canAddJudge({name:links[0][2],cards:[card]}); return get.itemtype(card)=='card'&&get.type(card,'trick')!='trick'&&player.canAddJudge({name:links[0][2],cards:[card]});
}, },
filterTarget:function(card,player,target){ filterTarget:function(card,player,target){
return player==target; return player==target;
@ -10365,6 +10366,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
nszhihuang_damage:'制皇', nszhihuang_damage:'制皇',
nszhihuang_info:'每回合限一次,当主公使用牌时,你可以移去一张“威”,然后获得此牌。锁定技,若你的手牌数大于主公,则你使用牌造成的伤害+1。', nszhihuang_info:'每回合限一次,当主公使用牌时,你可以移去一张“威”,然后获得此牌。锁定技,若你的手牌数大于主公,则你使用牌造成的伤害+1。',
diy_wenyang:'文鸯',
yj_caoang:'SP曹昂', yj_caoang:'SP曹昂',
yjxuepin:'血拼', yjxuepin:'血拼',
yjxuepin_info:'出牌阶段限一次你可以选择攻击范围内的一名角色并失去1点体力。你弃置其两张牌。若这两张牌类型相同你回复1点体力。', yjxuepin_info:'出牌阶段限一次你可以选择攻击范围内的一名角色并失去1点体力。你弃置其两张牌。若这两张牌类型相同你回复1点体力。',

View File

@ -47,6 +47,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}, },
skill:{ skill:{
shiki_omusubi:{ shiki_omusubi:{
audio:2,
trigger:{global:'roundStart'}, trigger:{global:'roundStart'},
direct:true, direct:true,
content:function(){ content:function(){

View File

@ -6,13 +6,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
connect:true, connect:true,
characterSort:{ characterSort:{
mobile:{ 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"], 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_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"], 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"],
mobile_sunben:["re_sunben"], mobile_sunben:["re_sunben"],
}, },
}, },
character:{ character:{
sp_sufei:['male','qun',4,['zhengjian','gaoyuan']],
yj_zhangliao:['male','qun',4,['weifeng']], yj_zhangliao:['male','qun',4,['weifeng']],
yj_zhanghe:['male','qun',4,['xinzhilve']], yj_zhanghe:['male','qun',4,['xinzhilve']],
yj_xuhuang:['male','qun',4,['xinxhzhiyan']], yj_xuhuang:['male','qun',4,['xinxhzhiyan']],
@ -31,7 +32,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
re_sp_zhugeliang:["male","shu",3,["bazhen","rehuoji","rekanpo"],[]], re_sp_zhugeliang:["male","shu",3,["bazhen","rehuoji","rekanpo"],[]],
xin_xiahoudun:['male','wei',4,['reganglie','xinqingjian']], xin_xiahoudun:['male','wei',4,['reganglie','xinqingjian']],
zhangyì:['male','shu',4,['zhiyi']], zhangyì:['male','shu',4,['zhiyi']],
jiakui:['male','wei',3,['zhongzuo','wanlan']], jiakui:['male','wei',3,['tongqu','xinwanlan']],
re_jikang:["male","wei",3,["new_qingxian","new_juexiang"]], re_jikang:["male","wei",3,["new_qingxian","new_juexiang"]],
old_bulianshi:['female','wu',3,['anxu','zhuiyi']], old_bulianshi:['female','wu',3,['anxu','zhuiyi']],
miheng:['male','qun',3,['kuangcai','shejian']], miheng:['male','qun',3,['kuangcai','shejian']],
@ -283,6 +284,278 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}, },
characterFilter:{}, characterFilter:{},
skill:{ skill:{
//苏飞,新贾逵
tongqu:{
audio:'zhongzuo',
trigger:{
global:['gameDrawAfter','damageEnd','phaseDrawBegin2'],
player:['enterGame','phaseUseBegin'],
},
direct:true,
filter:function(event,player){
if(event.name=='phaseDraw') return !event.numFixed&&event.player.hasMark('tongqu');
if(event.name=='damage') return event.player.hasMark('tongqu');
if(event.name=='phaseUse') return game.hasPlayer(function(current){
return !current.hasMark('tongqu');
});
return !player.hasMark('tongqu');
},
content:function(){
'step 0'
if(trigger.name=='phaseDraw'){
player.logSkill('tongqu',trigger.player);
trigger.num++;
trigger.player.addTempSkill('tongqu2','phaseDrawAfter');
event.finish();
}
else if(trigger.name=='damage'){
player.logSkill('tongqu',trigger.player);
trigger.player.removeMark('tongqu',1);
event.finish();
}
else if(trigger.name=='phaseUse'){
player.chooseTarget(get.prompt2('tongqu'),function(card,player,target){
return !target.hasMark('tongqu');
}).set('ai',function(target){
return get.attitude(_status.event.player,target)
});
}
else{
player.logSkill('tongqu');
player.addMark('tongqu',1);
event.finish();
}
'step 1'
if(result.bool){
var target=result.targets[0];
player.logSkill('tongqu',target);
target.addMark('tongqu',1);
}
},
marktext:'渠',
intro:{content:'mark'},
},
tongqu2:{
trigger:{player:'phaseDrawEnd'},
forced:true,
silent:false,
filter:function(event,player){
var bool=game.hasPlayer(function(current){
return current!=player&&current.hasMark('tongqu');
});
return player.countCards('he',function(card){
if(bool) return true;
return lib.filter.cardDiscardable(card,player);
})>0;
},
content:function(){
'step 0'
player.chooseCardTarget({
forced:true,
position:'he',
filterCard:true,
filterTarget:function(card,player,target){
return player!=target&&target.hasMark('tongqu');
},
selectTarget:function(){
if(ui.selected.cards.length&&!lib.filter.cardDiscardable(ui.selected.cards[0],_status.event.player)) return [1,1];
return [0,1];
},
prompt:'弃置一张牌,或将一张牌交给一名有“渠”的其他角色',
ai1:function(card){
var player=_status.event.player;
if(get.name(card)=='du') return 20;
if(get.position(card)=='e'&&get.value(card)<=0) return 14;
if(get.position(card)=='h'&&game.hasPlayer(function(current){
return current!=player&&current.hasMark('tongqu')&&get.attitude(player,current)>0&&current.getUseValue(card)>player.getUseValue(card)&&current.getUseValue(card)>player.getUseValue(card);
})) return 12;
if(game.hasPlayer(function(current){
return current!=player&&current.hasMark('tongqu')&&get.attitude(player,current)>0;
})){
if(card.name=='wuxie') return 11;
if(card.name=='shan'&&player.countCards('h','shan')>1) return 9
}
return 6/Math.max(1,get.value(card));
},
ai2:function(target){
var player=_status.event.player;
var card=ui.selected.cards[0];
var att=get.attitude(player,target);
if(card.name=='du') return -6*att;
if(att>0){
if(get.position(card)=='h'&&target.getUseValue(card)>player.getUseValue(card)) return 4*att;
if(get.value(card,target)>get.value(card,player)) return 2*att;
return 1.2*att;
}
return 0;
},
});
'step 1'
if(result.bool){
if(result.targets.length) result.targets[0].gain(result.cards,player,'giveAuto');
else player.discard(result.cards);
}
},
},
xinwanlan:{
audio:'wanlan',
trigger:{global:'damageBegin4'},
filter:function(event,player){
return event.player.hp<=event.num&&player.countCards('he',function(card){
return get.type(card)!='basic';
})>=1;
},
logTarget:'player',
check:function(event,player){
if(get.attitude(player,event.player)<4) return false;
if(player.countCards('h',function(card){
var mod2=game.checkMod(card,player,'unchanged','cardEnabled2',player);
if(mod2!='unchanged') return mod2;
var mod=game.checkMod(card,player,'unchanged','cardSavable',player);
if(mod!='unchanged') return mod;
var savable=get.info(card).savable;
if(typeof savable=='function') savable=savable(card,player,event.player);
return savable;
})>=1+trigger.num-event.player.hp) return false;
if(event.player==player||event.player==get.zhu(player)) return true;
return !player.hasUnknown();
},
content:function(){
player.discard(player.getCards('he',function(card){
return get.type(card)!='basic';
}));
trigger.cancel();
},
},
zhengjian:{
audio:2,
trigger:{player:'phaseJieshuBegin'},
locked:true,
direct:true,
content:function(){
'step 0'
player.chooseTarget('请选择【诤荐】的目标',lib.translate.zhengjian_info).set('ai',function(target){
if(target.hasSkill('zhengjian')) return 0;
if(player==target) return 0.5;
return get.attitude(_status.event.player,target)*(1+target.countCards('h'));
});
'step 1'
if(result.bool){
var target=result.targets[0];
player.logSkill('zhengjian',target);
target.addSkill('zhengjian_mark');
}
},
group:'zhengjian_draw',
},
zhengjian_draw:{
audio:'zhengjian',
trigger:{player:'phaseBegin'},
forced:true,
filter:function(event){
return game.hasPlayer(function(current){
return current.hasSkill('zhengjian_mark');
});
},
logTarget:function(event){
return game.filterPlayer(function(current){
return current.hasSkill('zhengjian_mark');
});
},
content:function(){
'step 0'
var list=game.filterPlayer(function(current){
return current.countMark('zhengjian_mark')>0;
});
if(list.length){
event.delay=true;
game.asyncDraw(list,function(target){
return Math.min(5,target.maxHp,target.countMark('zhengjian_mark'));
});
}
'step 1'
game.countPlayer(function(current){
current.removeSkill('zhengjian_mark');
});
if(event.delay) game.delayx();
},
},
zhengjian_mark:{
trigger:{player:['useCard1','respond']},
silent:true,
firstDo:true,
onremove:true,
charlotte:true,
content:function(){
player.addMark('zhengjian_mark',1,false);
},
init:function(player,skill){
if(!player.storage[skill]) player.storage[skill]=0;
},
mark:true,
intro:{
content:'已使用/打出过#张牌',
},
},
gaoyuan:{
audio:2,
trigger:{target:'useCardToTarget'},
direct:true,
filter:function(event,player){
if(event.card.name!='sha') return false;
if(player.countCards('he')==0) return false;
return game.hasPlayer(function(current){
return current!=event.player&&current!=player&&
current.hasSkill('zhengjian_mark')&&lib.filter.targetEnabled(event.card,event.player,current);
});
},
content:function(){
"step 0"
var next=player.chooseCardTarget({
position:'he',
filterCard:lib.filter.cardDiscardable,
filterTarget:function(card,player,target){
var trigger=_status.event;
if(target!=player&&target!=trigger.source){
if(target.hasSkill('zhengjian_mark')&&lib.filter.targetEnabled(trigger.card,trigger.source,target)) return true;
}
return false;
},
ai1:function(card){
return get.unuseful(card)+9;
},
ai2:function(target){
if(_status.event.player.countCards('h','shan')){
return -get.attitude(_status.event.player,target);
}
if(get.attitude(_status.event.player,target)<5){
return 6-get.attitude(_status.event.player,target);
}
if(_status.event.player.hp==1&&player.countCards('h','shan')==0){
return 10-get.attitude(_status.event.player,target);
}
if(_status.event.player.hp==2&&player.countCards('h','shan')==0){
return 8-get.attitude(_status.event.player,target);
}
return -1;
},
prompt:get.prompt('gaoyuan'),
prompt2:'弃置一张牌,将此【杀】转移给一名有“诤”的角色',
source:trigger.player,
card:trigger.card,
});
"step 1"
if(result.bool){
var target=result.targets[0];
player.logSkill(event.name,target);
player.discard(result.cards);
var evt=trigger.getParent();
evt.triggeredTargets2.remove(player);
evt.targets.remove(player);
evt.targets.push(target);
}
},
},
//一 将 成 名 //一 将 成 名
zhilve:{ zhilve:{
audio:2, audio:2,
@ -2941,6 +3214,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return [1,3-player.storage.xinfu_zhaoxin.length]; return [1,3-player.storage.xinfu_zhaoxin.length];
}, },
discard:false, discard:false,
toStorage:true,
//lose:false, //lose:false,
delay:false, delay:false,
content:function (){ content:function (){
@ -5082,7 +5356,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}, },
}, },
translate:{ translate:{
"re_sp_zhugeliang":"手杀卧龙", old_liuzan:'手杀留赞',
re_sp_zhugeliang:"手杀卧龙",
ly_piliche:'霹雳车', ly_piliche:'霹雳车',
ly_piliche_info:'当你对其他角色造成伤害后,若造成伤害的牌不为延时锦囊牌,你可以弃置其装备区里的防具牌与+1坐骑牌当你失去此装备时销毁之。', ly_piliche_info:'当你对其他角色造成伤害后,若造成伤害的牌不为延时锦囊牌,你可以弃置其装备区里的防具牌与+1坐骑牌当你失去此装备时销毁之。',
polu:'破橹', polu:'破橹',
@ -5378,6 +5653,17 @@ game.import('character',function(lib,game,ui,get,ai,_status){
gnjinfan_info:'弃牌阶段开始时,你可将任意张手牌置于武将牌上,称为“铃”(每种花色的“铃”限一张)。当你需要使用或打出一张手牌时,你可以使用或打出一张“铃”。当有“铃”移动到处理区后,你从牌堆中获得与此次移动到第一张“铃”花色相同的一张牌。', gnjinfan_info:'弃牌阶段开始时,你可将任意张手牌置于武将牌上,称为“铃”(每种花色的“铃”限一张)。当你需要使用或打出一张手牌时,你可以使用或打出一张“铃”。当有“铃”移动到处理区后,你从牌堆中获得与此次移动到第一张“铃”花色相同的一张牌。',
gnsheque:'射却', gnsheque:'射却',
gnsheque_info:'一名其他角色的准备阶段开始时,若其装备区内有牌,则你可以对其使用一张【杀】(无距离关系的限制且无视防具)。', gnsheque_info:'一名其他角色的准备阶段开始时,若其装备区内有牌,则你可以对其使用一张【杀】(无距离关系的限制且无视防具)。',
sp_sufei:'SP苏飞',
zhengjian:'诤荐',
zhengjian_draw:'诤荐',
zhengjian_mark:'诤荐',
zhengjian_info:'锁定技结束阶段你令一名角色获得一枚“诤”。回合开始时你令有“诤”的角色移去“诤”并摸X张牌X为其最后一次获得“诤”后使用和打出的牌数且至多不能超过其体力上限或5。',
gaoyuan:'告援',
gaoyuan_info:'当你成为【杀】的目标时,你可弃置一张牌将此【杀】转移给一名有“诤”且不是此【杀】使用者的其他角色。',
tongqu:'通渠',
tongqu_info:'游戏开始时,你获得一个“渠”。出牌阶段开始时,你可令一名没有“渠”的角色获得一个“渠”。有“渠”的角色摸牌阶段,其多摸一张牌,然后其将一张牌交给一名有“渠”的其他角色或弃置一张牌。有“渠”的角色受到伤害后,其弃置“渠”',
xinwanlan:'挽澜',
xinwanlan_info:'当有角色受到伤害时,若伤害点数大于其体力值,则你可以弃置所有非基本牌(至少两张)并防止此伤害。',
} }
}; };
}); });

View File

@ -12,16 +12,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){
old_yijiang4:["old_caozhen","old_chenqun","old_zhuhuan"], old_yijiang4:["old_caozhen","old_chenqun","old_zhuhuan"],
old_yijiang5:["old_caoxiu","old_quancong","old_zhuzhi"], old_yijiang5:["old_caoxiu","old_quancong","old_zhuzhi"],
old_yijiang67:["ol_xinxianying","ol_zhangrang","ol_liuyu"], old_yijiang67:["ol_xinxianying","ol_zhangrang","ol_liuyu"],
old_sp:["old_lingju","old_maliang","old_machao","zhangliang","jsp_caoren","ol_guansuo","old_zhangxingcai","old_huangfusong","ol_maliang","panfeng","old_wangyun","sunluyu"], old_sp:["old_lingju","old_maliang","old_machao","zhangliang","jsp_caoren","ol_guansuo","old_zhangxingcai","old_huangfusong","ol_maliang","old_wangyun"],
old_mobile:["old_caochun","old_majun"], old_mobile:["old_caochun","old_majun","old_jiakui"],
}, },
}, },
character:{ character:{
sunluyu:['female','wu',3,['new_meibu','new_mumu']], old_jiakui:['male','wei',3,['zhongzuo','wanlan']],
pangde:['male','qun',4,['mashu','mengjin']], pangde:['male','qun',4,['mashu','mengjin']],
ol_huaxiong:["male","qun",6,["new_reyaowu"]], ol_huaxiong:["male","qun",6,["new_reyaowu"]],
old_wangyun:['male','qun',4,['wylianji','moucheng']], old_wangyun:['male','qun',4,['wylianji','moucheng']],
panfeng:['male','qun',4,['kuangfu']],
xiaoqiao:['female','wu',3,['tianxiang','hongyan']], xiaoqiao:['female','wu',3,['tianxiang','hongyan']],
weiyan:['male','shu',4,['kuanggu']], weiyan:['male','shu',4,['kuanggu']],
xiahouyuan:['male','wei',4,['shensu']], xiahouyuan:['male','wei',4,['shensu']],
@ -845,6 +844,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}, },
}, },
translate:{ translate:{
old_jiakui:'旧贾逵',
old_zhangxingcai:'旧张星彩', old_zhangxingcai:'旧张星彩',
old_majun:'骰子马钧', old_majun:'骰子马钧',
old_yuanshu:'手杀袁术', old_yuanshu:'手杀袁术',

View File

@ -303,7 +303,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
event.count--; event.count--;
player.draw(); player.draw();
"step 2" "step 2"
if(player.countCards('he')){ if(player.countCards('h')){
player.chooseCard('将一张手牌置于武将牌上作为“权”',true); player.chooseCard('将一张手牌置于武将牌上作为“权”',true);
} }
else{ else{

File diff suppressed because it is too large Load Diff

4866
character/sp2.js Normal file

File diff suppressed because it is too large Load Diff

View File

@ -8179,9 +8179,20 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}, },
check:function(button){ check:function(button){
var player=_status.event.player; var player=_status.event.player;
if(game.hasPlayer(function(current){ if(game.hasPlayer([
return current[button.link?'isMaxHp':'isMaxHandcard']()&&get.effect(current,'sanyao',player,player)>0 function(target){
})) return 1+button.link; var num=target.countCards('h');
return !game.hasPlayer(function(current){
return current!=target&&current.countCards('h')>num;
})&&get.effect(target,'sanyao',player,player)>0;
},
function(target){
var num=target.hp;
return !game.hasPlayer(function(current){
return current!=target&&current.hp>num;
})&&get.effect(target,'sanyao',player,player)>0;
},
][button.link])) return 1+button.link;
return 0; return 0;
}, },
backup:function(links){ backup:function(links){
@ -8189,17 +8200,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){
audio:'sanyao', audio:'sanyao',
filterTarget:[ filterTarget:[
function(card,player,target){ function(card,player,target){
var num=target.countCards('h',function(card){ var num=target.countCards('h');
return !ui.selected.cards.contains(card);
});
return !game.hasPlayer(function(current){ return !game.hasPlayer(function(current){
return current!=target&&current.countCards('h',function(card){ return current!=target&&current.countCards('h')>num;
return !ui.selected.cards.contains(card);
})>num;
}); });
}, },
function(card,player,target){ function(card,player,target){
return target.isMaxHp(); return !game.hasPlayer(function(current){
return current!=target&&current.hp>target.hp;
});
} }
][links[0]], ][links[0]],
index:links[0], index:links[0],
@ -8960,7 +8969,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
event.count--; event.count--;
player.draw(); player.draw();
"step 2" "step 2"
if(player.countCards('he')){ if(player.countCards('h')){
player.chooseCard('将一张手牌置于武将牌上作为“权”',true); player.chooseCard('将一张手牌置于武将牌上作为“权”',true);
} }
else{ else{
@ -12301,7 +12310,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
qianxi_info:'准备阶段你可以摸一张牌并弃置一张牌然后令一名距离为1的角色不能使用或打出与你弃置的牌颜色相同的手牌直到回合结束。', qianxi_info:'准备阶段你可以摸一张牌并弃置一张牌然后令一名距离为1的角色不能使用或打出与你弃置的牌颜色相同的手牌直到回合结束。',
zhiman_info:'当你对一名其他角色造成伤害时,你可以防止此伤害,然后获得其装备区或判定区的一张牌。', zhiman_info:'当你对一名其他角色造成伤害时,你可以防止此伤害,然后获得其装备区或判定区的一张牌。',
sanyao_info:'出牌阶段限一次,你可以弃置一张牌并指定一名体力值最多(或之一)的角色你对其造成1点伤害。', sanyao_info:'出牌阶段限一次,你可以弃置一张牌并指定一名体力值最多(或之一)的角色你对其造成1点伤害。',
olsanyao_info:'出牌阶段每项各限一次,你可以弃置一张牌并指定一名体力值或手牌数最多(或之一)的角色并对其造成1点伤害。', olsanyao_info:'出牌阶段每项各限一次,你可以弃置一张牌并指定一名体力值或手牌数最多(或之一)的其他角色并对其造成1点伤害。',
rezhiman_info:'当你对一名其他角色造成伤害时,你可以防止此伤害,然后获得其区域内的一张牌。', rezhiman_info:'当你对一名其他角色造成伤害时,你可以防止此伤害,然后获得其区域内的一张牌。',
resanyao_info:'出牌阶段限一次,你可以弃置任意张牌并指定等量除你外体力值最多(或之一)的其他角色。你对这些角色依次造成1点伤害。', resanyao_info:'出牌阶段限一次,你可以弃置任意张牌并指定等量除你外体力值最多(或之一)的其他角色。你对这些角色依次造成1点伤害。',
paiyi_info:'出牌阶段限一次你可以移去一张“权”并选择一名角色令其摸两张牌然后若其手牌数大于你你对其造成1伤害。', paiyi_info:'出牌阶段限一次你可以移去一张“权”并选择一名角色令其摸两张牌然后若其手牌数大于你你对其造成1伤害。',

View File

@ -1,5 +1,5 @@
window.noname_asset_list=[ window.noname_asset_list=[
'v1.9.101', 'v1.9.102',
'audio/background/aozhan_chaoming.mp3', 'audio/background/aozhan_chaoming.mp3',
'audio/background/aozhan_online.mp3', 'audio/background/aozhan_online.mp3',
'audio/background/aozhan_rewrite.mp3', 'audio/background/aozhan_rewrite.mp3',
@ -584,6 +584,10 @@ window.noname_asset_list=[
'audio/die/yj_xuhuang.mp3', 'audio/die/yj_xuhuang.mp3',
'audio/die/yj_zhanghe.mp3', 'audio/die/yj_zhanghe.mp3',
'audio/die/yj_zhangliao.mp3', 'audio/die/yj_zhangliao.mp3',
'audio/die/key_shiki.mp3',
'audio/die/leitong.mp3',
'audio/die/sp_sufei.mp3',
'audio/die/wulan.mp3',
'audio/skill/anguo1.mp3', 'audio/skill/anguo1.mp3',
'audio/skill/anguo2.mp3', 'audio/skill/anguo2.mp3',
@ -2588,6 +2592,18 @@ window.noname_asset_list=[
'audio/skill/xhzhiyan2.mp3', 'audio/skill/xhzhiyan2.mp3',
'audio/skill/zhilve1.mp3', 'audio/skill/zhilve1.mp3',
'audio/skill/zhilve2.mp3', 'audio/skill/zhilve2.mp3',
'audio/die/gaoyuan1.mp3',
'audio/die/gaoyuan2.mp3',
'audio/die/kuiji1.mp3',
'audio/die/kuiji2.mp3',
'audio/die/shiki_omusubi1.mp3',
'audio/die/shiki_omusubi2.mp3',
'audio/die/wlcuorui1.mp3',
'audio/die/wlcuorui2.mp3',
'audio/die/yuri_xingdong1.mp3',
'audio/die/yuri_xingdong2.mp3',
'audio/die/zhengjian1.mp3',
'audio/die/zhengjian2.mp3',
'font/huangcao.ttf', 'font/huangcao.ttf',
'font/shousha.ttf', 'font/shousha.ttf',
@ -3192,6 +3208,10 @@ window.noname_asset_list=[
'image/character/caiyang.jpg', 'image/character/caiyang.jpg',
'image/character/huban.jpg', 'image/character/huban.jpg',
'image/character/pujing.jpg', 'image/character/pujing.jpg',
'image/character/leitong.jpg',
'image/character/old_jiakui.jpg',
'image/character/sp_sufei.jpg',
'image/character/wulan.jpg',
'image/character/baiwuchang.jpg', 'image/character/baiwuchang.jpg',
'image/character/baosanniang.jpg', 'image/character/baosanniang.jpg',
@ -5023,4 +5043,13 @@ window.noname_skin_list={
zoushi:5, zoushi:5,
zumao:3, zumao:3,
zuoci:8, zuoci:8,
key_hinata:1,
key_iwasawa:2,
key_nao:3,
key_shiki:3,
key_yui:2,
key_yuri:3,
key_yuzuru:2,
sp_key_kanade:6,
}; };

View File

@ -14,7 +14,7 @@ window.config={
forbiddouble:['zhugedan','swd_kangnalishi','dongzhuo','wutugu','hs_siwangzhiyi','hs_ronghejuren','hs_shanlingjuren'], forbiddouble:['zhugedan','swd_kangnalishi','dongzhuo','wutugu','hs_siwangzhiyi','hs_ronghejuren','hs_shanlingjuren'],
forbidthreecard:['qiankunbiao','shenhuofeiya','gw_ciguhanshuang','gw_birinongwu','gw_qinpendayu','gw_poxiao'], forbidthreecard:['qiankunbiao','shenhuofeiya','gw_ciguhanshuang','gw_birinongwu','gw_qinpendayu','gw_poxiao'],
all:{ all:{
sgscharacters:['standard','shenhua','xinghuoliaoyuan','refresh','yijiang','sp','extra','old','mobile','tw'], sgscharacters:['standard','shenhua','xinghuoliaoyuan','refresh','yijiang','sp','sp2','extra','old','mobile','tw'],
sgscards:['standard','extra','sp','guozhan','zhulu'], sgscards:['standard','extra','sp','guozhan','zhulu'],
sgsmodes:['identity','guozhan','versus','doudizhu','single','brawl','connect'], sgsmodes:['identity','guozhan','versus','doudizhu','single','brawl','connect'],
stockmode:['identity','guozhan','versus','boss','doudizhu','single','chess','stone','connect','brawl','tafang'], stockmode:['identity','guozhan','versus','boss','doudizhu','single','chess','stone','connect','brawl','tafang'],
@ -126,8 +126,8 @@ window.config={
right_click:'pause', right_click:'pause',
sort:'type_sort', sort:'type_sort',
cards:['standard','ex','extra','sp','classic','basic'], cards:['standard','ex','extra','sp','classic','basic','zhulu'],
characters:['standard','shenhua','sp','yijiang','refresh','xinghuoliaoyuan','mobile','extra'], characters:['standard','shenhua','sp','sp2','yijiang','refresh','xinghuoliaoyuan','mobile','extra'],
connect_characters:[], connect_characters:[],
connect_cards:[], connect_cards:[],
plays:[], plays:[],

View File

@ -19734,7 +19734,7 @@
} }
}, },
canUse:function(card,target,distance,includecard){ canUse:function(card,target,distance,includecard){
if(typeof card=='string') card={name:card}; if(typeof card=='string') card={name:card,isCard:true};
var info=get.info(card); var info=get.info(card);
if(info.multicheck&&!info.multicheck(card,this)) return false; if(info.multicheck&&!info.multicheck(card,this)) return false;
if(includecard!=false&&!lib.filter.cardEnabled(card,this)) return false; if(includecard!=false&&!lib.filter.cardEnabled(card,this)) return false;
@ -19753,7 +19753,7 @@
}, },
getUseValue:function(card,distance,includecard){ getUseValue:function(card,distance,includecard){
if(typeof(card)=='string'){ if(typeof(card)=='string'){
card={name:card}; card={name:card,isCard:true};
} }
var player=this; var player=this;
var targets=game.filterPlayer(); var targets=game.filterPlayer();

View File

@ -6,6 +6,7 @@ window.noname_package={
xinghuoliaoyuan:'星火燎原', xinghuoliaoyuan:'星火燎原',
yijiang:'一将成名', yijiang:'一将成名',
sp:'SP', sp:'SP',
sp2:'系列专属',
extra:'神将', extra:'神将',
mobile:'移动版', mobile:'移动版',
old:'怀旧', old:'怀旧',

View File

@ -25,6 +25,7 @@ window.noname_source_list=[
'character/refresh.js', 'character/refresh.js',
'character/shenhua.js', 'character/shenhua.js',
'character/sp.js', 'character/sp.js',
'character/sp2.js',
'character/standard.js', 'character/standard.js',
'character/swd.js', 'character/swd.js',
'character/tw.js', 'character/tw.js',

View File

@ -1,15 +1,18 @@
window.noname_update={ window.noname_update={
version:'1.9.101.1', version:'1.9.102',
update:'1.9.101', update:'1.9.101.1',
changeLog:[ changeLog:[
'仲村由理、神山识语音',
'SP武将再分包',
'吴兰、雷铜、群苏飞、削弱版贾逵',
'bug修复', 'bug修复',
], ],
files:[ files:[
//'card/extra.js', 'card/extra.js',
//'card/huanlekapai.js', //'card/huanlekapai.js',
//'card/sp.js', //'card/sp.js',
//'card/standard.js', 'card/standard.js',
//'card/swd.js', //'card/swd.js',
//'card/mtg.js', //'card/mtg.js',
//'card/gujian.js', //'card/gujian.js',
@ -18,24 +21,25 @@ window.noname_update={
//'card/yunchou.js', //'card/yunchou.js',
//'card/zhenfa.js', //'card/zhenfa.js',
//'card/zhulu.js', //'card/zhulu.js',
//'character/diy.js', 'character/diy.js',
//'character/extra.js', 'character/extra.js',
//'character/hearth.js', //'character/hearth.js',
//'character/gujian.js', //'character/gujian.js',
//'character/gwent.js', //'character/gwent.js',
//'character/hearth.js', //'character/hearth.js',
'character/mobile.js', 'character/mobile.js',
//'character/mtg.js', //'character/mtg.js',
//'character/old.js', 'character/old.js',
//'character/refresh.js', 'character/refresh.js',
//'character/shenhua.js', //'character/shenhua.js',
'character/sp.js', 'character/sp.js',
'character/sp2.js',
//'character/tw.js', //'character/tw.js',
//'character/standard.js', //'character/standard.js',
//'character/swd.js', //'character/swd.js',
//'character/xianjian.js', //'character/xianjian.js',
//'character/xinghuoliaoyuan.js', //'character/xinghuoliaoyuan.js',
//'character/yijiang.js', 'character/yijiang.js',
//'character/yxs.js', //'character/yxs.js',
//'extension/boss/extension.js', //'extension/boss/extension.js',
//'layout/default/layout.css', //'layout/default/layout.css',
@ -48,14 +52,14 @@ window.noname_update={
//'mode/single.js', //'mode/single.js',
//'mode/stone.js', //'mode/stone.js',
'mode/brawl.js', 'mode/brawl.js',
//'mode/versus.js', 'mode/versus.js',
//'mode/boss.js', //'mode/boss.js',
'game/game.js', 'game/game.js',
//'game/NoSleep.js', //'game/NoSleep.js',
//'game/config.js', 'game/config.js',
//'game/package.js', 'game/package.js',
//'game/asset.js', //'game/asset.js',
//'game/source.js', 'game/source.js',
//'theme/style/hp/xinglass.css', //'theme/style/hp/xinglass.css',
//'theme/style/hp/xinround.css', //'theme/style/hp/xinround.css',
//'theme/style/hp/image/xinglass1.png', //'theme/style/hp/image/xinglass1.png',

BIN
image/character/leitong.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 203 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 146 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 204 KiB

BIN
image/character/wulan.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 234 KiB

BIN
image/skin/key_hinata/1.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 207 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 232 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 145 KiB

BIN
image/skin/key_nao/1.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 157 KiB

BIN
image/skin/key_nao/2.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 166 KiB

BIN
image/skin/key_nao/3.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 247 KiB

BIN
image/skin/key_shiki/1.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 256 KiB

BIN
image/skin/key_shiki/2.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 238 KiB

BIN
image/skin/key_shiki/3.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 235 KiB

BIN
image/skin/key_yui/1.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 192 KiB

BIN
image/skin/key_yui/2.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 211 KiB

BIN
image/skin/key_yuri/1.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 168 KiB

BIN
image/skin/key_yuri/2.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 214 KiB

BIN
image/skin/key_yuri/3.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 183 KiB

BIN
image/skin/key_yuzuru/1.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 161 KiB

BIN
image/skin/key_yuzuru/2.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 170 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 265 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 176 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 222 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 166 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 241 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 197 KiB

View File

@ -2934,6 +2934,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
character:{ character:{
pujing:['male','qun',1,[],[]], pujing:['male','qun',1,[],[]],
huban:['male','qun',2,[],[]], huban:['male','qun',2,[],[]],
caiyang:['male','qun',1,[],[]],
}, },
translate:{ translate:{
pujing:'普净', pujing:'普净',

View File

@ -591,7 +591,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
}, },
getVideoName:function(){ getVideoName:function(){
if(_status.mode=='three'){ if(_status.mode=='three'){
var zhu=game.findPlayer(function(current){ var zhu=game.findPlayer2(function(current){
return current.side==game.me.side&&current.identity=='zhu'; return current.side==game.me.side&&current.identity=='zhu';
}); });
var str=(game.me.side?'暖/':'冷/')+get.translation(zhu.previousSeat.name)+'/'+get.translation(zhu.name)+'/'+get.translation(zhu.nextSeat.name); var str=(game.me.side?'暖/':'冷/')+get.translation(zhu.previousSeat.name)+'/'+get.translation(zhu.name)+'/'+get.translation(zhu.nextSeat.name);