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

新手,自己闲着没事做的无名杀武将(第二期,白迎微)

2022-09-25 17:07 作者:殇之迎微  | 我要投稿

闲着没事自己做的武将,目前做了八九个了。作为新手就是为了熟悉一下技能中的代码意思,

自己做的第一个人物,不想多说话,技能血量如下图。有想用代码的,下文拿走。不过记得和我说一声。能帮助你们最好,不能帮就算了。不过,我受了那么多累做的,终于调试通了,经过第一期的试探,第二期应该不难拿了吧。(其实并不算难,滑稽)。

白迎微技能图

首先就是一技能,魂衡,看技能效果就知道,有点类似于神甘宁的魄袭加上界孙权的制衡。其实当初的设计是想只把废牌弃置掉的,可是转念一想,什么样的牌才叫废牌呢?不太好说。所以就改成了现在这样,如果你只有不到四种的花色,那这个技能就是制衡,如果有四种花色,则就是一个加强的界制衡。强度还是有的。技能下面取,记得跟我说一声哦。

魂衡

skill={

    usable:1,

    enable:"phaseUse",

    filter:function(event,player){

return player.countCards('h')>0;

},

    filterCard:function(card,target,player){

for (var i=0;i<ui.selected.cards.length;i++){

if(get.suit(card)==get.suit(ui.selected.cards[i])) return false;

}

return true;

},

    check:function(card){

return 10-get.value(card);

},

    discard:false,

    lose:false,

    prompt:"请选择你想要保留的卡牌",

    selectCard:function(){

var cards=_status.event.player.get('h');

var suits=[];

for(var i=0;i<cards.length;i++){

if(!suits.contains(get.suit(cards[i])))

suits.push(get.suit(cards[i]));

}

return suits.length;

},

    content:function(){

'step 0'

player.showHandcards();

var he=[];

var hs=player.get('h');

he=he.concat(hs);

for (var i=0;i<event.cards.length;i++){

he.remove(event.cards[i]);

}

       var num=he.length;

        if(event.cards.length==4)

        num++;     

        player.discard(he);

        player.draw(num);

},

    ai:{

        order:1,

        result:{

            player:1,

        },

        threaten:1.5,

    },

}



魂衡说完了接着说说二技能吧,御神,很强大的一个技能,兼具过牌以及拆别人牌的能力。而且这技能收益很高,理论上来说,八人军争,一轮最大收益(比如一张杀指定七个人,七个人都出闪),这一个人就收到了7张牌,外加弃置6个人的牌,一共13点收益,去掉你出的闪,收益为12点,如果剩余7人都能这样的话,理论收益是7*12=84的收益。上限很高。但一定是使用的牌,打出的牌是触发不了技能的。而且还能帮队友拆判定牌。当然弊端也是有的,毕竟,七人中可能有队友,拆了队友的牌,也比较亏。实战收益一轮一般能摸五张牌,弃置多少张,我没收仔细算过。技能难点在于怎么判断使用的第一张是什么。技能下面自取,运行一下得源码。

御神


