Skip to content

Commit

Permalink
Kamiyama Shiki
Browse files Browse the repository at this point in the history
  • Loading branch information
Spmario233 authored Aug 7, 2020
1 parent 7075805 commit 93589a5
Show file tree
Hide file tree
Showing 31 changed files with 10,863 additions and 10,357 deletions.
Binary file added audio/die/yj_ganning.mp3
Binary file not shown.
Binary file added audio/die/yj_xuhuang.mp3
Binary file not shown.
Binary file added audio/die/yj_zhanghe.mp3
Binary file not shown.
Binary file added audio/die/yj_zhangliao.mp3
Binary file not shown.
Binary file added audio/skill/gnjinfan1.mp3
Binary file not shown.
Binary file added audio/skill/gnjinfan2.mp3
Binary file not shown.
Binary file added audio/skill/gnsheque1.mp3
Binary file not shown.
Binary file added audio/skill/gnsheque2.mp3
Binary file not shown.
Binary file added audio/skill/weifeng1.mp3
Binary file not shown.
Binary file added audio/skill/weifeng2.mp3
Binary file not shown.
Binary file added audio/skill/xhzhiyan1.mp3
Binary file not shown.
Binary file added audio/skill/xhzhiyan2.mp3
Binary file not shown.
Binary file added audio/skill/zhilve1.mp3
Binary file not shown.
Binary file added audio/skill/zhilve2.mp3
Binary file not shown.
287 changes: 160 additions & 127 deletions character/diy.js

Large diffs are not rendered by default.

