欢迎光临散文网 会员登陆 & 注册

新手,自己闲着没事做的无名杀武将(第八/九/十期,柳梢儿/姑苏铭/夜将明)

2023-03-10 16:55 作者:殇之迎微  | 我要投稿

闲着没事自己做的武将,目前做了八九个了。作为新手就是为了熟悉一下技能中的代码意思,自己做的第八/九/十期,柳梢儿/姑苏铭/夜将明,不想多说话,技能血量如下图。有想用代码的,下文拿走。不过记得和我说一声。能帮助你们最好,不能帮就算了。

柳梢儿技能图

一技能:抚琴,有着强大的变相朱雀羽扇的功能,并且回合结束时,让一位玩家获得标记,这个可是大过牌,用一张,摸一张,还可以将一张其他牌,交给别的武将,过牌能力非常大。技能下面自取。

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

新手,自己闲着没事做的无名杀武将(第八/九/十期,柳梢儿/姑苏铭/夜将明)的评论 (共 条)

分享到微博请遵守国家法律