新元的無(wú)名殺擴(kuò)展教程(一)技能_1最簡(jiǎn)單的trigger類技能
引子
你想創(chuàng)建一個(gè)你的拓展,打開(kāi)編輯拓展,編輯技能,為你的技能輸入好漂亮的名字,寫好了描述卻無(wú)從下手?
沒(méi)關(guān)系,這個(gè)教程將手把手教你學(xué)會(huì)編寫技能。

1.技能類型
技能有很多類型:trigger類,enable類,mod類,等等。
技能的類型決定了技能的基本結(jié)構(gòu),下面,我們就以trigger技能為例開(kāi)始編寫技能
2.以trigger類技能為例
trigger類技能即觸發(fā)技,只要達(dá)到某個(gè)條件,就發(fā)動(dòng)此技能。比如:你受到傷害后,你失去體力后,你的摸牌階段……。
要寫一個(gè)trigger類的技能,就要先表明寫的是trigger類的技能,如下:
trigger:{
}
在這個(gè)大括號(hào)內(nèi),就可以填觸發(fā)的時(shí)機(jī)。
如果我們要寫:你在受到傷害后觸發(fā)此技能,就在括號(hào)內(nèi)這樣寫:
player:"damageEnd"
冒號(hào)前的是觸發(fā)的角色,冒號(hào)后的是觸發(fā)的時(shí)機(jī)。player,就是擁有這個(gè)技能的角色。"damageEnd",就是受到傷害后。
如果有多個(gè)時(shí)機(jī),可以用[]將所有時(shí)機(jī)框起來(lái),注意時(shí)機(jī)和時(shí)機(jī)以","相連,如:
player:["damageEnd","loseHpEnd"]
這樣,這名角色就在受到傷害后、失去體力后觸發(fā)此技能
這個(gè)是通法,單個(gè)時(shí)機(jī)也可以寫成這樣。
現(xiàn)在我們的代碼就成了這個(gè)樣子:
trigger:{
? ? ? player:["damageEnd","loseHpEnd"]
}
設(shè)置了觸發(fā)時(shí)機(jī),我們接下來(lái)就要寫技能的內(nèi)容了。格式如下:
content:function(){
}
接下就是要往里面裝東西了。
如果我們想讓技能發(fā)動(dòng)者摸牌,怎么辦呢?
就在大括號(hào)里填
player.draw()
前面那一個(gè)是對(duì)象,后面一個(gè)是對(duì)象執(zhí)行的任務(wù)(或者說(shuō),做的事情)。player就是技能發(fā)動(dòng)者,draw()就是摸牌。
我們?nèi)绻胍猵layer摸多張牌呢?draw()的()未填時(shí),默認(rèn)摸牌數(shù)為1。填上一個(gè)數(shù),摸牌數(shù)就變了。
如:
player.draw(2)
就是摸2張牌了。
這樣我們就編寫了一個(gè)簡(jiǎn)單的技能:
trigger:{
? ? ? player:["damageEnd","loseHpEnd"]
},
content:function(){
? ? ? ?player.draw(2)
}
當(dāng)你受到傷害后及失去體力后,你摸兩張牌。

tips:
①在技能中,我們可以看到 key:value?這樣一種形式,要注意的是,除了最末尾的那一個(gè)可以不用,其余的在結(jié)束必須都要打","(英文逗號(hào))。要注意點(diǎn)是key只能以字母開(kāi)頭,不能含特殊符號(hào)。
如:
skill={
a:true,
b:[1,2],
c:"你好",
d:{
d1:1,
d2:function(){
}
}
}
②編輯技能中開(kāi)始都是skill={},請(qǐng)將所有代碼寫在這個(gè)括號(hào)內(nèi)。另外,確保{},[],()是完整的,而且是英文標(biāo)點(diǎn)。