175 changes: 175 additions & 0 deletions character/extra.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
extra_shan:['shen_zhaoyun','shen_simayi'],
extra_yin:['shen_liubei','shen_luxun'],
extra_lei:['shen_ganning','shen_zhangliao'],
extra_key:['key_kagari','key_shiki'],
extra_ol:['ol_zhangliao','shen_caopi','shen_zhenji'],
},
},
character:{
key_kagari:['female','shen',3,['kagari_zongsi'],['key']],
key_shiki:['female','shen','3/5',['shiki_omusubi'],['key']],

shen_guanyu:['male','shen',5,['new_wuhun','wushen'],['shu']],
shen_zhaoyun:['male','shen',2,['xinjuejing','relonghun'],['shu']],
shen_zhugeliang:['male','shen',3,['qixing','kuangfeng','dawu'],['shu']],
Expand Down Expand Up @@ -42,6 +46,169 @@ game.import('character',function(lib,game,ui,get,ai,_status){
//shen_ganning:"体力上限:6",
},
skill:{
shiki_omusubi:{
trigger:{global:'roundStart'},
direct:true,
content:function(){
'step 0'
player.chooseTarget(get.prompt2('shiki_omusubi'),lib.filter.notMe).set('ai',function(target){
var player=_status.event.player;
if(player.isHealthy()) return 0;
if(player.hp<3&&getDamagedHp()<2) return 0;
var list=[];
if(lib.character[target.name]) list.addArray(lib.character[target.name][3]);
if(lib.character[target.name1]) list.addArray(lib.character[target.name1][3]);
if(lib.character[target.name2]) list.addArray(lib.character[target.name2][3]);
list=list.filter(function(i){
return !player.hasSkill(i);
});
if(!list.length) return 0;
return 1+Math.random();
});
'step 1'
if(result.bool){
var target=result.targets[0];
player.logSkill('shiki_omusubi',target);
player.loseMaxHp();
var list=[];
if(lib.character[target.name]) list.addArray(lib.character[target.name][3]);
if(lib.character[target.name1]) list.addArray(lib.character[target.name1][3]);
if(lib.character[target.name2]) list.addArray(lib.character[target.name2][3]);
player.addSkill(list);
game.broadcastAll(function(list){
lib.character.key_shiki[3].addArray(list);
game.expandSkills(list);
for(var i of list){
var info=lib.skill[i];
if(!info) continue;
if(!info.audioname2) info.audioname2={};
info.audioname2.key_shiki='shiki_omusubi';
}
},list);
}
},
},
kagari_zongsi:{
enable:'phaseUse',
usable:1,
content:function(){
'step 0'
var controls=[];
if(ui.cardPile.hasChildNodes()) controls.push('选择牌堆中的一张牌');
if(ui.discardPile.hasChildNodes()) controls.push('选择弃牌堆中的一张牌');
if(game.hasPlayer(function(current){
return current.countCards('hej')>0;
})) controls.push('选择一名角色区域内的一张牌');
if(!controls.length){event.finish();return;}
event.controls=controls;
var next=player.chooseControl();
next.set('choiceList',controls)
next.set('prompt','请选择要移动的卡牌的来源');
next.ai=function(){return 0};
'step 1'
result.control=event.controls[result.index];
var list=['弃牌堆','牌堆','角色'];
for(var i=0;i<list.length;i++){
if(result.control.indexOf(list[i])!=-1){event.index=i;break;}
}
if(event.index==2){
player.chooseTarget('请选择要移动的卡牌的来源',true,function(card,kagari,target){
return target.countCards('hej')>0;
});
}
else{
var source=ui[event.index==0?'discardPile':'cardPile'].childNodes;
var list=[];
for(var i=0;i<source.length;i++) list.push(source[i]);
player.chooseButton(['请选择要移动的卡牌',list],true).ai=get.buttonValue;
}
'step 2'
if(event.index==2){
player.line(result.targets[0]);
event.target1=result.targets[0];
player.choosePlayerCard(result.targets[0],true,'hej').set('visible',true);
}
else{
event.card=result.links[0];
}
'step 3'
if(event.index==2) event.card=result.cards[0];
var controls=[
'将这张牌移动到牌堆的顶部或者底部',
'将这张牌移动到弃牌堆的顶部或者底部',
'将这张牌移动到一名角色对应的区域里',
];
event.controls=controls;
var next=player.chooseControl();
next.set('prompt','要对'+get.translation(event.card)+'做什么呢?');
next.set('choiceList',controls);
next.ai=function(){return 2};
'step 4'
result.control=event.controls[result.index];
var list=['弃牌堆','牌堆','角色'];
for(var i=0;i<list.length;i++){
if(result.control.indexOf(list[i])!=-1){event.index2=i;break;}
}
if(event.index2==2){
player.chooseTarget('要将'+get.translation(card)+'移动到哪一名角色的对应区域呢',true).ai=function(target){
return target==_status.event.player?1:0;
};
}
else{
player.chooseControl('顶部','底部').set('prompt','把'+get.translation(card)+'移动到'+(event.index2==0?'弃':'')+'牌堆的...');
}
'step 5'
if(event.index2!=2){
if(event.target1) event.target1.lose(card,ui.special);
else card.goto(ui.special);
event.way=result.control;
}
else{
event.target2=result.targets[0];
var list=['手牌区'];
if(lib.card[card.name].type=='equip'&&event.target2.isEmpty(lib.card[card.name].subtype)) list.push('装备区');
if(lib.card[card.name].type=='delay'&&!event.target2.storage._disableJudge&&!event.target2.hasJudge(card.name)) list.push('判定区');
if(list.length==1) event._result={control:list[0]};
else{
player.chooseControl(list).set('prompt','把'+get.translation(card)+'移动到'+get.translation(event.target2)+'的...').ai=function(){return 0};
}
}
'step 6'
if(event.index2!=2){
card.fix();
var node=ui[event.index==0?'discardPile':'cardPile'];
if(event.way=='底部') node.appendChild(card);
else node.insertBefore(card,node.firstChild);
game.updateRoundNumber();
event.finish();
}
else{
if(result.control=='手牌区'){
var next=event.target2.gain(card);
if(event.target1){
next.source=event.target1;
next.animate='giveAuto';
}
else next.animate='draw';
}
else if(result.control=='装备区'){
if(event.target1) event.target1.$give(card,event.target2);
event.target2.equip(card);
}
else{
if(event.target1) event.target1.$give(card,event.target2);
event.target2.addJudge(card);
}
}
'step 7'
game.updateRoundNumber();
},
ai:{
order:10,
result:{player:1},
},
},

caopi_xingdong:{
audio:'olfangquan',
audioname:['shen_caopi'],
Expand Down Expand Up @@ -3232,12 +3399,20 @@ game.import('character',function(lib,game,ui,get,ai,_status){
caopi_xingdong:'行动',
caopi_xingdong_info:'出牌阶段限一次,你可以将一张【杀】或普通锦囊牌交给一名其他角色,然后该角色选择一项:对除你以外的角色使用此牌并在此牌结算完成后和你各摸一张牌;或跳过下回合的判定阶段和摸牌阶段。',

key_kagari:'篝',
kagari_zongsi:'纵丝',
kagari_zongsi_info:'出牌阶段限一次,你可以选择一张不在游戏外的牌,然后将其置于牌堆/弃牌堆的顶部/底部或一名角色的对应区域内。',
key_shiki:'神山识',
shiki_omusubi:'御结',
shiki_omusubi_info:'一轮游戏开始时,你可以减1点体力上限,然后将一名其他角色武将牌上的技能加入到你的武将牌上。',

extra_feng:'神话再临·风',
extra_huo:'神话再临·火',
extra_lin:'神话再临·林',
extra_shan:'神话再临·山',
extra_yin:'神话再临·阴',
extra_lei:'神话再临·雷',
extra_key:'神话再临·论外',
extra_ol:'神话再临OL',
},
};
Expand Down
24 changes: 20 additions & 4 deletions character/mobile.js
Original file line number Diff line number Diff line change
Expand Up @@ -285,6 +285,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
skill:{
//一 将 成 名
zhilve:{
audio:2,
trigger:{player:'phaseZhunbeiBegin'},
forced:true,
content:function(){
Expand Down Expand Up @@ -350,6 +351,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
xhzhiyan:{
enable:'phaseUse',
audio:2,
filter:function(event,player){
return player.countCards('h')!=player.maxHp;
},
Expand Down Expand Up @@ -4462,6 +4464,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
xinzhilve:{
enable:'phaseUse',
audio:'zhilve',
usable:1,
chooseButton:{
dialog:function(event,player){
Expand All @@ -4473,9 +4476,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
for(var i=0;i<list.length;i++){
var str='<div class="popup text" style="width:calc(100% - 10px);display:inline-block">';
var bool=lib.skill.xinzhilve.chooseButton.filter({link:i},player);
if(i==0&&!bool) str+='<div style="opacity:0.5">';
if(!bool) str+='<div style="opacity:0.5">';
str+=list[i];
if(i==0&&!bool) str+='</div>';
if(!bool) str+='</div>';
str+='</div>';
var next=choiceList.add(str);
next.firstChild.addEventListener(lib.config.touchscreen?'touchend':'click',ui.click.button);
Expand Down Expand Up @@ -4512,6 +4515,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
},
xinzhilve_move:{
audio:'zhilve',
filterCard:function(){return false},
selectCard:-1,
delay:false,
Expand Down Expand Up @@ -4664,6 +4668,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
},
xinzhilve_use:{
audio:'zhilve',
filterCard:function(){return false},
selectCard:-1,
filterTarget:function(card,player,target){
Expand Down Expand Up @@ -4695,6 +4700,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
},
xinxhzhiyan:{
audio:'xhzhiyan',
enable:'phaseUse',
filter:function(event,player){
return player.countCards('h')!=player.maxHp&&!player.hasSkill('xinxhzhiyan_'+(player.countCards('h')>player.maxHp));
Expand Down Expand Up @@ -4736,7 +4742,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return 0.5;
},
result:{
player:1,
player:function(player,target){
if(player.countCards('h')<player.maxHp) return 1;
return 0;
},
target:function(player,target){
if(player.countCards('h')>player.maxHp) return 1;
return 0;
},
},
},
},
Expand Down Expand Up @@ -4825,6 +4838,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
gnjinfan:{
trigger:{player:'phaseDiscardBegin'},
direct:true,
audio:2,
filter:function(event,player){
var list=[];
player.getStorage('gnjinfan').filter(function(card){
Expand Down Expand Up @@ -4911,7 +4925,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
bool:true,
card:result.links[0],
cards:result.links.slice(0),
skill:'gnjinfan3',
skill:'gnjinfan',
}
player.unmarkAuto('gnjinfan',result.links);
}
Expand Down Expand Up @@ -4952,6 +4966,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
backup:function(links,player){
return {
audio:'gnjinfan',
filterCard:function(){return false},
selectCard:-1,
viewAs:links[0],
Expand Down Expand Up @@ -5043,6 +5058,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
},
gnsheque:{
audio:2,
trigger:{global:'phaseZhunbeiBegin'},
direct:true,
filter:function(event,player){
Expand Down
2 changes: 1 addition & 1 deletion character/refresh.js
Original file line number Diff line number Diff line change
Expand Up @@ -6945,7 +6945,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
rexuanfeng_info:'当你失去装备区内的牌时,或于弃牌阶段弃置了两张或更多的手牌后,你可以依次弃置一至两名其他角色的共计两张牌,或将一名其他角色装备区内的一张牌移动到另一名其他角色的装备区内。',
olpaoxiao:'咆哮',
olpaoxiao2:'咆哮',
olpaoxiao_info:'锁定技,你使用【杀】无次数限制。若你使用的【杀】被【闪】抵消,你本回合下一次使用【杀】造成伤害时,此伤害+1。',
olpaoxiao_info:'锁定技,你使用【杀】无次数限制。②锁定技,当你使用的【杀】被【闪】抵消时,你获得一枚“咆”(→)当你因【杀】造成伤害时,你弃置所有“咆”并令伤害值+X(X为“咆”数)。回合结束后,你弃置所有“咆”。',
oltishen:'替身',
oltishen_info:'限定技,准备阶段,你可以将体力回复至上限,然后摸X张牌(X为你回复的体力值)。',
ollongdan:'龙胆',
Expand Down
Loading

1 comment on commit 93589a5

@Spmario233
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

日差しの暑さを忘れるくらいに
地面を蹴った 子供の頃のように
キミの声ばかり覚えている
僕らの影は夏の風の中
眩しいほどに刻まれて
深く(強く) 2人は (いつかは)遠くへ

大切な物をいつも 分けてくれたよね
背中ささえてくれて ありがとう

僕の手に結ばれた心が
途切れることない温もりを
遠い遠い夏へ繋いでいく この場所から
またキミの手の中に

二枚の貝殻はまるで
虹色の蝶のように海を羽ばたき キミに帰る(僕を連れて)
青い空 追い越していくから

誰かが残した夏の昔話とか
いつかキミに届くと 嬉しい

二人が手を結んだ思い出
目を閉じればほらよみがえる
青い青い夏を駆け続けた この場所には
僕らが刻まれていた
青く (空が)青く(海が)染まる(季節)まで

Please sign in to comment.