編輯器零件制作5:復(fù)刻瑪恩納的天賦“無(wú)動(dòng)于衷”與三技能附加傷害
瑪恩納的二天賦“無(wú)動(dòng)于衷”描述為:在場(chǎng)時(shí),自身更容易受到攻擊,所有卡西米爾干員被攻擊時(shí)反彈相當(dāng)于瑪恩納攻擊力18%(+3%)的真實(shí)傷害。
首先是嘲諷,沒(méi)有難度,直接嘲諷等級(jí)在表格里寫1即可。
其次就是本次的主題:反傷和通過(guò)同樣的原理制作的附加傷害,分析一下這個(gè)技能可以得出:
(1)叔叔在場(chǎng)時(shí),該天賦生效,退場(chǎng)之后這個(gè)天賦效果就會(huì)消失。
(2)天賦生效的單位被攻擊的時(shí)候,以瑪恩納當(dāng)前攻擊的18%為準(zhǔn),對(duì)攻擊者造成真實(shí)傷害,需要確認(rèn)敵人造成傷害時(shí)的傷害信息,包括被攻擊者、瑪恩納和攻擊者。
(3)只有卡西米爾干員才能吃到這個(gè)天賦。
最后將這個(gè)天賦制作為一種“Buff”,由瑪恩納每隔0.1秒附加給全場(chǎng)帶有無(wú)效果“卡西米爾”Buff的單位,該Buff持續(xù)0.1秒。
(1)首先在Buff文件夾下新建一個(gè)腳本,取名為反傷,定義float變量damage(傷害),enum變量damagetype(傷害類型),布爾值EnemyOnly(只有true和false對(duì)錯(cuò)兩種結(jié)果)

(2)隨后取到表格中BuffData處的相應(yīng)數(shù)值,獲取傷害基準(zhǔn)、傷害類型和EnemyOnly的正確與否,這里由于需要取到叔叔的攻擊力,所以采用的是case 1,也就是釋放技能,賦予Buff的Unit的攻擊力,即叔叔的攻擊力。

(3)然后使用Modify方法。① 在EnemyOnly為false時(shí),對(duì)傷害信息的來(lái)源造成傷害,傷害量Attack取值為damage,傷害類型DamageType取值為表格中的DamageType,目標(biāo)Target為傷害來(lái)源,來(lái)源Source為釋放技能賦予Buff的單位Skill.Unit(即瑪恩納)。②?在EnemyOnly為true時(shí),如果傷害來(lái)源是敵人類的Unit,才會(huì)觸發(fā)相同的反傷效果(這樣阿就不會(huì)把自己殺死了)。

(4)最后在表格中的BuffData欄新建一行Type為“反傷”的Buff,Data列填寫以下內(nèi)容即可。
{"DamageBase":1,"DamageType":"Real","EnemyOnly":true}

同樣的道理也可以用于制作瑪恩納三技能“未照耀的榮光”的附加傷害,該技能的描述為:范圍內(nèi)所有敵人受到卡西米爾干員攻擊時(shí)額外附帶瑪恩納12%攻擊力的真實(shí)傷害。
與反傷buff有所不同的是,前者是瑪恩納每0.1秒附加給場(chǎng)上所有帶有“卡西米爾”Buff的隊(duì)友,后者是瑪恩納在技能期間激活額外技能,每0.1秒附加給射程內(nèi)所有的敵人一個(gè)受到傷害時(shí)附加額外傷害的Debuff,觸發(fā)條件為傷害來(lái)源具有特定Buff(即“卡西米爾”)。
(1)首先在Buff文件夾下新建一個(gè)腳本,取名為受擊附加傷害,定義float變量damage(傷害),enum變量damagetype(傷害類型),buffId借用了隔壁減傷腳本獲取判定對(duì)象是否具有特定buff的效果。

(2)第二步取到表格中BuffData處的相應(yīng)數(shù)值,獲取傷害基準(zhǔn)、傷害類型和生效所需的Buff名,這里由于需要取到叔叔的攻擊力,所以采用的是case 1,也就是釋放技能,賦予Buff的Unit的攻擊力,即叔叔的攻擊力。

(3)最后使用Modify方法,在不填寫buffId,或是傷害信息的來(lái)源具有特定Buff(在這里需要攻擊者具有“卡西米爾”Buff才可以生效)時(shí),對(duì)Unit造成傷害。
傷害量Attack取值為damage,傷害類型DamageType取值為表格中的DamageType,目標(biāo)Target為持有該Buff的單位Unit,來(lái)源Source為釋放技能賦予Buff的單位Skill.Unit(即瑪恩納)。

(4)最后在表格中的BuffData欄新建一行Type為“受擊附加傷害”的Buff,Data列填寫以下內(nèi)容即可。
{"DamageBase":1,"DamageType":"Real","TargetBuffNeed":"卡西米爾"}

這樣叔叔的兩個(gè)機(jī)制就都搞定了。