-cooldown bug-fix-fix

In diesem Forum werden Mods präsentiert und diskutiert, die die Optik, den Schwierigkeitsgrad und Bugs des normalen Spieles ändern.

Moderatoren: Handballfreak, FOE

Antworten
Placeberus
Skelettschnetzler
Beiträge: 334
Registriert: 23.01.2012, 11:47

-cooldown bug-fix-fix

Beitrag von Placeberus » 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.

Benutzeravatar
Malgardian
TQ im Schlaf Spieler
Beiträge: 1590
Registriert: 12.12.2011, 23:03
Wohnort: /home

Beitrag von Malgardian » 21.05.2013, 16:32

Interessante Sache. In der Richtung habe ich schonmal versucht den Grund für die doppelte Manakostenreduktion ausfindig zu machen. Leider kann ich mit Assemblercode nichts anfangen, sodass ich mich auf die database beschränkt habe.

Ich hoffe also, dass dir da jemand auf die Sprünge helfen kann und du einen Fix findest.

Benutzeravatar
Violos
TQ im Schlaf Spieler
Beiträge: 2770
Registriert: 09.11.2010, 13:40

Beitrag von Violos » 21.05.2013, 17:29

Toller Fund.

Gibt es andere Präfixe außer "verzaubert"? Dann korrigiere ich da vorerst einfach die Werte.

Placeberus
Skelettschnetzler
Beiträge: 334
Registriert: 23.01.2012, 11:47

Beitrag von Placeberus » 21.05.2013, 19:04

Violos hat geschrieben:Gibt es andere Präfixe außer "verzaubert"?
Nicht daß ich wüßte. Von den betroffenen Eigenschaften gibt es nur -Energiekosten auf dem einen Präfix und -CD auf vier Suffixen. Die anderen Eigenschaften gibt es nur auf Gegenständen.

Bei solchen Fragen, geht man in den Thread wo die Affixe aufgelistet sind und benutzt die Suchfunktion des Browsers.
Violos hat geschrieben:Dann korrigiere ich da vorerst einfach die Werte.
Halbieren? Teste das aber mit verschiedenen Zaubern, ob es da eine Überraschung gibt. Ich wollte -EK auch noch etwas testen, weil ich bei der Standarte (-50% EK) festgestellt habe, daß Schützenkönig* keinen Energieverbrauch hat und ein Cahr mit 1/s Energieregeneration auch mit geschätzten 1/s regeneriert. Bei anderen Zaubern sind es aber keine 100% Ersparnis.

*Ansonsten benötigt man ca. 10/s um bei voller Angriffsgeschwindigkeit den Energieverbrauch auszugleichen. (Ich habe zuletzt einen Bogen-Behüter gespielt, wo neuer Mut am Cap das bringt.)

Placeberus
Skelettschnetzler
Beiträge: 334
Registriert: 23.01.2012, 11:47

Beitrag von Placeberus » 25.10.2013, 22:37

Wie ihr euch denken könnt, habe ich nicht Erfolg gehabt und es euch nur vorenthalten. Im Endeffekt habe ich nur einige meiner Mutmaßungen, wie der Bug geartet sein könnte*, ausschließen können, effektiv aber nichts erreicht.

*Meine Hoffnung eine Code-Doppelung zu finden ist etwas blauäugig. Mit richtig viel Pech steht da nur ein *2 oder ein shiftleft statt der kompletten Funktion für die Behandlung dieser Suffixe.

Da ich die Suche nach dem Bug logischerweise ohne Fanpatch betrieben habe, die Char-Konzepte die ich zu der Zeit gespielt habe aber ohne fanpatch nicht funktionieren, bekam ich irgendwann ein Motivationsproblem. In ca. 700000 Zeilen Assemblercode zu wühlen ist auf Dauer nicht aufregend. Ich habe es aber nicht endgültig aufgegeben - wollte ich nur sagen.

Antworten