與全球魔獸最大懷舊新N服抗衡的C服4月開發更新 修復乾貨很強
文章推薦指數: 80 %
晚上好,
是時候簡單的說下過去兩周發生的事情了,因為資料庫的問題減少了,所以我們可以專心解決核心問題了。
所以我們也拿了點假期,處理一下生活上的雜事。
Asura被做了很多法術參數,法術增益,法術減益,法系歸類的工作。
我們修復了很多觸發性法術,非常多的時間被花在了血性狂暴上。
現在只要聽到血性狂暴就感到噁心。
我們還修復了各種雜七雜八的問題,包括物品保存,一個一直讓物品冷卻的奇怪問題,並去除了一些過去沒有用的零時補丁,現在被妥善處理了。
懷舊魔獸玩家群607578157
還有什麼呢?...魔法護盾被修復了,變形物的生命回復,一些看不見的問題...除了一兩個大問題都是雜七雜八的問題。
舉個例子,Rodeg寫了一個處理器讓殺怪可以合理分配休息間的經驗。
除了上面的,我們也在做上一次更新的事情,三分之二已經完成了。
保存/加載的問題被修復了,這其實是關於戰士的問題,無論什麼時候戰鬥姿態的威脅會替代其他姿態的威脅。
我只是把結束
動作中放到可以妥善處理刺激狀態下的威脅的代碼中了,結果就是要分兩步處理。
第一步是防止周期性的魔法增加產生威脅(如 魔法泉水圖騰)。
起初Ascent 模擬器的法術代碼直接修改目標的魔法,所以並沒有增加威脅。
Asura 修改並優化了一些代碼,所以這些周期的激勵狀態可以調用
周期的激勵代碼,他們已經有威脅元件了,所以可以忽略周期魔法產生的威脅,比如魔法泉水和智慧祝福.
其次,我們的Beta測試人員研究發現從怒氣(也是一種激勵效應)獲得的威脅不應被百分比威脅
修改器修改(比如姿態)。
因此當你從盾牌專精或者血性狂暴獲得5威脅,就只有5威脅,永遠只有5威脅。
救贖,寧靜,防禦姿態...不應修改這個數值。
一個自定義的屬性就可以讓威脅修改器忽
略這些相關的法術了。
我試過其他很多方法,但自定義屬性似乎是最簡潔的。
我還看一看連擊點這個爛東西。
我很確定我知道問題在哪裡,似乎與連續事件和連擊點移除時間有關。
我們之前實施法術延遲系統時就有個相關的問題,當法術完成時連擊點就被移除了。
我們
打了個補丁,好了一段時間。
但法術系統的重構又破壞了原有的代碼,所以我們要再看一看這個順序。
我在做而且頭疼的另一件事情是額外攻擊流程。
這是wower迷喜歡的,而且大量的惡語,互相牴觸的證據,各種困惑在beta的討論中從未停止。
但似乎沒有人真正知道這是什麼,怎麼和其他交互。
用暴雪的那些法術描述中的-困惑的術語,重複的聲明並沒有什麼幫助。
比如,劍專精說在產生傷害後給你x%的幾率得到一次額外攻擊, 痛擊(痛擊之刃觸發)說下次攻擊獲得一個額外攻擊。
當說下次攻擊的時候,意思是馬上就獲得,還是下次自動攻擊的時候,它連續擊打兩次?如果是這樣間隔又是多少?你能具體說明「你的下一次攻擊「嗎?還是走遠一點,再用在另一個怪身上?你的下一次攻擊是用完了就完了還是它還能產生另外一次攻擊?如果是這樣,它是隨著同一次攻
擊還是下一次攻擊?這種能力可以產生多次在同一個初始的攻擊上嗎?(順便說一句,我們是作用在下一次攻擊,有點傻。
同樣的問題我在之前關於連擊點的時候就說了,我認為還是他們順序
和何時執行的問題。
我以後會看這個)。
一些反問即使已經我們已經知道答案,人們還是不停的問,總有些好理由。
暴雪在初始服就改了很多次這些技能,所以互相矛盾的證據在很多地方都存在。
我曾經看到四種反對者(Ironfoe)的隨機觸發的截圖,或者風怒觸發風怒效果。
我曾看到一次觸發3種能力的戰鬥日誌。
但只獲得一次額外攻擊。
告訴你們這些只是說看起來沒有根據說這個一定是這樣工作的,而我能做的就只是和暴雪一樣,嘗試排除那些不相干的東西,去除那些暴雪同樣費心試圖去除的。
-首先我要讓所有的額外攻擊過程在觸發的那次攻擊是立即觸發。
你不能把額外攻擊帶到另外一個目標上(除了清算,另外一個故事)。
如果目標死亡或者免疫/無法選中,所有的額外攻擊會被浪費掉。
這是困擾我們的另外一個問題,但我覺得儘快解決他。
-其次,一次單獨攻擊只能產生一次「額外攻擊」計數。
舉個例子,如果反對者(Ironfoe)獲得灼熱武器,和正義之手,你做了一次自動攻擊並且產生了三次觸發,那將要發生的是你通過首次攻擊
得到了灼熱武器的觸發,並且你得到了兩次額外攻擊(都是通過反對者-正義之手觸發被忽略掉了,因為他是低版本的反對者觸發),而不是加入三次額外觸發。
這個行為在1.12版本提及劍專精的時候很明顯,風怒圖騰和正義之手都是同時進行單只產生了一次額外攻擊而不是三個。
簡短的
說,只有最高的的指令會產生一次攻擊,這是個很麻煩的東西,現在還不知道怎麼做。
-第三,一次額外攻擊可以觸發另一次額外攻擊,但只能通過其他途徑,而且一次一個。
我已經有一個能用的代碼版本了,但需要優化。
舉個例子:
可行的:初始攻擊觸發風怒->風怒又出發了正義之手->正義之手又觸發了反對者
不可行的:初始攻擊觸發了風怒->風怒觸發了另一個風怒
這也是不可行的:初始攻擊觸發了風怒->風怒的額外攻擊觸發了正義之手->正義之手的額外攻擊觸發了另一次風怒
我理解這不是100%的暴雪類似的做法,但這明顯是暴雪一直嘗試改正的;他們做了一系列努力去解決這個問題,並且我不認同你可以一直連續下去並來回保持觸發額外攻擊,任何遊戲的東西都只要一下。
這種行為是明顯不提倡的有破壞性的,並且我覺得沒有理由去維持一個暴雪都希望修復的機制,包括半測量,潛行路徑,暗夜精靈,增益,機制,來讓他們重新運行。
我希望聽到
別人的觀點,但我不一定會改變我的想法。
很明顯有很多自相矛盾的證據證明各種運行機制,所以這是我希望的CF(Crestfall)運行的方式。
好了,我估計有些討論可能激怒了所有的看來這文章的部落玩家,這個或者那個原因。
我暫時保持我的想法,再說多一次,我希望聽取別人的意見。
如果我沒有做過的我肯定不會說,但拜託你們不要像猩猩發火一樣對我。
目前要說的就這麼多。
我的下一次更新會在五月一號的星期一,一如既往,隨意留下你的評論或者提問。
不久再聊,再次感謝你對Crestfall的興趣
懷舊魔獸玩家群607578157
以下為英文原文:
Good evening,
Time for a quick rundown of the last two weeks. The database bugs have been slower in coming so we've been focusing more on core work. We've also been taking a bit of vacation and dealing with other miscellaneous real-life business.
Asura has been doing a lot of work on spellpower coefficients, buffs and debuffs, and spell family assignments. We've been fixing a bunch of triggered spells and spending an inordinate amount of time on Bloodrage. I'm quite sick of that spell by now. Some other miscellaneous bugs we've fixed up include issues with item saving, a weird bug that made abilities go on permanent cooldown, and some junky old Ascent hacks that needed to be removed and done properly.
What else.. mana shield fixes, polymorph health regen, some visual bugs.. Just a lot of miscellaneous stuff rather than one or two big things. Rodeg, for example, wrote up a handler so that rested XP properly applies to mob kills.
Of the things I mentioned we were working on last update, two of the three are done. The save/load issue with Auras is fixed, it was actually a problem with Warriors such that the threat modifier from Battle Stance applied all the time on top of whatever stance you were in at the time.
I just put the finishing touches on some code that properly handles the threat from Energize effects, which ended up having to be done in two different stages. First was preventing threat from periodic mana gains (ie. Mana Spring Totem). Originally the Ascent spell code for this effect just directly modified the target's Mana field, so it never got into the threat code. Asura did some updating and modernization of the code, and now those periodic Energize effects call the regular Energize code, which does have a threat component, so it became necessary to identify and ignore threat generation from periodic mana sources like Mana Spring or Blessing of Wisdom.
Secondly, research from our Beta testers indicated that threat from Rage gains (also an Energize effect) should be unmodified by percentage threat modifiers (ie. Stances). That is, when you gain a point of rage from an effect like Shield Specialization or Bloodrage, it should give you 5 threat, only 5 threat, and always 5 threat. Salvation, Tranquil Air, Defensive Stance, etc. cannot modify that amount. This was corrected by implementing a custom attribute that allowed threat modifiers to be ignored and applying it to the relevant spells. I tried a couple different ways of doing this but the custom attrib came out the cleanest.
I still need to look at that junk about combo points. I'm pretty sure I know what the problem is, likely something to do with the sequence of events and the timing of when the combo points are removed again. We had a problem with this before when the spell delay system was implemented, where the combo points were being removed as soon as the cast completed, but if the effect was delayed by the queue, then when the effect fired off, the combo points were already gone. We put in a fix for this that worked for a while, but obviously the spell system refactoring has broken that again, so I'll have to take another look at the sequencing.
The other thing I'm working on and am currently neck-deep in is Extra Strike processing. This is a fan favorite and never fails to generate a huge amount of acrimony, contradictory evidence and utter confusion in the beta chat. Nobody seems to really, fully understand how these things are supposed to work and interact with each other. It doesn't help that Blizzard used some doublespeak and confusing terms in their spell descriptions. Sword Specialization, for example, says "Gives you an x% chance to get an extra attack on the same target after dealing damage with your sword", where Thrash (the triggered spell from the Thrash Blade) says "Grants an extra attack on your next swing."
When they say "next swing", does that mean it applies that second swing instantly, or does it save up the attack and the next time you autoattack, it hits twice? If that is the case, does it matter how long it is between attacks? Can you proc an extra attack for "your next swing", run around a bit, and then use it against a different mob? When do extra attacks "on your next swing" actually get used up? Can the extra attacks you get proc additional extra attacks? If so, do they apply on the same swing, or on the next swing? Can the same ability proc multiple times on the same initial swing? (Btw, right now, ours is applying on the next swing, which is goofy. Similar to the issue I mentioned above with combo points, I believe this has to do with the sequencing of when the extra attacks are queued up versus when they are executed. I'm going to look into that.) Some of these are rhetorical questions to which we already know the answers, but people ask nonetheless, and with good reason.
Blizzard changed many of these abilities several times over the course of Vanilla, so contradictory evidence exists for a number of different situations. I've seen screenshots of quadruple Ironfoe procs, or Windfury proccing Sword Spec proccing Windfury again. I've seen combat log entries where three different abilities proc on the same swing but only one extra attack is actually granted.
Given that there seems to be virtually no consensus on how this stuff is supposed to work, my opinion is that I'm going to go Blizzlike+ and try to untangle it into something coherent, removing some of the shenanigans that Blizzard apparently tried to remove.
- First, I'm going to have all extra strikes process immediately after the strike that procced them. You can't build up extra strikes on one target and carry them to another (Except for Reckoning, different story there). If the target dies or becomes immune/untargetable, any remaining extra strikes will be wasted. This is a bug affecting us right now but I mean to get rid of that ASAP.
- Secondly, a single strike can only proc one "extra strike" counter. For example, if you have Ironfoe enchanted with Fiery Weapon, and a Hand of Justice, you make an autoattack and all three proc on that swing, what will happen is you get the Fiery Weapon proc on the initial autoattack, and you gain two extra strikes (both from Ironfoe - the Hand of Justice proc is ignored because it is a weaker version of the Ironfoe proc), instead of adding them together for three extra attacks. This behavior is made fairly clear in 1.12-era references whereby Sword Spec, Windfury Totem and Hand of Justice all proccing simultaneously only results in 1 extra attack rather than three. In short, only the highest procced value applies on a given strike. This is the tricky one, not sure how to do this just yet.
- Thirdly, the extra strikes can proc additional extra strikes, but only from other sources, and only once per source. I already have a working version of this code but it needs further refinement. Ie.
This is OK: Initial Autoattack procs Windfury -> Windfury extra attack procs HoJ -> HoJ extra attack procs Ironfoe
This is not: Initial Autoattack procs Windfury -> Windfury extra attack procs ANOTHER Windfury
This is also not: Initial Autoattack procs Windfury -> Windfury extra attack procs HoJ -> HoJ extra attack procs ANOTHER Windfury
I realize this isn't 100% Blizzlike, but it's obviously something Blizzard was trying to correct all along; they made a number of efforts to resolve it, and I don't like the idea that you could have the stars align and just keep chain proccing extra attacks back and forth and one-shot anything in the game. That kind of behavior is clearly unintended and exploitative, and I see no reason to leave in a broken mechanic just because Blizzard's attempts to fix it were a hamfisted series of half-measures, stealth patches, nerfs, buffs and mechanic reworks. I'm willing to listen to opinions on this, but I don't promise I'll change my mind. It's obvious that there are a lot of contradictory evidences for this mechanic working a lot of different ways, so I'm just setting out an intention and saying, "this is how I plan to have it working on CF".
Alright, I suppose that bit of discussion has thoroughly enraged all horde players reading this for one reason or another. I'll leave it there for now, and again, I'm willing to listen to some opinion on it. If I wasn't I wouldn't mention it, but don't take that as license to go ape crazy on me, please.
That's all for now. My next update will be on Monday May 1st. As always, feel free to leave comments or ask questions below. Talk to you soon, and thanks again for your continued interest in Crestfall.