-cooldown bug-fix-fix
Verfasst: 20.05.2013, 15:43
Ich wußte nicht, an welchen Thread ich mich am besten dranhänge, also erlaube ich mir einen neuen.
Wie ich schon angekündigt habe, will ich dem Cooldown seinen Jitter geben, den er mit dem Fanpatch nicht hat.
Eins vorweg, überall heißt es, -cooldown funktioniert im Original nicht auf Affixen. Das ist so nicht ganz richtig.
Richtig ist.: CooldownReduction, CooldownReductionModifier, ManacostReduchtion, ManacostReduchtionModifier und ProjectilespeedModifier funktionieren nicht auf Suffixen, also alles, was man im Artmanager unter SkillParameters findet. (CooldownReduction gibt es auf Affixen aber nur auf Suffixen.) Jede dieser Eigenschaften wird auf Präfixen doppelt angewendet. (Auf Präfixen gibt es von den Eigenschaften aber nur ManacostReduction, auf verzauberten Amuletten.) Man kann vermuten, daß beides der selbe Bug ist. Dort wo diese Eigenschaften auf Suffixen angewendet werden müßten, werden noch mal die von Präfixen angewendet.
Bevor ich das Ausmaß des Bugs erkannt habe, habe ich den Fehler in der Datenbank und in den Templates gesucht und die tqit.exe, game.dll und engine.dll mit einem Disassembler angeschaut. Ich habe mich von Funktion zu Funktionen durch die Dateien gehangelt (es gibt sehr viele Funktionen, die mit cooldown zu tun haben).
Da die Templates für Prä- und Suffixe die selben sind, sind sie, mit diesem Wissen, wahrscheinlich nicht die Ursache. Gleiches gilt für die Affixe in der Datenbank, Prä- und Suffixe unterscheiden sich nicht.
Assembler-Code ist nun nicht gerade aufschlußreich aber mit dem Wissen um die Natur des Bugs habe ich gehofft irgendwelche Doppelungen im Code zu finden. (Der Bug sieht nach einem Copy-Paste-Unfall aus.) Ich habe auch einige potentiell verdächtige Stellen gefunden aber um nach Methode Versuch und Irrtum dem Code zu ändern, sind es zu viele.
Nun wollte ich fragen, ob schon jemand Erkenntnisse in der Richtung gesammelt hat, vielleicht jemand aus einem anderen Forum. Z.B. könnte jemand rausgefunden haben, daß das Bitmuster 030h für Gegenstand, 034h für Präfix und 038h für Suffix steht. Irgend etwas in der Art. Solche Details können die in Frage kommenden Codestellen auf einen Bruchteil reduzieren.
PS.: Das Goldene Vlies muß ich mir noch anschauen.
Wie ich schon angekündigt habe, will ich dem Cooldown seinen Jitter geben, den er mit dem Fanpatch nicht hat.
Eins vorweg, überall heißt es, -cooldown funktioniert im Original nicht auf Affixen. Das ist so nicht ganz richtig.
Richtig ist.: CooldownReduction, CooldownReductionModifier, ManacostReduchtion, ManacostReduchtionModifier und ProjectilespeedModifier funktionieren nicht auf Suffixen, also alles, was man im Artmanager unter SkillParameters findet. (CooldownReduction gibt es auf Affixen aber nur auf Suffixen.) Jede dieser Eigenschaften wird auf Präfixen doppelt angewendet. (Auf Präfixen gibt es von den Eigenschaften aber nur ManacostReduction, auf verzauberten Amuletten.) Man kann vermuten, daß beides der selbe Bug ist. Dort wo diese Eigenschaften auf Suffixen angewendet werden müßten, werden noch mal die von Präfixen angewendet.
Bevor ich das Ausmaß des Bugs erkannt habe, habe ich den Fehler in der Datenbank und in den Templates gesucht und die tqit.exe, game.dll und engine.dll mit einem Disassembler angeschaut. Ich habe mich von Funktion zu Funktionen durch die Dateien gehangelt (es gibt sehr viele Funktionen, die mit cooldown zu tun haben).
Da die Templates für Prä- und Suffixe die selben sind, sind sie, mit diesem Wissen, wahrscheinlich nicht die Ursache. Gleiches gilt für die Affixe in der Datenbank, Prä- und Suffixe unterscheiden sich nicht.
Assembler-Code ist nun nicht gerade aufschlußreich aber mit dem Wissen um die Natur des Bugs habe ich gehofft irgendwelche Doppelungen im Code zu finden. (Der Bug sieht nach einem Copy-Paste-Unfall aus.) Ich habe auch einige potentiell verdächtige Stellen gefunden aber um nach Methode Versuch und Irrtum dem Code zu ändern, sind es zu viele.
Nun wollte ich fragen, ob schon jemand Erkenntnisse in der Richtung gesammelt hat, vielleicht jemand aus einem anderen Forum. Z.B. könnte jemand rausgefunden haben, daß das Bitmuster 030h für Gegenstand, 034h für Präfix und 038h für Suffix steht. Irgend etwas in der Art. Solche Details können die in Frage kommenden Codestellen auf einen Bruchteil reduzieren.
PS.: Das Goldene Vlies muß ich mir noch anschauen.