Add files via upload

This commit is contained in:
Spmario233 2020-01-13 23:22:52 +08:00 committed by GitHub
parent 3cad2c0f0d
commit 83e3892cca
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 250 additions and 39 deletions

View File

@ -368,14 +368,12 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
lib.init.onfree(); lib.init.onfree();
}, },
brawl:{ brawl:{
/*
huanhuazhizhan:{ huanhuazhizhan:{
name:'幻化之战', name:'幻化之战',
mode:'identity', mode:'identity',
intro:[ intro:[
'游戏目标:杀死所有其他角色,成为最后的存活者', '杀死所有其他角色,成为最后的存活者',
'所有角色改为三血白板,依靠灵力值获得技能灵力值可以通过各种方式获得,除用于换取技能外,还可以在出牌阶段换取一张牌', '所有角色改为四血白板,依靠灵力值获得技能。灵力值可以通过各种方式获得',
'这玩意还没做完 所以先注释了 想玩的可以自己解注释',
], ],
showcase:function(init){ showcase:function(init){
if(init){ if(init){
@ -429,13 +427,27 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
chooseCharacterBefore:function(){ chooseCharacterBefore:function(){
var skills=[]; var skills=[];
var banned=[]; var banned=[
'xinfu_guhuo','reguhuo','jixi','duanchang','huashen','xinsheng','rehuashen','rexinsheng',
'jinqu','nzry_binglve','nzry_huaiju','nzry_yili','nzry_zhenglun','nzry_mingren','nzry_zhenliang','drlt_qingce',
'new_wuhun','qixing','kuangfeng','dawu','baonu','wumou','ol_wuqian','ol_shenfen','renjie','jilue','nzry_junlve','nzry_dinghuo','drlt_duorui',
'chuanxin','cunsi',
'jueqing','huilei','paiyi','fuhun','zhuiyi','olddanshou','yanzhu','juexiang','jiexun','bizhuan','tongbo',
'xinfu_zhanji','xinfu_jijun','xinfu_fangtong',
'xinfu_qianchong','pdgyinshi','shuliang',
'zongkui','guju','bmcanshi','dingpan','xinfu_lingren','new_luoyan','junwei','gxlianhua',
'qizhou','fenyue','dianhu','linglong','fenxin','mouduan',
'cuorui','xinmanjuan','xinfu_jianjie','jianjie_faq','new_meibu','xinfu_xingzhao','jici',
'xianfu','fenyong','xuehen','yingbin','midao','yishe','yinbing','juedi',
'bushi','xinfu_dianhua','xinfu_falu','xinfu_zhenyi','lskuizhu','pingjian','xjshijian','fentian','zhiri','xindan',
];
var characters=[]; var characters=[];
for(var name in lib.character){ for(var name in lib.character){
if(!lib.character[name]) continue; if(!lib.character[name]) continue;
if(lib.filter.characterDisabled(name)) continue; if(lib.filter.characterDisabled(name)) continue;
if(name.indexOf('old_')==0) continue;
var skillsx=lib.character[name][3].slice(0); var skillsx=lib.character[name][3].slice(0);
lib.character[name][2]=3; lib.character[name][2]=4;
lib.character[name][3]=[]; lib.character[name][3]=[];
characters.push(name); characters.push(name);
var list=skillsx.slice(0); var list=skillsx.slice(0);
@ -460,10 +472,69 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
var pack={ var pack={
skills:skills, skills:skills,
pack:{ pack:{
card:{
hhzz_toulianghuanzhu:{
enable:true,
cardimage:"toulianghuanzhu",
chongzhu:true,
type:'trick',
filterTarget:function(card,player,target){
return target.skillH.length>0;
},
content:function(){
target.removeSkillH(target.skillH.randomGet());
var skills=lib.huanhuazhizhan.skills;
skills.randomSort();
for(var i=0;i<skills.length;i++){
if(!target.skillH.contains(skills[i])){
target.addSkillH(skills[i]);
break;
}
}
},
ai:{
order:10,
result:{
target:function(){
return 0.5-Math.random();
},
},
},
},
hhzz_fudichouxin:{
enable:true,
cardimage:"fudichouxin",
type:'trick',
filterTarget:function(card,player,target){
return target.skillH.length>0;
},
content:function(){
target.removeSkillH(target.skillH.randomGet());
},
ai:{
order:10,
result:{target:-1},
},
},
},
character:{ character:{
hhzz_shiona:['female','key',1,['hhzz_huilei']],
hhzz_kanade:['female','key',2,['hhzz_youlian']],
hhzz_takaramono1:['male','qun',5,['hhzz_jubao','hhzz_huizhen']],
hhzz_takaramono2:['male','qun',5,['hhzz_jubao','hhzz_zhencang']],
}, },
skill:{ skill:{
_lingli_damage:{
trigger:{source:'damage'},
forced:true,
popup:false,
filter:function(event,player){
return event.player==_status.toKill;
},
content:function(){
player.changeLingli(1);
},
},
_lingli:{ _lingli:{
mark:true, mark:true,
intro:{ intro:{
@ -488,28 +559,24 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
if(list.length==3) break; if(list.length==3) break;
} }
if(!list.length){event.finish();return;} if(!list.length){event.finish();return;}
var dialog=game.getSkillDialog(list,'是否消耗2点灵力值获得一个技能'); event.list=list;
list.push('cancel2') player.chooseBool('是否消耗2点灵力值获得一个技能').ai=function(){
if(player.storage._lingli>2) list.push('刷新'); return player.skillH.length<3;
player.chooseControl(list).set('ai',function(){ };
if(player.skillH.length>2) return 'cancel2'; 'step 1'
if(!result.bool){event.finish();return;}
player.changeLingli(-2);
var dialog=game.getSkillDialog(event.list,'选择获得一个技能');
player.chooseControl(event.list).set('ai',function(){
return 0; return 0;
}).dialog=dialog; }).dialog=dialog;
'step 1' 'step 2'
if(result.control=='cancel2') event.finish();
else if(result.control=='刷新'){
player.changeLingli(-1);
event.goto(0)
}
else{
event.skill=result.control; event.skill=result.control;
player.changeLingli(-2);
if(player.skillH.length==3){ if(player.skillH.length==3){
event.lose=true; event.lose=true;
player.chooseControl(player.skillH).prompt='选择失去1个已有技能'; player.chooseControl(player.skillH).prompt='选择失去1个已有技能';
} }
} 'step 3'
'step 2'
if(event.lose) player.removeSkillH(result.control); if(event.lose) player.removeSkillH(result.control);
player.addSkillH(event.skill); player.addSkillH(event.skill);
}, },
@ -519,7 +586,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
forced:true, forced:true,
popup:false, popup:false,
filter:function(event,player){ filter:function(event,player){
return _status._aozhan!=true; return _status._aozhan!=true&&game.roundNumber>1;
}, },
content:function(){ content:function(){
player.changeLingli(1); player.changeLingli(1);
@ -560,10 +627,20 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
forceDie:true, forceDie:true,
popup:false, popup:false,
filter:function(event,player){ filter:function(event,player){
return event._lastDead!=undefined; return _status._aozhan&&!player.getStat('damage')&&player.isAlive()||event._lastDead!=undefined;
}, },
content:function(){ content:function(){
'step 0'
if(_status._aozhan&&!player.getStat('damage')) player.loseHp();
if(trigger._lastDead==undefined) event.finish();
'step 1'
var type=get.rand(1,8); var type=get.rand(1,8);
event.type=type;
player.playerfocus(1200);
player.$fullscreenpop('乾坤八卦·'+['离','坎','乾','震','兑','艮','巽','坤'][type-1],get.groupnature(player.group,'raw'));
game.delay(1.5);
'step 2'
var type=event.type;
switch(type){ switch(type){
case 1:{ case 1:{
game.countPlayer(function(current){ game.countPlayer(function(current){
@ -573,7 +650,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
} }
case 2:{ case 2:{
game.countPlayer(function(current){ game.countPlayer(function(current){
current.draw(2); current.draw(2,'nodelay');
}); });
break; break;
} }
@ -585,7 +662,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
case 4:{ case 4:{
game.countPlayer(function(current){ game.countPlayer(function(current){
var he=current.getCards('he'); var he=current.getCards('he');
if(he.length) current.discard(he.randomGet()); if(he.length) current.discard(he.randomGet()).delay=false;
}); });
break; break;
} }
@ -625,22 +702,106 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
break; break;
} }
case 8:{ case 8:{
game.log('Unfinished'); trigger._lastDead.revive(null,false);
trigger._lastDead.uninit();
trigger._lastDead.init(['hhzz_shiona','hhzz_kanade','hhzz_takaramono1','hhzz_takaramono2'].randomGet());
trigger._lastDead.skillH=[];
break; break;
} }
} }
}, },
}, },
hhzz_huilei:{
mod:{
cardEnabled:function(){return false},
cardSavable:function(){return false},
cardRespondable:function(){return false},
},
ai:{
effect:{
target:function(card,player,target){
if(get.tag(card,'damage')) return [-5,0];
}
}
}
},
hhzz_youlian:{
mod:{
cardEnabled:function(){return false},
cardSavable:function(){return false},
cardRespondable:function(){return false},
},
ai:{
effect:{
target:function(card,player,target){
if(get.tag(card,'damage')) return [-5,0];
}
}
}
},
hhzz_zhencang:{
mod:{
cardEnabled:function(){return false},
cardSavable:function(){return false},
cardRespondable:function(){return false},
},
},
hhzz_huizhen:{
mod:{
cardEnabled:function(){return false},
cardSavable:function(){return false},
cardRespondable:function(){return false},
},
},
hhzz_jubao:{
trigger:{player:'damage'},
forced:true,
logTarget:'source',
filter:function(event,player){
return event.source!=undefined&&player.countCards('he')>0;
},
content:function(){
var cards=player.getCards('he');
cards.randomSort();
cards=cards.slice(0,trigger.num);
trigger.source.gain('giveAuto',cards,player);
},
ai:{
effect:{
target:function(card,player,target){
if(get.tag(card,'damage')) return [15,0];
}
}
}
},
}, },
translate:{ translate:{
_lingli:'灵力', _lingli:'灵力',
_lingli_draw:'灵力摸牌', _lingli_draw:'灵力摸牌',
hhzz_huilei:'挥泪',
hhzz_youlian:'犹怜',
hhzz_zhencang:'珍藏',
hhzz_huizhen:'汇珍',
hhzz_jubao:'聚宝',
hhzz_huilei_info:'锁定技,杀死你的角色弃置所有的牌。',
hhzz_youlian_info:'锁定技,杀死你的角色弃置所有牌并随机失去一个技能。',
hhzz_zhencang_info:'锁定技,杀死你的角色摸一张牌并随机获得一个技能(已满则先随机移除一个)。',
hhzz_huizhen_info:'锁定技,杀死你的角色摸三张牌并随机获得一个技能(已满则先随机移除一个)。',
hhzz_jubao_info:'锁定技当你受到伤害的点数确定时伤害来源随机获得你区域内的X张牌X为伤害点数。',
hhzz_shiona:'汐奈',
hhzz_kanade:'立华奏',
hhzz_takaramono1:'坚实宝箱',
hhzz_takaramono2:'普通宝箱',
hhzz_toulianghuanzhu:'偷梁换柱',
hhzz_fudichouxin:'釜底抽薪',
hhzz_toulianghuanzhu_info:'出牌阶段,对一名角色使用,随机更换其一个技能。可重铸。',
hhzz_fudichouxin_info:'出牌阶段,对一名角色使用,随机弃置其一个技能。',
}, },
}, },
get:{ get:{
rawAttitude:function(from,to){ rawAttitude:function(from,to){
if(from==to) return 10; if(from==to) return 10;
if(to==_status.toKill) return -20; if(to==_status.toKill) return -12;
return -10; return -10;
} }
}, },
@ -679,9 +840,47 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
}, },
$dieAfter:function(){}, $dieAfter:function(){},
dieAfter2:function(source){ dieAfter2:function(source){
if(source&&!['h_takaranomo1','h_takaramono2','h_female1','h_female2'].contains(this.name)){ if(source){
switch(this.name){
case 'hhzz_kanade':
var cards=source.getCards('he');
if(cards.length) source.discard(cards);
var skills=source.skillH;
if(skills.length) source.removeSkillH(skills.randomGet());
break;
case 'hhzz_shiona':
var cards=source.getCards('he');
if(cards.length) source.discard(cards);
break;
case 'hhzz_takaramono2':
source.draw();
if(source.skillH.length==1) source.removeSkillH(source.skillH.randomGet());
var skills=lib.huanhuazhizhan.skills;
skills.randomSort();
for(var i=0;i<skills.length;i++){
if(!source.skillH.contains(skills[i])){
source.addSkillH(skills[i]);
break;
}
}
break;
case 'hhzz_takaramono1':
source.draw(3);
if(source.skillH.length==1) source.removeSkillH(source.skillH.randomGet());
var skills=lib.huanhuazhizhan.skills;
skills.randomSort();
for(var i=0;i<skills.length;i++){
if(!source.skillH.contains(skills[i])){
source.addSkillH(skills[i]);
break;
}
}
break;
default:
source.draw(); source.draw();
source.changeLingli(this==_status.toKill?3:1); source.changeLingli(this==_status.toKill?3:1);
break;
}
} }
if(game.players.length<=4&&!_status._aozhan){ if(game.players.length<=4&&!_status._aozhan){
delete _status.toKill; delete _status.toKill;
@ -697,6 +896,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
hasZhuSkill:function(){return false}, hasZhuSkill:function(){return false},
changeLingli:function(num){ changeLingli:function(num){
if(typeof num!='number') num=1; if(typeof num!='number') num=1;
if(typeof this.storage._lingli!='number') this.storage._lingli=0;
if(num>0){ if(num>0){
game.log(this,'获得了','#y'+get.cnNumber(num)+'点','灵力'); game.log(this,'获得了','#y'+get.cnNumber(num)+'点','灵力');
} }
@ -712,6 +912,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
game:{ game:{
playerx:function(){ playerx:function(){
return game.filterPlayer(function(current){ return game.filterPlayer(function(current){
if(current.name.indexOf('hhzz_')==0) return;
return true; return true;
}); });
}, },
@ -757,10 +958,10 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
game.me.chooseButton(['请选择角色形象',[_status.characterlist.randomRemove(5),'character']],true).onfree=true; game.me.chooseButton(['请选择角色形象',[_status.characterlist.randomRemove(5),'character']],true).onfree=true;
'step 1' 'step 1'
game.me.init(result.links[0]); game.me.init(result.links[0]);
var list=['qingyi','shulv','xisheng']; var list=['xiandeng','shulv','xisheng'];
game.me.chooseControl(list).dialog=game.getSkillDialog(list,'选择要获得的初始技能'); game.me.chooseControl(list).dialog=game.getSkillDialog(list,'选择要获得的初始技能');
'step 2' 'step 2'
var list=['_lingli','_lingli_round','_lingli_draw','_lingli_save','_hhzz_qiankunbagua']; var list=['_lingli','_lingli_round','_lingli_draw','_lingli_save','_hhzz_qiankunbagua','_lingli_damage'];
for(var i=0;i<list.length;i++){ for(var i=0;i<list.length;i++){
game.addGlobalSkill(list[i]); game.addGlobalSkill(list[i]);
} }
@ -769,11 +970,22 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
current.storage._lingli=0; current.storage._lingli=0;
if(!current.name){ if(!current.name){
current.init(_status.characterlist.randomRemove(1)[0]); current.init(_status.characterlist.randomRemove(1)[0]);
current.addSkillH(['qingyi','shulv','xisheng'].randomGet()); current.addSkillH(['xiandeng','shulv','xisheng'].randomGet());
} }
}); });
game.showIdentity(true);
'step 3' 'step 3'
game.randomMission(); game.randomMission();
var list=[
game.createCard('hhzz_fudichouxin'),
game.createCard('hhzz_toulianghuanzhu'),
game.createCard('hhzz_toulianghuanzhu'),
game.createCard('hhzz_toulianghuanzhu'),
];
for(var i=0;i<list.length;i++){
ui.cardPile.insertBefore(list[i],ui.cardPile.childNodes[get.rand(ui.cardPile.childElementCount)]);
}
game.updateRoundNumber();
'step 4' 'step 4'
setTimeout(function(){ setTimeout(function(){
ui.arena.classList.remove('choose-character'); ui.arena.classList.remove('choose-character');
@ -793,7 +1005,6 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
}, },
}, },
}, },
*/
duzhansanguo:{ duzhansanguo:{
name:'毒战三国', name:'毒战三国',
mode:'identity', mode:'identity',