新手,自己閑著沒事做的無名殺武將(第二期,白迎微)

閑著沒事自己做的武將,目前做了八九個(gè)了。作為新手就是為了熟悉一下技能中的代碼意思,
自己做的第一個(gè)人物,不想多說話,技能血量如下圖。有想用代碼的,下文拿走。不過記得和我說一聲。能幫助你們最好,不能幫就算了。不過,我受了那么多累做的,終于調(diào)試通了,經(jīng)過第一期的試探,第二期應(yīng)該不難拿了吧。(其實(shí)并不算難,滑稽)。

首先就是一技能,魂衡,看技能效果就知道,有點(diǎn)類似于神甘寧的魄襲加上界孫權(quán)的制衡。其實(shí)當(dāng)初的設(shè)計(jì)是想只把廢牌棄置掉的,可是轉(zhuǎn)念一想,什么樣的牌才叫廢牌呢?不太好說。所以就改成了現(xiàn)在這樣,如果你只有不到四種的花色,那這個(gè)技能就是制衡,如果有四種花色,則就是一個(gè)加強(qiáng)的界制衡。強(qiáng)度還是有的。技能下面取,記得跟我說一聲哦。

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,
? ? },
}
魂衡說完了接著說說二技能吧,御神,很強(qiáng)大的一個(gè)技能,兼具過牌以及拆別人牌的能力。而且這技能收益很高,理論上來說,八人軍爭,一輪最大收益(比如一張殺指定七個(gè)人,七個(gè)人都出閃),這一個(gè)人就收到了7張牌,外加棄置6個(gè)人的牌,一共13點(diǎn)收益,去掉你出的閃,收益為12點(diǎn),如果剩余7人都能這樣的話,理論收益是7*12=84的收益。上限很高。但一定是使用的牌,打出的牌是觸發(fā)不了技能的。而且還能幫隊(duì)友拆判定牌。當(dāng)然弊端也是有的,畢竟,七人中可能有隊(duì)友,拆了隊(duì)友的牌,也比較虧。實(shí)戰(zhàn)收益一輪一般能摸五張牌,棄置多少張,我沒收仔細(xì)算過。技能難點(diǎn)在于怎么判斷使用的第一張是什么。技能下面自取,運(yùn)行一下得源碼。

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);
}
三技能,鬼道,就是技能的縫合,張角的鬼道+孫茹的影箭+祭風(fēng)臥龍的風(fēng)起+先天八卦陣,技能比較簡單。技能下面自取。

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('###是否發(fā)動(dòng)【鬼道-雷澤】?###視為使用一張沒有距離限制的【殺】',{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('鬼道-風(fēng)起',[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;
? ? ? ? },
? ? },
}
四技能,霜血,爆炸輸出技能,貂蟬的離間穩(wěn)定一滴血,還得要有男角色。李傕的羊襲(花掉),狼襲傷害還得看臉。在看這,輸出直接爆炸。普通傷害,雷屬性傷害,火屬性傷害三種傷害隨機(jī)選。能破藤甲,要是臉比較白,還能配合自爆小卡車,連環(huán)炸全場。技能下面自取。

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;
? ? ? ? ? ? },
? ? ? ? },
? ? },
}
我的第二個(gè)做的武將就算是做好了,各位陌生人,如果想用就拿就行,記得跟我說一聲哦。以后如果心血來潮的話,我還會(huì)發(fā)一些其他的。希望大家支持一下無名殺(QAQ)。