(PS.僅在PTT神魔版上分享,請不要轉貼到其他地方or論壇,感恩!)
4.6版最令人興奮就是狂魔的主動技能第一回合無效bug?
甚至連巴哈姆特也討論很熱烈,一堆莫名其妙的說法都出來,
小弟身為鍵盤程序員肯定要檢查一下到底發生甚麼事情.
經過了稍微理解並比較4.5版的程式後,在此跟大家分享一下;
首先,神魔的狂魔作法是
[4.5版]
啟動技能(點技能or重新讀檔觸發) ->
提高傷害 ->
註冊怪物死亡listener ->
註冊戰鬥結束回合(並根據死亡listener中的殺敵數來增加有效次數) ->
標記 activated=1
這樣的程式是沒問題的,但問題是每次讀檔就會重新註冊怪物死亡與結束listener
導致重開程式後,一打死怪,回合會持續累積
[4.6版]
為了解決4.5版的問題,官方做了一個小調整;即在啟動技能前,會判斷技能是否已經啟動
啟動技能(點技能or重新讀檔觸發) ->
[如果已經啟動] {
提高傷害 ->
}
[不然] {
註冊怪物死亡listener ->
註冊戰鬥結束回合(並根據死亡listener中的殺敵數來增加有效次數) ->
標記 activated=1
}
其實就是加個if 和 else 而以,這樣如果技能已經啟動,
他就不會註冊死亡跟回合結束listener,只會提高傷害
不過在 else 的另外一邊 卻忘了'提高傷害',只會註冊listener
結果導致第一回合沒有提高傷害,必須在後面回合(activted之後)才有.
結論: 看起來像是要修改4.5狂魔累積數量的BUG而造成的第二個BUG.
不過如果官方裝死........