Schicksalsklinge: Umfassender Bugfix-Patch - Druckversion +- Crystals-DSA-Foren (https://www.crystals-dsa-foren.de) +-- Forum: Allgemeines zur Nordlandtrilogie DOS (https://www.crystals-dsa-foren.de/forumdisplay.php?fid=20) +--- Forum: Technische Werkstatt (https://www.crystals-dsa-foren.de/forumdisplay.php?fid=34) +--- Thema: Schicksalsklinge: Umfassender Bugfix-Patch (/showthread.php?tid=5191) |
RE: Schicksalsklinge: Umfassender Bugfix-Patch - Lippens die Ente - 30.03.2016 ist auch schwer, sich in Schick überhaupt zu infizieren, das hinzubekommen ist schon eine Kunst. Mit Tommys Editor kann man sich zwar extra anstecken, müsste die Veränderungen der Eigenschaftswerte dann aber auch manuell eingeben, ob das in der konkreten Situation hilft, weiß ich aber nicht. Der Nachteil in Schick ist, dass man durch gewisse Ereignisse positive Eigenschaften temporär erniedrigt bekommt, ohne jedoch in einer Textbox darüber informiert zu werden, das gilt für Krankheiten genauso. Ab Schweif wird man genau informiert welche Eigenschaft verändert wird. Aber wenn in Schick ein Charakter stirbt oder versteinert wird bleiben diese Änderungen anscheinend alle permanent. Ich vermute, dass System erkennt zwar, dass eine gewisse Zeit abgelaufen ist und der normalen ZUstand wiederhergestellt werden soll, prüft aber wohl auch ob der Held etwas unternehmen kann. Wenn das nicht der Fall ist, verschwindet diese Information wohl aus dem Spielstand, so dass der Zustand bleibt. Wenn du etwa jemandem ein Kraftelixier gibst (oder mehrere, die wirken ja sogar kumulkativ), ihn dann sterben und wieder erwecken lässt, solltest du einen permanenten +5 KK Effekt haben, das heißt man kann diesen Bug auch positiv ausnutzen. RE: Schicksalsklinge: Umfassender Bugfix-Patch - NRS - 30.03.2016 So, jetzt sind die Krankheiten auch repariert. Es waren gleich vier Fehler zu korrigieren:
Bei allen Krankheiten: Tod des Helden, falls KK==0 oder GE==0 wird. Wundfieber Während der Krankheitsphase:
Während der Krankheitsphase:
Während der Krankheitsphase:
Während der Krankheitsphase:
Während der Krankheitsphase:
Während der Krankheitsphase:
Tollwut Während der Krankheitsphase:
RE: Schicksalsklinge: Umfassender Bugfix-Patch - Alrik Alrikson - 30.03.2016 Das sind wirklich interessante Erkenntnisse, echt klasse! Der Fehler vieler Krankheiten liegt also darin, dass ein Held genau diese Krankheit erneut bekommen kann, an welcher er bereits leidet und dann der Genesungsablauf der Erstinfektion nicht mehr ans Laufen kommt, richtig? Was mir aber nicht ganz klar geworden ist: Wenn die Gruppe nun nur aus einem Helden oder einem Kranken und ansonsten nur Gesunden besteht, wie kann dann der kranke Held erneut an einer bereits bestehenden Krankheit erkranken? Es ist natürlich möglich, dass er sich bei unzureichender Kleidung etc. wieder erkältet, aber das muss ja nicht geschehen. Und entsprechend müsste es doch bei einem Ausbleiben der Neuinfektion zu einer Wiederherstellung der abgesenkten Eigenschaftswerte kommen (außer bei der Paralyse)? RE: Schicksalsklinge: Umfassender Bugfix-Patch - NRS - 30.03.2016 Das ist richtig. Mir ist es auch nirgendwo zu Augen oder zu Ohren gekommen, dass das Problem bei einem Solo-Helden aufgetreten wäre. RE: Schicksalsklinge: Umfassender Bugfix-Patch - Zurgrimm - 30.03.2016 (30.03.2016, 13:19)NRS schrieb: So, jetzt sind die Krankheiten auch repariert.Wow, super! Diese "black box", wie Du es nanntest, hast Du aber mal gründlich geknackt! (30.03.2016, 13:19)NRS schrieb: Ansteckung mit einer bereits bestehenden Krankheit führte zum Löschen des bisherigen Krankheitsverlaufs dieser Krankheit, was nichtbeabsichtigte permanente Eigenschaftsverluste zur Folge hat. Anders als an anderer Stelle ausführt wurde, hat dies nichts direkt mit der Progression von Dumpfschädel zu Blauer Keuche zu tun; da beide Krankheiten so ansteckend sind, ist das beobachtete Problem vielmehr auf Rück- und Mehrfachinfektionen zurückzuführen.Das hatte TeraBlight aber so, wenn ich es recht verstehe, schon gemeint. Er schrieb ja in dem von mir oben verlinkten Beitrag: (02.09.2007, 19:14)TeraBlight schrieb: Das Problem ist schlicht, dass die Krankheit deren Heilung die Werte wieder in Ordnung bringen wuerde nicht mehr vorhanden ist.Daß er dies an der Blauen Keuche exemplifiziert hat, dürfte nichts daran ändern, daß er das Problem schon richtig erkannt hatte. Und wo Du gerade dabei bist, wäre es für Dich insoweit ein Leichtes, auch diesen (kleinen) Fehler noch richtig zu stellen, indem die richtige Textbox aufgerufen wird, die einfach die Genesung mitteilt ohne auf den (ja nicht stattfindenden) Permanent-Verlust hinzuweisen?: (02.09.2007, 19:14)TeraBlight schrieb: Andererseits kann man ihn vom Heiler wieder in Ordnung bringen lassen, was zuerst mal nur die Krankheit entfernt aber die Werte unveraendert laesst:Wenn es kein Leichtes ist, ist es natürlich auch nicht so wichtig. (30.03.2016, 13:19)NRS schrieb: In diesem Zusammenhang mag es von Interesse sein, für Nichtprogrammierer die Krankheitsverläufe mal in Worten zu beschreiben:Ja, in der Tat, das sind sehr interessante Erkenntnisse! Vielen Dank für diese eaxkte Beschreibung. Ich weiß zwar gar nicht, ob alle diese Krankheiten überhaupt im Spiel möglich sind, aber jedenfalls die Mechanismen für Dumpfschädel und Blaue Keuche sind auch für den praktischen Spieler sehr wissenswert. (30.03.2016, 13:19)NRS schrieb: Außerdem sind korrigiert:Das heißt wohl, Du hast Dich tatsächlich der Mühe unterzogen, sämtliche nachfolgenden Informationen um eine Stelle nach hinten zu versetzen, um diese zusätzliche Variable zu ermöglichen. (30.03.2016, 13:19)NRS schrieb: Schule der Hellsicht in Thorwal identifiziert nur einzigen Artikel im SpielO.K. Der Bug, auf den ich in diesem Zusammenhang hinweisen wollte, war zwar ein anderer. Aber auch in diesem Punkt ist eine Korrektur natürlich sinnvoll. RE: Schicksalsklinge: Umfassender Bugfix-Patch - NRS - 30.03.2016 Zurgrimm schrieb:Diese "black box", wie Du es nanntest, hast Du aber mal gründlich geknacktWie gesagt, in diesem Fall hat Brighteyes die Vorarbeit geleistet. Zurgrimm schrieb:indem die richtige Textbox aufgerufen wird, die einfach die Genesung mitteilt ohne auf den (ja nicht stattfindenden) Permanent-Verlust hinzuweisen?:Es gibt keine andere Textbox als "%s HAT DIE KRANKHEIT ÜBERWUNDEN, DOCH DAS LEBEN WIRD WOHL NIE WIEDER SEIN, WIE ES WAR!". Man müsste den Text für eine zweite neu schreiben. Darfst Dich gerne schriftstellerisch betätigen... (Es wäre übrigens ein Leichtes, so abzuändern, dass man bestimmte Krankheiten nur ein einziges Mal im Leben bekommen kann mit dem Argument, dass sich danach Immunität bildet. Das wäre aber keine Fehlerbereinigung mehr sondern eine Regeländerung.) Zurgrimm schrieb:Das heißt wohl, Du hast Dich tatsächlich der Mühe unterzogen, sämtliche nachfolgenden Informationen um eine Stelle nach hinten zu versetzen, um diese zusätzliche Variable zu ermöglichen.Sämtliche in dieser Prozedur, nicht im ganzen Spiel. Hat trotzdem zwei Stunden gedauert. Zurgrimm schrieb:Der Bug, auf den ich in diesem Zusammenhang hinweisen wollte, war zwar ein anderer.Das mit dem Verfluchen dauert länger, weil ich erst an die Stelle muss, wo man verflucht wird. Einfach so den entsprechenden Wert mittels Hex-Editor einzutragen ist mir zu unsicher, da man vielleicht was übersieht. Edit: Die 50-Dukaten-Truhe im Totenschiff setzt nicht das "Verflucht"-Kennzeichen. Das "Verflucht"-Kennzeichen wäre (relativ zum 1. Heldennamen) +AA, Bytewert 20h. Die Truhe setzt hingegen +AB, Bytewert 40. Das könnte ein Fehler sein oder Absicht. In jedem Fall ist das der Grund, warum die Schule der Hellsicht nix findet. Nur der Zauber "Böser Blick" setzt tatsächlich das "Verflucht"-Kennzeichen. Unabhängig davon besteht in der Schule der Hellsicht der bekannte Fehler, dass der Gruppenanführer nie entflucht werden kann. Edit: Der Zauber "Verwandlung beenden" fragt ebenfalls +AB, Bytewert 40h ab. Die Meldung, die dann kommt, lautet: "DER FLUCH WIRD VON %s GENOMMEN, UND ALLE EIGENSCHAFTEN STEIGEN WIEDER!" Mit anderen Worten: Im ungepatchten Spiel verursacht die Truhe eine Verwandlung, die aber "Fluch" genannt wird und kein echter Fluch ist, und deshalb nur mit "Verwandlung beenden" beendet werden kann, worauf man erfährt, dass der "Fluch genommen" wurde, während die Schule der Hellsicht dies nicht kann, da sie nur Flüche entfernt und keine Verwandlungen, die als "Fluch" bezeichnet werden. Der Zauber "Verwandlungen beenden" kann keine Flüche beenden, sondern nur Verwandlungen, die als "Flüche" bezeichnet werden, und bezeichnet sie dann auch selber so. Alles klar? Ich weiß nicht, wie man das korrigieren soll --- wenn ich die Truhe statt des Verwandlungs-Kennzeichens das "Fluch"-Kennzeichnen setzen lasse, kann einem zwar die Schule der Hellsicht helfen, aber nicht der "Verwandlungen beenden"-Zauber mehr. Außerdem erhöht die Schule der Hellsicht die Eigenschafts-Werte auch nicht. RE: Schicksalsklinge: Umfassender Bugfix-Patch - Zurgrimm - 30.03.2016 (30.03.2016, 15:25)NRS schrieb: Es gibt keine andere Textbox als "%s HAT DIE KRANKHEIT ÜBERWUNDEN, DOCH DAS LEBEN WIRD WOHL NIE WIEDER SEIN, WIE ES WAR!". Man müsste den Text für eine zweite neu schreiben.Doch, die gibt es, nur vielleicht nicht für die Blaue Keuche. Aber wenn ein Dumpfschädel beim Heiler kuriert wurde und man danach eine Nacht geruht hat, dann sieht das so aus: Wäre das nicht auch passender für die Heilung von Blauer Keuche (der ein Dumpfschädel ja vorausgeht) als die Meldung, daß das Leben nie wieder sein wird, wie es war, wenn doch gar keine bleibenden Schäden davongetragen wurden? (30.03.2016, 15:25)NRS schrieb: (Es wäre übrigens ein Leichtes, so abzuändern, dass man bestimmte Krankheiten nur ein einziges Mal im Leben bekommen kann mit dem Argument, dass sich danach Immunität bildet. Das wäre aber keine Fehlerbereinigung mehr sondern eine Regeländerung.)Da wäre ich nicht dafür, denn das dürfte nicht regelkonform sein. Man kann sich ja auch mehrfach erkälten. Und Dumpfschädel soll man ja sogar durch Lügen bekommen können (nicht in der NLT, aber nach DSA-Regeln). (30.03.2016, 15:25)NRS schrieb: Das mit dem Verfluchen dauert länger, weil ich erst an die Stelle muss, wo man verflucht wird.Ich habe ein umfangreiches Spielstandsarchiv, mit dem ich in kurzer Zeit an jede Stelle des Spiels kommen kann. Also, wenn Du etwas brauchst ... (30.03.2016, 15:25)NRS schrieb: Das "Verflucht"-Kennzeichen wäre (relativ zum 1. Heldennamen) +AA, Bytewert 20h. Die Truhe setzt hingegen +AB, Bytewert 40. Das könnte ein Fehler sein oder Absicht, weshalb die Schule der Hellsicht nix findet.Ich halte es für einen bug, denn da steht "verflucht" und die Schule der Hellsicht ist zum Fluchbrechen da. Wenn sie es bei diesem (einizgen) Fluch im Spiel nicht können sollte, müßte es doch zumindest eine Textbox geben, die erklärt: "Ja, Ihr seid verflucht, da können wir aber leider nichts machen, weil das unsere Fähigkeiten übersteigt." Und sowas gibt es eben nicht. RE: Schicksalsklinge: Umfassender Bugfix-Patch - NRS - 30.03.2016 Die Blaue Keuche findet aber in der Brust statt, nicht im Kopf, ist ja schließlich der aventurische Name für eine Lungenentzündung. Insofern passt dieser Text auch nicht. Wegen Fluch versus Verwandlung siehe mein Edit. RE: Schicksalsklinge: Umfassender Bugfix-Patch - Alrik Alrikson - 30.03.2016 Wie verhalten sich denn die Spielstandsdaten, wenn in der Hyggelik-Ruine Gold aufgehoben wird? Entspricht dies dann einem Fluch oder ändert sich eigentlich gar nichts an den Helden und es wird lediglich die entsprechende Textbox beim Versuch das Dungeon zu verlassen eingeblendet? RE: Schicksalsklinge: Umfassender Bugfix-Patch - NRS - 30.03.2016 Da wird nur ein Dungeon-spezifisches Flag gesetzt. Es wird wohl offensichtlich, dass das Spiel den Begriff "Fluch" sehr ungenau benutzt, und die Schule der Hellsicht eigentlich nur einen "Bösen Blick" heilt, wobei ich mich frage, ob ein "Böser Blick" überhaupt über den Kampf hinaus wirkt, in welchem er auf einen der Helden angewandt wurde. Falls nicht, ist die Schule der Hellsicht völlig nutzlos. In diesem Fall müsste ein Patch die Wirkung des "Verwandlungen beenden"-Zaubers für die Schule der Hellsicht duplizieren. Edit: Ich habe jetzt die Totenschiff-Truhe in Ruhe gelassen und allein die Schule der Hellsicht korrigiert. Da waren gleich fünf Fehler auf einmal:
Übrigens: entgegen einiger Ausführungen gibt es im Statusbildschirm überhaupt keinen Vermerk "verflucht", sondern lediglich "versteinert"! Weder existiert ein entsprechender Eintrag in CHARTEXT.LTX, noch wird das entsprechende Flag in Anzeigecode abgefragt! Insofern ist es kein Fehler, dass nach dem Verfluchtwerden auf dem Totenschiff außer den niedrigeren Eigenschaftswerten nichts weiter angezeigt wird. Zurgrimm schrieb:Da wäre ich nicht dafür, denn das dürfte nicht regelkonform sein. Man kann sich ja auch mehrfach erkälten. Und Dumpfschädel soll man ja sogar durch Lügen bekommen können (nicht in der NLT, aber nach DSA-Regeln).Nach DSA-Regeln verschafft eine durchstandene Tollwut aber Immunität (und nur bei dieser). RE: Schicksalsklinge: Umfassender Bugfix-Patch - NRS - 31.03.2016 Zurgrimm schrieb:Wäre das nicht auch passender für die Heilung von Blauer Keuche (der ein Dumpfschädel ja vorausgeht) als die Meldung, daß das Leben nie wieder sein wird, wie es war, wenn doch gar keine bleibenden Schäden davongetragen wurden?Bitte sehr, der Herr: anbei eine neu verfasste Textbox, mit der beiläufigen Bitte um gefällige Kenntnisnahme der Änderung bezüglich Fluch. Übrigens: neben dem "Verwandlungen beenden"-Zauber und der gepatchten Schule der Hellsicht könnte vom Code her auch ein Praios-Wunder den Fluch vom Totenschiff beseitigen. Ist das nicht schön? Wie schade, dass es keinen Tempel gibt. RE: Schicksalsklinge: Umfassender Bugfix-Patch - Zurgrimm - 31.03.2016 (31.03.2016, 08:53)NRS schrieb: Bitte sehr, der Herr: anbei eine neu verfasste Textbox, mit der beiläufigen Bitte um gefällige Kenntnisnahme der Änderung bezüglich Fluch.Wundervoll. Bzgl. des Fluches habe ich Deinen Edit oben tatsächlich erst jetzt durch Deinen Hinweis gesehen. - Ja, auch das ist, denke ich, sehr gut gelöst. Ob es wirklich ein Bug war, daß man nur einen Fluch am Tag brechen lassen konnte, weiß ich allerdings nicht. Denn es ist ja gar keine zweite Stelle im Spiel bekannt, wo man verflucht werden könnte. Wenn es nur eine Stelle gibt, hätte sich der Bug jedenfalls nicht nachteilig auswirken können. - Möglich wäre es insoweit allein, daß ein feindlicher Magier (oder ein Mitstreiter?!) einen bösen Blick auf einen Helden wirkt. Aber wie Du schon schriebst, ist derzeit völlig offen, ob der überhaupt über den Kampf hinauswirkt. RE: Schicksalsklinge: Umfassender Bugfix-Patch - NRS - 31.03.2016 Analog zu den Krankheiten hier die Beschreibung der Gifte. Hier konnte ich keinen offensichtlichen Fehler finden. Shurinknollengift Während der Vergiftung:
Araxgift Während der Vergiftung:
Angstgift Während der Vergiftung:
Schlafgift Während der Vergiftung:
Goldleim Während der Vergiftung:
Krötenschemel Während der Vergiftung:
Lotusgift Während der Vergiftung:
Kukris Während der Vergiftung:
Bannstaub Während der Vergiftung:
RE: Schicksalsklinge: Umfassender Bugfix-Patch - Zurgrimm - 31.03.2016 Sehr schön. Das hatte tommy auch in ähnlicher Form schon einmal im Thread "Essbare Kräuter, Krankheiten, Vergiftungen & Waffengifte" aufgelistet (wie ich jetzt gerade gesehen habe, sogar auch für Krankheiten, in Erinnerung hatte ich es nur für die Gifte). Im Einzelnen sehe ich allerdings einige Abweichungen. Das könnte damit zusammenhängen, daß Du Schick untersucht hast und tommy wohl Schweif. EDIT: (31.03.2016, 16:30)NRS schrieb: Hier konnte ich keinen offensichtlichen Fehler finden.Ein bekannter Fehler im Zusammenhang mit Vergiftungen ist, daß diejenige, die man sich bei der Truhe von Gorah zuzieht, nicht heilbar zu sein scheint, siehe Thread "Fehler und Bugs", Beitrag #280. Das wäre nur dann kein Bug, wenn es sich um ein unheilbares Gift handeln sollte. Laut tommy's Liste sollten aber wohl alle Gifte (außer vielleicht Kukris, weil zu schnell wirkend) heilbar sein - und die Heilung wird laut Nimeros ja auch per Textbox bestätigt. RE: Schicksalsklinge: Umfassender Bugfix-Patch - NRS - 31.03.2016 Eine Abweichung ist, dass ich bislang nicht bedacht habe, dass bei Giften die Zeiteinheit fünf Minuten beträgt und nicht einen Tag. Das habe ich noch korrigiert. Dann macht auch Sinn, warum so häufig der Wert 12 abgefragt wird (12*5 Minuten=60 Minuten, also einmal pro Stunde). Bei der Genesungsphase hat "Tommy" allerdings eine Zeiteinheit von Stunden statt fünf Minuten unterstellt; aus dem Code geht nicht hervor, dass die Zeiteinheit für die Giftwirkung eine andere als für die Genesung ist. Insofern behaupte ich, dass er sich mit der Aussage "alle 12 Stunden steigen GE & KK um einen Punkt" bei Shurinknollengift irrt. RE: Schicksalsklinge: Umfassender Bugfix-Patch - NRS - 31.03.2016 Das Konzept der "Ingame-Inaktivitäts-Stunden", auf dem die Einhorn- und Sphärenriss-Zeitmessung basieren, kam mir schon immer Spanisch vor. Es ist zwar die effektive Beschreibung dessen, was tatsächlich abläuft. Nach Durchsicht des entsprechenden Programmcodes scheint mir dies aber nicht das zu sein, was vom Programmierer gewollt wurde. Der Code zählt in der Tat tatsächlich einfach die Stunden der vergangen Ingame-Tageszeit; jede Stunde werden Einhorn- und Sphährenriss-Zeitmesser um eins erniedrigt. Warum braucht es dann "Inaktivität"? Warum reicht die Erhöhung der Tageszeit durch Schlafen oder Hin- und Herlaufen nicht? Hierzu braucht es Hintergrundinformationen: Die Ingame-Zeit wird von einer zentralen Prozedur namens do_timers() erhöht. Diese erhöht alle Ingame-Zeit-abhängigen Zähler, wobei eine Reihe von Zählern nicht erhöht wird, wenn eine bestimmte Variable (BCDA) den Wert 1 hat. Dazu zählen:
Das ist meiner Meinung nach genau das Gegenteil dessen, was ich erwarten würde --- ich würde erwarten, dass das gefährliche Ereignis des Sphärenrisses dann schneller kommt, wenn der Spieler sinnlos hin- und herläuft oder schläft, nicht aber, wenn er seinen Rechner eine Stunde stehen lässt etwa um was zu essen oder zu telefonieren. Mit anderen Worten: ich glaube, die Abfrage der genannten Variable BCDA ist einfach falschrum, wie es ja schon etwa bei den Krankheiten der Fall war. Das wäre einfach zu patchen, hätte aber große Auswirkungen, eben auf all die genannten Dinge: die magische Kettenrüstung würde einmal pro Ingame-Stunde Schaden anrichten, das Einhorn nach 36 bis 60 Ingame-Stunden wiederkommen, der Sphärenriss nach 7 Ingame-Stunden, Lichtquellen würden nach 15-Ingame-Minuten um einen Wert herabgesetzt werden (d.h. eine Fackel hält 150 Ingame-Minuten, eine Laterne hält 1000 Minuten. All dies wird bislang nicht nach Ingame-Zeit, sondern nach "Inaktivitäts-Zeit", wie TeraBlight es genannt hatte, also Spieler-Echtzeit abgerechnet, meiner Meinung nach zu Unrecht. Andere Meinungen dazu? RE: Schicksalsklinge: Umfassender Bugfix-Patch - thEClaw - 31.03.2016 Äußerst interessante Feststellungen! Deinen Schlüssen würde ich uneingeschränkt zustimmen. Unter den genannten Ereignissen ist vermutlich die Lichtquelle jenes, das die Vermutung eines Programmierfehlers am stärksten nahelegt. Alles andere wäre obskur. RE: Schicksalsklinge: Umfassender Bugfix-Patch - NRS - 01.04.2016 Nee, so einfach is' es dann doch nicht. Der Schaden der magischen Kettenrüstung und das Runterzählen der Lichtquellen wird in "time_warp" (die Prozedur, welche beim Laufen und Schlafen vorspult) nochmal manuell durchgeführt. Wenn ich einfach nur die BCDA-Abfrage umdrehe, würden diese dann doppelt verringert, und das wäre auch nicht richtig. Das manuelle Runterzählen in time_warp ist aber ebenfalls falsch implementiert: denn time_warp wird pro Schritt mit dem Wert 180 aufgerufen; für die Verringerung der Lichtquellen wird dieser Wert jedoch durch 1350 dividiert, so dass die Verringerung der Lichtquellen zumindest beim Laufen damit komplett unter den Tisch fällt, da bei Ganzzahldivision immer abgerundet wird, hier also auf Null. Der Sphärenriss und das Einhorn wurden in timewarp() schlicht vergessen. Zudem ist außer den genannten Zeitzählern ein weiterer betroffen: nämlich der, welcher misst, wie lange gewartet werden muss, bis man einen Helden wieder mit Heiltalenten heilen kann. Dieser sollte sich eigentlich alle fünf Minuten verringern, wegen des genannten Rundungsfehlers geschieht dies jedoch nur beim Schlafen, nicht beim Herumlaufen (180/450 ist eben immer noch Null komma irgendwas, also Null bei Ganzzahldivison). Uff! Die sauberste Lösung wäre also, die BCDA-Abfrage umzudrehen und dafür das manuelle Runterzählen von magischer Rüstung und Lichtquellen aus time_warp zu entfernen, weil es dann ja schon in do_timer erledigt wird. Dann entspräche das Verhalten des Spieles dem, was ich im vorherigen Post beschrieben habe, d.h. alle Zähler beziehen sich auf Ingame-Zeit und würden ohne Rundungsfehler verwaltet. RE: Schicksalsklinge: Umfassender Bugfix-Patch - Zurgrimm - 01.04.2016 (31.03.2016, 22:38)NRS schrieb: Dazu zählen:Was timeert denn da? Die Stelle ist mir gar nicht als zeitabhängige erinnerlich. (31.03.2016, 22:38)NRS schrieb: Mit anderen Worten: ich glaube, die Abfrage der genannten Variable BCDA ist einfach falschrum, wie es ja schon etwa bei den Krankheiten der Fall war.Deine Analyse und Deine vorgeschlagene Lösung klingen logisch. Allerdings kann es auch sein, daß diese "Umkehrung" aus Balancinggründen vorgenommen wurde, eben damit das Einorn nicht zu schnell wiederkommt, sondern erst nach einer ganzen Weile, und damit man es in der Regel noch aus der Herberge schafft, bevor der Sphärenriß kommt (der ja unvorhergesehen tödlich endet). Ebenso würde der Schadenseffekt des magischen Kettenhemdes möglicherweise zum schnellen Heldentod beim Herumlaufen (da vergeht die Zeit echt schnell!) führen. - Bevor man so eine weitreichende Korrektur vornimmt, bedürfte es m.E. eines entsprechenden Testings, ob das Spiel dann noch für den Durchschnittsspieler geeignet ist. In diesem Zusammenhang möchte ich am Rande darauf hinweisen, daß die Rast- und damit Schlaffunktion in Dungeons nichts ist, womit die Programmierer ursprünglich (= Diskettenversion) gearbeitet haben. Gewisse Unlogiken haben sie dahingehend also ja bewußt in Kauf genommen (z.B. daß man beliebig lange auf dem sinkenden Totenschiff schlafen kann, solange man keine 30 Schritte getan hat; entsprechendes in der Spinnenhöhle nach Vernichten der Gelege). Was gewollt war und was nicht, müßte sich also nach einer Analyse der in der Diskettenversion vorhandenen Optionen richten. RE: Schicksalsklinge: Umfassender Bugfix-Patch - NRS - 01.04.2016 Zurgrimm schrieb:Was timeert denn da? Die Stelle ist mir gar nicht als zeitabhängige erinnerlichDu kannst vom Orkfraß nur einmal alle 24 Stunden essen. Eine sehr "wichtige" Abfrage. Zurgrimm schrieb:Allerdings kann es auch sein, daß diese "Umkehrung" aus Balancinggründen vorgenommen wurdeDa ein Schritt zwei Minuten beansprucht, hättest Du 30 Schritte pro Stunde, das heißt beim Tragen des magischen Kettenhemdes verlierst Du nach 30 Schritten einen LP. Das wäre auch beim ungepatchten Spiel so, findet aber nur wegen Rundungsfehlern nicht statt. Ich glaube nicht, dass bewusst Rundungsfehler eingebaut werden, um das Spiel auszubalancieren; wenn die Entwickler gewollt hätten, dass das Kettenhemd weniger Schaden produziert, hätten sie einfach ein größeres Intervall als eine Stunde eingetragen. Der Sphärenriss kommt sieben Stunden nach Befreiung des Gefangenen, Du hättest danach also 210 Schritte, bevor der Sphärenriss kommt. Ich glaube nicht, dass dadurch das Spiel zu schwierig würde, vor allem weil man an der Stelle immer noch per Transversalis vorbeikommt. Wie gesagt, ich glaube nicht mehr, dass die Zähler aus Balancingründen die Echtzeit statt die Ingame-Zeit messen, und inzwischen revidiere ich ebenfalls die These der verkehrt herum abgefragten Variable. Stattdessen ist es wohl er so, dass beim Vorspulen statt die ganzen Zähler in einer Schleife jeweils im eins zu erniedrigen --- was auf langsamen Rechnern ewig Zeit beansprucht, 5400 Schleifendurchläufe pro Ingame-Stunde --- beim Vorspulen alle Zähler stattdessen auf einen Schlag jeweils um den kumulierten Betrag reduziert werden sollen und dabei die Einhorn- und Sphärenriss-Zähler einfach vergessen wurden, während Lichtquellen, Talentheilungen und magische Rüstung wegen Rundungsfehlern nicht korrekt verwaltet werden. Ich werde einfach mal das so patchen, dass die eingetragenen Zeitintervalle ohne Rundungsfehler eins zu eins in Ingame-Zeit übertragen werden, und dann kannst Du ja ausprobieren, wie schwer das Spiel wirklich ist. |