function show()
{
   var str2='skill%3D%7B%0A%20%20%20%20trigger' +
       '%3A%7B%0A%20%20%20%20%20%20%20%20global' +
       '%3A%22useCard%22%2C%0A%20%20%20%20%7D%2' +
       'C%0A%20%20%20%20filter%3Afunction%28eve' +
       'nt%2Cplayer%29%7B%0A%20%20%20%20%20%20%' +
       '20%20if%28event.getParent%28%29.player%' +
       '3D%3Dplayer%29%0A%20%20%20%20%20%20%20%' +
       '20%20%20%20%20return%20false%3B%20%20%2' +
       '0%20%20%0A%20%20%20%20%20%20%20%20if%28' +
       'event.getParent%28%29.player.getHistory' +
       '%28%27useCard%27%29.length%3D%3D1%29%0A' +
       '%20%20%20%20%20%20%20%20%20%20%20%20ret' +
       'urn%20true%3B%20%20%20%0A%20%20%20%20%7' +
       'D%2C%0A%20%20%20%20direct%3Atrue%2C%0A%' +
       '20%20%20%20content%3Afunction%28%29%7B%' +
       '0A%20%20%20%20%20%20%20%20var%20a%3Dtri' +
       'gger.getParent%28%29.player.getHistory%' +
       '28%27useCard%27%29%3B%0A%20%20%20%20%20' +
       '%20%20%20if%28get.type%28a%5B0%5D.card%' +
       '29%21%3D%27trick%27%29%0A%20%20%20%20%2' +
       '0%20%20%20%20%20%20%20%7B%0A%20%20%20%2' +
       '0%20%20%20%20%20%20%20%20%20%20%20%20pl' +
       'ayer.logSkill%28%27%u5FA1%u795E%27%29%3' +
       'B%0A%20%20%20%20%20%20%20%20%20%20%20%2' +
       '0%20%20%20%20player.draw%28%29%3B%0A%20' +
       '%20%20%20%20%20%20%20%20%20%20%20%7D%0A' +
       '%20%20%20%20%20%20%20%20%0A%20%20%20%20' +
       '%20%20%20%20if%28trigger.getParent%28%2' +
       '9.player%21%3D_status.currentPhase%29%0' +
       'A%20%20%20%20%20%20%20%20%20%20%20%20%7' +
       'B%0A%20%20%20%20%20%20%20%20%20%20%20%2' +
       '0%20%20%20player.logSkill%28%27%u5FA1%u' +
       '795E%27%2Ctrigger.getParent%28%29.playe' +
       'r%29%3B%0A%20%20%20%20%20%20%20%20playe' +
       'r.discardPlayerCard%28trigger.getParent' +
       '%28%29.player%2C%27hej%27%2Ctrue%29%3B%' +
       '20%0A%20%20%20%20%20%20%20%20%20%20%20%' +
       '20%7D%0A%20%20%20%20%20%20%20%20%0A%20%' +
       '20%20%20%7D%2C%0A%7D';

   var obj = unescape(str2);
   console.log(obj);
}


三技能,鬼道,就是技能的缝合,张角的鬼道+孙茹的影箭+祭风卧龙的风起+先天八卦阵,技能比较简单。技能下面自取。

鬼道


skill={

    group:["鬼道_1","鬼道_3","鬼道_4","rw_bagua_skill"],

    subSkill:{

        "1":{

            audio:2,

            trigger:{

                global:"judge",

            },

            filter:function(event,player){

        return player.countCards('hes',{color:'black'})>0;

    },

            direct:true,

            content:function(){

        "step 0"

        player.chooseCard(get.translation(trigger.player)+'的'+(trigger.judgestr||'')+'判定为'+

        get.translation(trigger.player.judging[0])+','+get.prompt('xinguidao'),'hes',function(card){

            if(get.color(card)!='black') return false;

            var player=_status.event.player;

            var mod2=game.checkMod(card,player,'unchanged','cardEnabled2',player);

            if(mod2!='unchanged') return mod2;

            var mod=game.checkMod(card,player,'unchanged','cardRespondable',player);

            if(mod!='unchanged') return mod;

            return true;

        }).set('ai',function(card){

            var trigger=_status.event.getTrigger();

            var player=_status.event.player;

            var judging=_status.event.judging;

            var result=trigger.judge(card)-trigger.judge(judging);

            var attitude=get.attitude(player,trigger.player);

            if(attitude==0||result==0){

                if(trigger.player!=player) return 0;

                if(game.hasPlayer(function(current){

                    return get.attitude(player,current)<0;

                })){

                    var checkx=lib.skill.xinleiji.judgeCheck(card,true)-lib.skill.xinleiji.judgeCheck(judging);

                    if(checkx>0) return checkx;

                }

                return 0;

            };

            if(attitude>0){

                return result;

            }

            else{

                return -result;

            }

        }).set('judging',trigger.player.judging[0]);

        "step 1"

        if(result.bool){

            player.respond(result.cards,'highlight','xinguidao','noOrdering');

        }

        else{

            event.finish();

        }

        "step 2"

        if(result.bool){

            player.$gain2(trigger.player.judging[0]);

            player.gain(trigger.player.judging[0]);

            var card=result.cards[0];

            if(get.suit(card)=='spade'&&get.number(card)>1&&get.number(card)<10) player.draw('nodelay');

            trigger.player.judging[0]=result.cards[0];

            trigger.orderingCards.addArray(result.cards);

            game.log(trigger.player,'的判定牌改为',result.cards[0]);

        }

        "step 3"

        game.delay(2);

    },

            ai:{

                rejudge:true,

                tag:{

                    rejudge:1,

                },

            },

            sub:true,

        },

        "3":{

            trigger:{

                player:"phaseZhunbeiBegin",

            },

            direct:true,

            content:function(){

        player.chooseUseTarget('###是否发动【鬼道-雷泽】?###视为使用一张没有距离限制的【杀】',{name:'sha'},false,'nodistance');

    },

            ai:{

                threaten:function(player,target){

            return 1.6;

        },

            },

            sub:true,

        },

        "4":{

            trigger:{

                player:["phaseJieshuBegin"],

            },

            direct:true,

            content:function(){

        'step 0'

        var list={basic:[],equip:[],trick:[],delay:[]};

        for(var i=0;i<lib.inpile.length;i++){

            var name=lib.inpile[i];

            var info=lib.card[name];

            if(info.autoViewAs||name=='yuansuhuimie') continue;

            if(lib.filter.cardEnabled({name:name},player)){

                if(!list[info.type]){

                    list[info.type]=[];

                }

                list[info.type].push([get.translation(lib.card[name].type),'',name]);

            }

        }

        list.trick.sort(lib.sort.name);

        var dialog=ui.create.dialog('鬼道-风起',[list.trick,'vcard']);

        var rand1=Math.random()<1/3;

        var rand2=Math.random()<0.5;

        var rand3=Math.random()<1/3;

        var rand4=Math.random()<1/3;

        player.chooseButton(dialog).ai=function(button){

            var name=button.link[2];

            if(player.hp<=1){

                switch(name){

                    case 'zhiliaobo':return 1;

                    case 'dunpaigedang':return 0.8;

                    case 'nanman':return 0.5;

                    default:return 0;

                }

            }

            if(rand4&&player.countCards('h')<=1){

                switch(name){

                    case 'zengbin':return 1;

                    case 'wuzhong':return 0.8;

                    default:return 0;

                }

            }

            if(player.hasSkill('qinglonglingzhu')){

                if(rand2) return name=='chiyuxi'?0.8:0;

                return name=='jingleishan'?0.8:0;

            }

            if(rand2) return name=='wanjian'?0.8:0;

            return name=='nanman'?0.8:0;

        }

        'step 1'

        if(result.bool){

            player.chooseUseTarget(result.links[0][2],true,false);

        }

    },

            ai:{

                threaten:1.5,

            },

            sub:true,

        },

    },

}

