Add files via upload

This commit is contained in:
Spmario233 2020-03-07 22:00:26 +08:00 committed by GitHub
parent aee63ead79
commit a5425d7a45
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
18 changed files with 85 additions and 66 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1680,6 +1680,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
selectCard:2, selectCard:2,
position:'h', position:'h',
viewAs:{name:'sha'}, viewAs:{name:'sha'},
complexCard:true,
filter:function(event,player){ filter:function(event,player){
return player.countCards('h')>=2; return player.countCards('h')>=2;
}, },
@ -2018,7 +2019,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
if(eff>=0) return 0; if(eff>=0) return 0;
return state*get.attitude(_status.event.player,source); return state*get.attitude(_status.event.player,source);
} }
else{ else if(target){
var triggerevent=_status.event.getTrigger(); var triggerevent=_status.event.getTrigger();
if(triggerevent&&triggerevent.parent&& if(triggerevent&&triggerevent.parent&&
triggerevent.parent.postAi&& triggerevent.parent.postAi&&
@ -2040,6 +2041,21 @@ game.import('card',function(lib,game,ui,get,ai,_status){
if(Math.abs(get.attitude(_status.event.player,target))<3) return 0; if(Math.abs(get.attitude(_status.event.player,target))<3) return 0;
return -get.effect(target,card,source,_status.event.player)*state; return -get.effect(target,card,source,_status.event.player)*state;
} }
else{
var triggerevent=_status.event.getTrigger();
if(triggerevent&&triggerevent.parent&&
triggerevent.parent.postAi&&
triggerevent.player.isUnknown(_status.event.player)){
return 0;
}
var info=get.info(card);
if(info.ai&&info.ai.wuxie){
var aiii=info.ai.wuxie(target,card,source,_status.event.player,state);
if(typeof aiii=='number') return aiii;
}
if(Math.abs(get.attitude(_status.event.player,source))<3) return 0;
return -get.attitude(_status.event.player,source)
}
}, },
source:target, source:target,
source2:targets, source2:targets,

View File

@ -355,7 +355,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
trigger:{player:'phaseDiscardEnd'}, trigger:{player:'phaseDiscardEnd'},
direct:true, direct:true,
filter:function(event,player){ filter:function(event,player){
return event.cards&&event.cards.length>1 var cards=[];
player.getHistory('lose',function(evt){
if(evt.type=='discard'&&evt.getParent('phaseDiscard')==event) cards.addArray(evt.cards2);
});
return cards.length>1;
}, },
content:function(){ content:function(){
"step 0" "step 0"
@ -743,7 +747,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
filterCard:lib.filter.cardDiscardable, filterCard:lib.filter.cardDiscardable,
discard:false, discard:false,
lose:false, lose:false,
delay:0, delay:false,
selectCard:[1,Infinity], selectCard:[1,Infinity],
prompt:'弃置一枚“忍”,然后弃置任意张牌并摸等量的牌。若弃置了所有的手牌,则可以多摸一张牌。', prompt:'弃置一枚“忍”,然后弃置任意张牌并摸等量的牌。若弃置了所有的手牌,则可以多摸一张牌。',
check:function(card){ check:function(card){
@ -793,7 +797,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
audio:true, audio:true,
trigger:{player:'useCard'}, trigger:{player:'useCard'},
filter:function(event,player){ filter:function(event,player){
return (get.type(event.card,'trick')=='trick'&&event.card.isCard); return (get.type(event.card,'trick')=='trick'&&event.card.isCard&&player.hasMark('renjie'));
}, },
init:function(player){ init:function(player){
player.storage.jilue_jizhi=0; player.storage.jilue_jizhi=0;

View File

@ -1902,7 +1902,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}, },
usable:1, usable:1,
filter:function(event,player){ filter:function(event,player){
if(event.cards.length.length==1&&event.cards[0]==event.card){ if(event.card.isCard){
return !player.hasSkill('jielue2')&&get.type(event.card)=='basic'&&!event.card.storage.jielue; return !player.hasSkill('jielue2')&&get.type(event.card)=='basic'&&!event.card.storage.jielue;
} }
return false; return false;

View File

@ -2287,7 +2287,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
trigger:{target:'useCardToBegin'}, trigger:{target:'useCardToBegin'},
forced:true, forced:true,
filter:function(event,player){ filter:function(event,player){
return get.type(event.card,'trick')=='trick'&&event.player==player&&event.cards[0]&&event.cards[0]==event.card; return player==event.player&&get.type(event.card,'trick')=='trick'&&event.card.isCard;
}, },
content:function(){ content:function(){
'step 0' 'step 0'
@ -5222,7 +5222,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
usable:3, usable:3,
filter:function(event,player){ filter:function(event,player){
if(_status.currentPhase!=player) return false; if(_status.currentPhase!=player) return false;
return (get.type(event.card)=='trick'&&event.cards[0]&&event.cards[0]==event.card); return (get.type(event.card)=='trick'&&event.card.isCard);
}, },
content:function(){ content:function(){
player.draw(); player.draw();
@ -5265,7 +5265,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
frequent:true, frequent:true,
filter:function(event,player){ filter:function(event,player){
if(_status.currentPhase!=player) return false; if(_status.currentPhase!=player) return false;
return (get.type(event.card)=='trick'&&event.cards[0]&&event.cards[0]==event.card); return (get.type(event.card)=='trick'&&event.card.isCard);
}, },
content:function(){ content:function(){
player.draw(); player.draw();
@ -6204,7 +6204,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
trigger:{player:'useCard'}, trigger:{player:'useCard'},
direct:true, direct:true,
filter:function(event){ filter:function(event){
return get.type(event.card,'trick')=='trick'&&event.cards[0]&&event.cards[0]==event.card; return get.type(event.card,'trick')=='trick'&&event.card.isCard;
}, },
content:function(){ content:function(){
"step 0" "step 0"

View File

@ -275,7 +275,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
filterTarget:function(card,player,target){ filterTarget:function(card,player,target){
return target.countDiscardableCards(player,'ej')>0; return target.countDiscardableCards(player,'ej')>0;
}, },
delay:0, delay:false,
audio:'drlt_zhengrong', audio:'drlt_zhengrong',
content:lib.skill.qingce.contentx, content:lib.skill.qingce.contentx,
ai:{ ai:{
@ -3240,7 +3240,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return { return {
filterCard:function(){return false}, filterCard:function(){return false},
selectCard:-1, selectCard:-1,
viewAs:{name:'shunshou'}, viewAs:{name:'shunshou',cards:links},
cards:links, cards:links,
onuse:function(result,player){ onuse:function(result,player){
result.cards=lib.skill[result.skill].cards; result.cards=lib.skill[result.skill].cards;
@ -3258,7 +3258,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
} }
}, },
prompt:function(links,player){ prompt:function(links,player){
return '选择急袭的目标'; return '请选择【顺手牵羊】的目标';
} }
}, },
ai:{ ai:{
@ -6406,9 +6406,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
evt=event.getParent(); evt=event.getParent();
} }
var player=evt[event.name=='gain'?'source':'player']; var player=evt[event.name=='gain'?'source':'player'];
if(!player||_status.currentPhase==player||player.isDead()) return false; if(!player||player.isDead()) return false;
if(evt[event.name=='gain'?'bySelf':'notBySelf']!=true) return false; if(evt[event.name=='gain'?'bySelf':'notBySelf']!=true) return false;
if(evt.name=='lose') return evt.hs.length>0; if(event.name=='lose') return event.hs.length>0;
return event.relatedLose&&event.relatedLose.hs&&event.relatedLose.hs.length>0; return event.relatedLose&&event.relatedLose.hs&&event.relatedLose.hs.length>0;
}, },
check:function(event,player){ check:function(event,player){
@ -7066,7 +7066,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
guidao_info:'一名角色的判定牌生效前,你可以打出一张黑色牌替换之。', guidao_info:'一名角色的判定牌生效前,你可以打出一张黑色牌替换之。',
huangtian_info:'主公技,其他群势力角色的出牌阶段限一次,其可以交给你一张【闪】或【闪电】。', huangtian_info:'主公技,其他群势力角色的出牌阶段限一次,其可以交给你一张【闪】或【闪电】。',
guhuo_info:'每名角色的回合限一次你可以扣置一张手牌当一张基本牌或普通锦囊牌使用或打出。其他角色依次选择是否质疑。一旦有其他角色质疑则翻开此牌若为假则此牌作废若为真则质疑角色获得技能“缠怨”锁定技你不能质疑于吉只要你的体力值为1你失去你的武将技能', guhuo_info:'每名角色的回合限一次你可以扣置一张手牌当一张基本牌或普通锦囊牌使用或打出。其他角色依次选择是否质疑。一旦有其他角色质疑则翻开此牌若为假则此牌作废若为真则质疑角色获得技能“缠怨”锁定技你不能质疑于吉只要你的体力值为1你失去你的武将技能',
fenji_info:'每当一名角色的手牌于回合外被其他角色弃置或获得时你可以失去1点体力然后令该角色摸两张牌。', fenji_info:'当一名角色的手牌被其他角色弃置或获得后你可以失去1点体力然后令该角色摸两张牌。',
gzduanliang:'断粮', gzduanliang:'断粮',
gzduanliang_info:'你可以将一张黑色基本牌或黑色装备牌当【兵粮寸断】使用你可以对距离为2的角色使用【兵粮寸断】', gzduanliang_info:'你可以将一张黑色基本牌或黑色装备牌当【兵粮寸断】使用你可以对距离为2的角色使用【兵粮寸断】',

View File

@ -1946,7 +1946,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
var cards=get.cards(2); var cards=get.cards(2);
event.cards=cards; event.cards=cards;
game.log(player,'观看了牌堆顶的'+get.cnNumber(cards.length)+'张牌'); game.log(player,'观看了牌堆顶的'+get.cnNumber(cards.length)+'张牌');
player.chooseControl('ok').set('dialog',['卜卦',cards]); player.chooseControl('ok').set('dialog',['推演',cards]);
'step 1' 'step 1'
while(cards.length){ while(cards.length){
ui.cardPile.insertBefore(cards.pop(),ui.cardPile.firstChild); ui.cardPile.insertBefore(cards.pop(),ui.cardPile.firstChild);
@ -4130,7 +4130,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return event.player.hasMark('zongkui_mark'); return event.player.hasMark('zongkui_mark');
}, },
content:function(){ content:function(){
trigger.getParent().excluded.add(player); trigger.targets.remove(player);
game.delay(); game.delay();
trigger.player.removeMark('zongkui_mark'); trigger.player.removeMark('zongkui_mark');
} }
@ -4782,7 +4782,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}, },
discard:false, discard:false,
lose:true, lose:true,
delay:0, delay:false,
content:function(){ content:function(){
'step 0' 'step 0'
player.showCards(get.translation(player)+'对'+get.translation(target)+'发动了【连计】',cards); player.showCards(get.translation(player)+'对'+get.translation(target)+'发动了【连计】',cards);
@ -4997,7 +4997,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return card.name=='sha'||get.type(card)=='equip'; return card.name=='sha'||get.type(card)=='equip';
}); });
}, },
delay:0, delay:false,
usable:1, usable:1,
content:function(){ content:function(){
'step 0' 'step 0'
@ -6240,7 +6240,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
forced:true, forced:true,
popup:false, popup:false,
filter:function(event,player){ filter:function(event,player){
return event.card==player.storage.fuman3&&player.storage.fuman2.isIn(); return event.cards.contains(player.storage.fuman3)&&player.storage.fuman2.isIn();
}, },
mark:true, mark:true,
intro:{ intro:{
@ -7613,7 +7613,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
filterCard:{color:'black'}, filterCard:{color:'black'},
mark:true, mark:true,
discard:false, discard:false,
delay:0, delay:false,
check:function(card){ check:function(card){
if(_status.event.player.hp==1) return 8-get.value(card); if(_status.event.player.hp==1) return 8-get.value(card);
return 6-get.value(card); return 6-get.value(card);

View File

@ -2809,7 +2809,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}); });
}, },
direct:true, direct:true,
delay:0, delay:false,
filterCard:true, filterCard:true,
discard:false, discard:false,
lose:false, lose:false,
@ -3135,9 +3135,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
filter:function(event,player){ filter:function(event,player){
if(!player.countCards('h')) return false; if(!player.countCards('h')) return false;
if(player.getStat('skill').zhongjian&&!player.hasSkill('zhongjian2')) return false; if(player.getStat('skill').zhongjian&&!player.hasSkill('zhongjian2')) return false;
return game.hasPlayer(function(current){ return true;
return current!=player&&current.countCards('h')>current.hp;
});
}, },
filterCard:true, filterCard:true,
check:function(){ check:function(){
@ -3146,7 +3144,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
discard:false, discard:false,
lose:false, lose:false,
filterTarget:function(card,player,target){ filterTarget:function(card,player,target){
return target!=player; return target!=player&&target.countCards('h')>0;
}, },
content:function(){ content:function(){
'step 0' 'step 0'
@ -3459,7 +3457,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
content:function(){ content:function(){
if(player.storage.xinsidi4.isAlive()&&!player.getHistory('useCard',function(evt){ if(player.storage.xinsidi4.isAlive()&&!player.getHistory('useCard',function(evt){
return evt.card.name=='sha'; return evt.card.name=='sha';
})){ }).length&&player.storage.xinsidi4.canUse({name:'sha',isCard:true},player,false)){
player.storage.xinsidi4.logSkill('xinsidi',player); player.storage.xinsidi4.logSkill('xinsidi',player);
player.storage.xinsidi4.useCard({name:'sha',isCard:true},player); player.storage.xinsidi4.useCard({name:'sha',isCard:true},player);
} }
@ -4007,7 +4005,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
filterCard:true, filterCard:true,
discard:false, discard:false,
lose:false, lose:false,
delay:0, delay:false,
content:function(){ content:function(){
'step 0' 'step 0'
player.showCards(cards); player.showCards(cards);
@ -5149,7 +5147,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return target==_status.event.dying; return target==_status.event.dying;
}, },
direct:true, direct:true,
delay:0, delay:false,
selectTarget:-1, selectTarget:-1,
content:function(){ content:function(){
"step 0" "step 0"
@ -5298,14 +5296,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
trigger:{global:'phaseJudgeBegin'}, trigger:{global:'phaseJudgeBegin'},
direct:true, direct:true,
filter:function(event,player){ filter:function(event,player){
return event.player!=player&&event.player.countCards('j')>0&&player.inRange(event.player)<=1; return event.player!=player&&event.player.countCards('j')>0&&player.inRange(event.player);
}, },
content:function(){ content:function(){
'step 0' 'step 0'
var att=get.attitude(player,trigger.player); var att=get.attitude(player,trigger.player);
var nh=trigger.player.countCards('h'); var nh=trigger.player.countCards('h');
var eff=get.effect(trigger.player,{name:'sha'},player,player); var eff=get.effect(trigger.player,{name:'sha',isCard:true},player,player);
if(!player.canUse({name:'sha'},trigger.player)) eff=0; if(!player.canUse({name:'sha',isCard:true},trigger.player)) eff=0;
player.discardPlayerCard(get.prompt('yonglve',trigger.player),trigger.player,'j').set('ai',function(button){ player.discardPlayerCard(get.prompt('yonglve',trigger.player),trigger.player,'j').set('ai',function(button){
var name=button.link.viewAs||button.link.name; var name=button.link.viewAs||button.link.name;
var att=_status.event.att; var att=_status.event.att;
@ -5781,7 +5779,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
audio:2, audio:2,
enable:'phaseUse', enable:'phaseUse',
usable:1, usable:1,
delay:0, delay:false,
filter:function(event,player){ filter:function(event,player){
return player.countCards('h',{color:'red'})&&player.countCards('h',{color:'black'}); return player.countCards('h',{color:'red'})&&player.countCards('h',{color:'black'});
}, },
@ -8238,7 +8236,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
filterCard:function(){return false}, filterCard:function(){return false},
selectCard:-1, selectCard:-1,
card:links[0], card:links[0],
delay:0, delay:false,
content:lib.skill.paiyi.contentx, content:lib.skill.paiyi.contentx,
ai:{ ai:{
order:10, order:10,
@ -10527,7 +10525,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
forceaudio:true, forceaudio:true,
direct:true, direct:true,
prompt:'弃置一名有【逆】的角色的两张【逆】,然后视为对包含其在内的角色使用【杀】。', prompt:'弃置一名有【逆】的角色的两张【逆】,然后视为对包含其在内的角色使用【杀】。',
delay:0, delay:false,
log:false, log:false,
precontent:function(){ precontent:function(){
"step 0" "step 0"

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,5 +1,5 @@
window.noname_asset_list=[ window.noname_asset_list=[
'1.9.98.1', '1.9.98.2.3',
'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',
@ -2334,6 +2334,10 @@ window.noname_asset_list=[
'audio/skill/xiangle_ol_liushan2.mp3', 'audio/skill/xiangle_ol_liushan2.mp3',
'audio/skill/zongkui_tw_beimihu1.mp3', 'audio/skill/zongkui_tw_beimihu1.mp3',
'audio/skill/zongkui_tw_beimihu2.mp3', 'audio/skill/zongkui_tw_beimihu2.mp3',
'audio/skill/reyingzi_re_sunce1.mp3',
'audio/skill/reyingzi_re_sunce2.mp3',
'audio/skill/yinghun_re_sunce1.mp3',
'audio/skill/yinghun_re_sunce2.mp3',
'font/huangcao.ttf', 'font/huangcao.ttf',
'font/shousha.ttf', 'font/shousha.ttf',

View File

@ -31907,11 +31907,9 @@
if(method=='raw') return equipValue; if(method=='raw') return equipValue;
return equipValue-value; return equipValue-value;
} }
if(!card.ai.result.target) card.ai.result.target=(function(name){ if(!card.ai.result.keepAI) card.ai.result.target=function(player,target,card){
return (function(player,target){ return get.equipResult(player,target,card.name);
return get.equipResult(player,target,name); };
});
}(i));
} }
else if(card.type=='delay'){ else if(card.type=='delay'){
if(card.enable==undefined) card.enable=true; if(card.enable==undefined) card.enable=true;
@ -39056,12 +39054,12 @@
} }
else{ else{
if(updates[i].indexOf('image/character')==0){ if(updates[i].indexOf('image/character')==0){
if(updates[i].indexOf('jun_')!=16&&!skipcharacter.contains(updates[i].slice(16,updates[i].lastIndexOf('.')))){ if(updates[i].indexOf('jun_')!=16&&updates[i].indexOf('gz_')!=16&&!skipcharacter.contains(updates[i].slice(16,updates[i].lastIndexOf('.')))){
updates.splice(i--,1); updates.splice(i--,1);
} }
} }
else if(updates[i].indexOf('image/card')==0){ else if(updates[i].indexOf('image/card')==0){
if(!skipcard.contains(updates[i].slice(11,updates[i].lastIndexOf('.')))){ if(updates[i].indexOf('qiaosi_card')!=11&&!skipcard.contains(updates[i].slice(11,updates[i].lastIndexOf('.')))){
updates.splice(i--,1); updates.splice(i--,1);
} }
} }

View File

@ -117,7 +117,7 @@ window.noname_package={
xiaozhuan:'小篆', xiaozhuan:'小篆',
xinwei:'新魏', xinwei:'新魏',
huangcao:'黄草', huangcao:'黄草',
yuanli:'隶书', yuanli:'楷体',
xingkai:'行楷', xingkai:'行楷',
shousha:'手杀', shousha:'手杀',
}, },

View File

@ -1,50 +1,49 @@
window.noname_update={ window.noname_update={
version:'1.9.98.2', version:'1.9.98.2.3',
update:'1.9.98.1', update:'1.9.98.2.2',
changeLog:[ changeLog:[
'3v3v2模式', '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/guozhan.js', //'card/guozhan.js',
//'card/gwent.js', //'card/gwent.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/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/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',
'mode/identity.js', //'mode/identity.js',
//'mode/doudizhu.js', //'mode/doudizhu.js',
'mode/guozhan.js', //'mode/guozhan.js',
//'mode/chess.js', //'mode/chess.js',
//'mode/tafang.js', //'mode/tafang.js',
//'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',