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

闲着没事自己做的武将,目前做了八九个了。作为新手就是为了熟悉一下技能中的代码意思,
自己做的第一个人物,不想多说话,技能血量如下图。有想用代码的,下文拿走。不过记得和我说一声。能帮助你们最好,不能帮就算了。不过,我受了那么多累做的,终于调试通了,经过第一期的试探,第二期应该不难拿了吧。(其实并不算难,滑稽)。

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

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