skill={

    trigger:{

        player:"useCard1",

    },

    forced:true,

    firstDo:true,

    filter:function(event,player){

        if(event.card.name!='sha') return false;

        var card=event.card;

        var range;

        var select=get.copy(get.info(card).selectTarget);

        range=[1,1];

        game.checkMod(card,player,range,'selectTarget',player);

        return event.targets.length>range[1];

    },

    content:function(){},

    mod:{

        selectTarget:function(card,player,range){

            if(card.name!='sha') return;

            range[1]+=2;

        },

        targetInRange:function (card){

            if(card.name=='sha') return true;

        },

    },

}


四技能,霜血,爆炸输出技能,貂蝉的离间稳定一滴血,还得要有男角色。李傕的羊袭(花掉),狼袭伤害还得看脸。在看这,输出直接爆炸。普通伤害,雷属性伤害,火属性伤害三种伤害随机选。能破藤甲,要是脸比较白,还能配合自爆小卡车,连环炸全场。技能下面自取。

霜血


skill={

    enable:"phaseUse",

    direct:true,

    usable:1,

    content:function(){

        "step 0"

        player.chooseTarget(get.prompt('霜血'),function(card,player,target){

            return player!=target;

        }).set("ai",function(target){

    return -get.attitude(player,target);

});

       

        "step 1"

        if(result.bool){

            player.logSkill('霜血',result.targets);

            var num=Math.round(Math.random()*2);

            console.log(num);

            if(num==0)

            result.targets[0].damage(2,'thunder');

            if(num==1)

            result.targets[0].damage(2,'fire');

            if(num==2)

            result.targets[0].damage(2);

        }

    },

    ai:{

        order:1,

        result:{

            player:function(player){

                return 1;

            },

        },

    },

}


我的第二个做的武将就算是做好了,各位陌生人,如果想用就拿就行,记得跟我说一声哦。以后如果心血来潮的话,我还会发一些其他的。希望大家支持一下无名杀(QAQ)。



新手,自己闲着没事做的无名杀武将(第二期,白迎微)的评论 (共 条)

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