閒著沒事自己做的武將,目前做了八九個了。作為新手就是為了熟悉一下技能中的程式碼意思,自己做的第八/九/十期,柳梢兒/姑蘇銘/夜將明,不想多說話,技能血量如下圖。有想用程式碼的,下文拿走。不過記得和我說一聲。能幫助你們最好,不能幫就算了。
柳梢兒技能圖一技能:撫琴,有著強大的變相朱雀羽扇的功能,並且回合結束時,讓一位玩家獲得標記,這個可是大過牌,用一張,摸一張,還可以將一張其他牌,交給別的武將,過牌能力非常大。技能下面自取。
skill={
trigger:{
player:"useCard1",
},
filter:function(event,player){
return (event.card.name=='sha');
},
audio:"ext:江湖往事:true",
direct:true,
content:function(){
'step 0'
var list=lib.linked.slice(0);
list.remove('kami');
list.remove(trigger.card.nature);
list.push('cancel2');
player.chooseControl(list).set('prompt',get.prompt('撫琴')).set('prompt2','大弦嘈嘈如急雨,小弦切切如私語\n'+'將'+get.translation(trigger.card)+'轉換為以下屬性之一');
'step 1'
if(result.control!='cancel2'){
trigger.card.nature=result.control;
player.popup(get.translation(result.control)+'殺',result.control);
game.log(trigger.card,'被轉為了','#y'+get.translation(result.control),'屬性')
}
},
group:["撫琴_1","chiyanzhenhunqin"],
subSkill:{
"1":{
unique:true,
trigger:{
player:"phaseJieshuBegin",
},
direct:true,
selectTarget:1,
filterTarget:function(card,player,target){
return player!=target;
},
content:function(){
"step 0"
player.chooseTarget(function(card,player,target){//選1個目標
return player!=target;//限制條件:你不是目標
},get.prompt('撫琴'),'令一名角色獲得“琴”標記').set("ai",function(target){
var player=get.player();
return get.attitude(player,target);
});
"step 1"
if(result.bool){
var length=result.targets.length;
for(var i=0;i<length;i++){
result.targets[i].addSkill('撫琴_2');
}
player.addSkill('撫琴_3');
player.logSkill('撫琴',result.targets);
}
else{
event.finish();
}
},
sub:true,
},
"2":{
trigger:{
player:"useCard",
},
mark:true,
intro:{
markcount:()=>1,
content:"共有1個標記",
},
forced:true,
content:function(){
"step 0"
player.draw();
player.chooseCardTarget(function(card,player,target){//選1個目標
return player!=target;//限制條件:你不是目標
},function(target){//ai:
var player=get.player();//定義變數player為選目標的發起者(不懂可以先不寫)
return get.attitude(player,target);//選敵人
},
{
filterCard:true,
selectCard:1,
filterTarget:function(card,player,target){
return player!=target&&target!=event.temp;
},
ai1:function(card){
if(ui.selected.cards.length>0) return -1;
if(card.name=='du') return 20;
return (_status.event.player.countCards('h')-_status.event.player.hp);
},
ai2:function(target){
var att=get.attitude(_status.event.player,target);
if(ui.selected.cards.length&&ui.selected.cards[0].name=='du'){
if(target.hasSkillTag('nodu')) return 0;
return 1-att;
}
return att-4;
},
prompt:'請選擇要送人的卡牌'
});
"step 1"
if(result.bool){
player.line(result.targets,'green');
result.targets[0].gain(result.cards,player,'giveAuto');}
},
sub:true,
},
"3":{
trigger:{
player:["phaseBegin","dieBegin"],
},
silent:true,
content:function(){
for(var i=0;i<game.players.length;i++){
if(game.players[i].hasSkill('撫琴_2')){
game.players[i].removeSkill('撫琴_2');
}
}
player.removeSkill('撫琴_3');
},
sub:true,
forced:true,
popup:false,
},
},
}
二技能:幻音,選擇一名武將讓其進入混亂狀態,持續一回合。強大的控場能力。比翻面還難受。
skill={
trigger:{
player:"phaseJieshuBegin",
},
frequent:true,
content:function(){
"step 0"
player.chooseTarget(function(card,player,target){
return player!=target&&!target.isMad();
},get.prompt('幻音'),'使其陷入混亂狀態').set("ai",function(target){
var player=get.player();
return -get.attitude(player,target);
});
"step 1"
if(result.bool){
console.log(result.targets[0]);
player.line(target,'green');
result.targets[0].goMad({player:'phaseAfter'});
}
},
}
三技能:琴心,一看就是輔助奶媽,這技能用來打boss不錯,畢竟回血能力擺在那裡。
skill={
unique:true,
enable:"phaseUse",
audio:"ext:江湖往事:2",
usable:1,
filterTarget:function(card,player,target){
return true;
},
multitarget:true,
multiline:true,
selectTarget:function(){
return [1,3];
},
content:function(){
for(var i=0;i<targets.length;i++)
targets[i].recover();
},
ai:{
order:1,
result:{
target:function(player,target){
return 1;
},
},
},
}
四技能:思弦,可以用黃月英的集智來代替。太簡單了,就不給原始碼了。
姑蘇銘技能圖
一技能:破魔,這技能我發過,在以前專欄裡,這不重複了。
二技能:天變,這技能和趙元帥技能差不多,不多說了。技能下面拿。
skill={
trigger:{
player:"enterGame",
global:"phaseBefore",
},
unique:true,
filter:function(event,player){
return event.name!="phase"||game.phaseNumber==0;
},
content:function(){
'step 0'
var num=Math.round(Math.random()*3);
event.num=num;
'step 1'
var name_name;
if(event.num==0)
name_name='wei';
if(event.num==1)
name_name='shu';
if(event.num==2)
name_name='wu';
if(event.num==3)
name_name='qun';
var list;
if(_status.characterlist){
list=[];
for(var i=0;i<_status.characterlist.length;i++){
var name=_status.characterlist[i];
if(lib.character[name][1]==name_name) list.push(name);
}
}
else if(_status.connectMode){
list=get.charactersOL(function(i){
return lib.character[i][1]!=name_name;
});
}
else{
list=get.gainableCharacters(function(info){
return info[1]==name_name;
});
}
var players=game.players.concat(game.dead);
for(var i=0;i<players.length;i++){
list.remove(players[i].name);
list.remove(players[i].name1);
list.remove(players[i].name2);
}
list=list.randomGets(Math.max(4,game.countPlayer()));
var skills=[];
for(var i of list){
skills.addArray((lib.character[i][3]||[]).filter(function(skill){
var info=get.info(skill);
return info&&!info.zhuSkill&&!info.limited&&!info.juexingji&&!info.hiddenSkill&&!info.charlotte&&!info.dutySkill;
}));
}
if(!list.length||!skills.length){event.finish();return;}
if(player.isUnderControl()){
game.swapPlayerAuto(player);
}
var switchToAuto=function(){
_status.imchoosing=false;
event._result={
bool:true,
skills:skills.randomGets(3),
};
if(event.dialog) event.dialog.close();
if(event.control) event.control.close();
};
var chooseButton=function(list,skills){
var event=_status.event;
if(!event._result) event._result={};
event._result.skills=[];
var rSkill=event._result.skills;
var dialog=ui.create.dialog('請選擇獲得至多兩個技能',[list,'character'],'hidden');
event.dialog=dialog;
var table=document.createElement('div');
table.classList.add('add-setting');
table.style.margin='0';
table.style.width='100%';
table.style.position='relative';
for(var i=0;i<skills.length;i++){
var td=ui.create.div('.shadowed.reduce_radius.pointerdiv.tdnode');
td.link=skills[i];
table.appendChild(td);
td.innerHTML='<span>'+get.translation(skills[i])+'</span>';
td.addEventListener(lib.config.touchscreen?'touchend':'click',function(){
if(_status.dragged) return;
if(_status.justdragged) return;
_status.tempNoButton=true;
setTimeout(function(){
_status.tempNoButton=false;
},500);
var link=this.link;
if(!this.classList.contains('bluebg')){
if(rSkill.length>=3) return;
rSkill.add(link);
this.classList.add('bluebg');
}
else{
this.classList.remove('bluebg');
rSkill.remove(link);
}
});
}
dialog.content.appendChild(table);
dialog.add(' ');
dialog.open();
event.switchToAuto=function(){
event.dialog.close();
event.control.close();
game.resume();
_status.imchoosing=false;
};
event.control=ui.create.control('ok',function(link){
event.dialog.close();
event.control.close();
game.resume();
_status.imchoosing=false;
});
for(var i=0;i<event.dialog.buttons.length;i++){
event.dialog.buttons[i].classList.add('selectable');
}
game.pause();
game.countChoose();
};
if(event.isMine()){
chooseButton(list,skills);
}
else if(event.isOnline()){
event.player.send(chooseButton,list,skills);
event.player.wait();
game.pause();
}
else{
switchToAuto();
}
'step 2'
var map=event.result||result;
if(map&&map.skills&&map.skills.length){
for(var i of map.skills) player.addSkillLog(i);
}
game.broadcastAll(function(list){
game.expandSkills(list);
for(var i of list){
var info=lib.skill[i];
if(!info) continue;
if(!info.audioname2) info.audioname2={};
info.audioname2.old_yuanshu='weidi';
}
},map.skills);
'step 3'
if(player.isMinHp()) player.recover();
},
}
三技能:鳳簫,這個技能以前發過,不說了。
夜將明技能圖一技能:神裔,就是boss戰裡面的,不多說了。
二技能:千機,這個要配合著我以前發的千機傘,千機武器那一章看,算是他的專屬武器了。
skill={
group:["千機_1","千機_2","千機_3"],
subSkill:{
"1":{
trigger:{
player:"equipBegin",
},
forced:true,
filter:function(event,player){
return event.card.name=='千機傘';
},
content:function(){
player.disableEquip('equip1');
player.disableEquip('equip2');
},
sub:true,
},
"2":{
trigger:{
player:"loseAfter",
global:["equipAfter","addJudgeAfter","gainAfter","loseAsyncAfter","addToExpansionAfter"],
},
forced:true,
filter:function(event,player){
var evt=event.getl(player);
if(!evt||!evt.es||!evt.es.length) return false;
if(event.name=='equip'&&event.player==player) return false;
for(var i of evt.es){
if(get.subtype(i,false)=='equip5'&&player.storage.千機傘==false) return true;
}
return false;
},
content:function(){
for(var i=0;i<6;i++)
player.enableEquip('equip'+i);
},
sub:true,
},
"3":{
trigger:{
player:"phaseBefore",
},
forced:true,
filter:function(event,player){
return !player.getEquip(5);
},
content:function(){
var card=get.cardPile('千機傘','field');
if(card){
player.equip(card,false);
}
},
sub:true,
},
},
}
三技能:花神,添頭技,沒啥大用,就跟名字一樣,是添頭技,以後會加強這個武將,這個武將實戰起來太弱了。
skill={
trigger:{
player:"phaseZhunbeiBegin",
},
filter:function(event,player){
if(player.isDisabled('equip1')) return false;
var name=player.getEquip(1).name;
var flag=0;
var cards=player.getCards('h');
if(((cards[1].name=='sha'&&cards[0].name=='shandian')||(cards[0].name=='sha'&&cards[1].name=='shandian'))&&cards.length==2) flag=1;;
if(name!='千機弩') return false;
return flag;
},
content:function(){
player.addTempSkill("化神_1");
},
subSkill:{
"1":{
enable:["chooseToUse","chooseToRespond"],
filter:function(event,player){
for(var i of lib.inpile){
var type=get.type2(i);
if((type=='basic'||type=='trick')&&lib.filter.filterCard({name:i},player,event)) return true;
}
return false;
},
chooseButton:{
dialog:function(event,player){
var list=[];
for(var i=0;i<lib.inpile.length;i++){
var name=lib.inpile[i];
if(name=='sha'){
if(event.filterCard({name:name},player,event)) list.push(['基本','','sha']);
for(var j of lib.inpile_nature){
if(event.filterCard({name:name,nature:j},player,event)) list.push(['基本','','sha',j]);
}
}
else if(get.type2(name)=='trick'&&event.filterCard({name:name},player,event)) list.push(['錦囊','',name]);
else if(get.type(name)=='basic'&&event.filterCard({name:name},player,event)) list.push(['基本','',name]);
}
return ui.create.dialog('化神',[list,'vcard']);
},
filter:function(button,player){
return _status.event.getParent().filterCard({name:button.link[2]},player,_status.event.getParent());
},
check:function(button){
if(_status.event.getParent().type!='phase') return 1;
var player=_status.event.player;
if(['wugu','zhulu_card','yiyi','lulitongxin','lianjunshengyan','diaohulishan'].contains(button.link[2])) return 0;
return player.getUseValue({
name:button.link[2],
nature:button.link[3],
});
},
backup:function(links,player){
return {
filterCard:true,
popname:true,
check:function(card){
return 8-get.value(card);
},
position:'hse',
viewAs:{name:links[0][2],nature:links[0][3]},
precontent:function(){
},
}
},
prompt:function(links,player){
return '將一張牌當做'+(get.translation(links[0][3])||'')+get.translation(links[0][2])+'使用';
},
},
hiddenCard:function(player,name){
var type=get.type2(name);
return (type=='basic'||type=='trick')&&player.countCards('she')>0;
},
ai:{
combo:"spwuku",
fireAttack:true,
respondSha:true,
respondShan:true,
skillTagFilter:function(player){
if(!player.countMark('spwuku')||!player.countCards('hse')) return false;
},
order:1,
result:{
player:function(player){
if(_status.event.dying) return get.attitude(player,_status.event.dying);
return 1;
},
},
},
sub:true,
},
},
}
我的第八/九/十個做的武將就算是做好了。各位陌生人,如果想用就拿就行,記得跟我說一聲哦。以後如果心血來潮的話,我還會發一些其他的,基本上我目前做的已經做完了,武將之間很不平衡,後續會進行調整,希望大家支援一下無名殺(QAQ)。









