切換
舊版
前往
大廳
主題

RM MV學習筆記(13) 傷害演出

路漫行 | 2018-03-11 16:46:11 | 巴幣 2 | 人氣 383


這篇是抱怨文


前幾天我突發奇想,想要幫Critical換圖,畢竟內建的Critical只是閃幾下紅光,效果實在很不清楚,所以我很快地找到了Sprite_Damage。

很好,所有的傷害演出都在Sprite_Damage裡面,裡面也有setupCriticalEffect()專門處理Critical的特效,所以理論上我只需要在setupCriticalEffect()更新我想做的東西...

我最後雖然成功換圖了,但其實並不是在setupCriticalEffect()裡面做,而是在createDigits()裡
,因為原本的舊圖就是在那邊做的,我想說就放在一起吧。

所以我做的是createDigits()寫一個if去判斷爆擊。

進戰鬥測試,很好,爆擊是紅字,普傷白字,一切OK,看起來如此簡單,沒想到災難才開始。

只要我爆擊過,下一次跑特殊damage的時候,像是中毒、補血的傷害特效也全部都變成爆擊的紅字(補血應該是內建的藍字)

補血很容易判斷,所以很快就修好哩。

但毒傷就搞死我哩,在不知情的玩家看起來就像是中毒的DOT傷害也會爆擊!

雖然實際傷害並沒有*上爆擊倍率。

這Bug太嚴重了,我一定得修掉他,否則可能要放棄整個Critacal的修改。

我東找西找找了好幾天,都一無所獲,沒有進度就算了,還越來越糟糕,我明明把主角設定程爆擊率+200%,但實際打起來像是只有20%,5次攻擊才一次爆擊。


WHY!!!!!!??

我只改了演出,卻連公式都壞掉了!!!!!!!!!!!!!


我最後起肖到把所有攻擊傷害公式砍掉,設定成定值100,爆擊300。

發現壞掉的爆擊率其實沒有壞掉,雖然沒有爆擊演出,但其實他的傷害是300。果然還是演出壞掉了,但我寫的東西明明很單純,就只有一個if。

我又忽然發現他的特效演出常常是我的上一個動作


比如說

A 爆擊 (演出沒有爆擊)
B 沒有爆擊 (演出有爆擊)
C 跳毒傷 (演出沒有爆擊)
D 爆擊  (演出沒有爆擊)
E 跳毒傷 (演出有爆擊)
...
..
.


最後...


我想通了...


我把找到了Sprite_Damage.prototype.setup()

然後把裡面判斷傷害順序改成爆擊最優先(原本是MISS最優先)

一切bug通通都修好了,中毒再也不會看起來會爆擊了
(我本來還真以為底層的Hp最大傷害有設定能爆擊哩)

最棒的是,只要發動了Critical,就不會MISS了!(原本是會的)


有沒有好棒棒阿,只要衝高Critical就不用衝命中了。


送禮物贊助創作者 !
0
留言

創作回應

更多創作