新手,自己閒著沒事做的無名殺武將(第八/九/十期,柳梢兒/姑蘇銘/夜將明)

閒著沒事自己做的武將,目前做了八九個了。作為新手就是為了熟悉一下技能中的程式碼意思,自己做的第八/九/十期,柳梢兒/姑蘇銘/夜將明,不想多說話,技能血量如下圖。有想用程式碼的,下文拿走。不過記得和我說一聲。能幫助你們最好,不能幫就算了。

柳梢兒技能圖

一技能:撫琴,有著強大的變相朱雀羽扇的功能,並且回合結束時,讓一位玩家獲得標記,這個可是大過牌,用一張,摸一張,還可以將一張其他牌,交給別的武將,過牌能力非常大。技能下面自取。

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)。

隨便看看 更多