TVTower / TVTDatabaseEditor

Xtext-Based editor for the database files
Eclipse Public License 2.0
0 stars 1 forks source link

Vereinheitlichung Zeiträume News #4

Closed nittka closed 3 years ago

nittka commented 3 years ago

(Hintergrund: In den Datenbankdateien gibt es z.T. Redundanz, wie man Eigenschaften definieren kann. Das würde ich gern straffen. Um nicht ein Riesen-Ticket mit sämtlichen Punkten zu haben oder das TVT-Repo mit vielen DB-Issues aufzublähen, würde ich meine Vorschläge gern hier im Zusammenhang mit der Editorentwicklung diskutieren.)

Für News kann man den Verfügbarkeitszeitraum "year_range_from/to" sowohl unter conditions als auch unter availability pflegen. Unter availability kann auch ein script definiert werden (Season, DayOfYear).

Mein Vorschlag wäre, alle Vorkommen von "conditions" in News-Items in "availability" umzubenennen und (syntaktisch) nur noch diese Variante vorzusehen.

GWRon commented 3 years ago

"conditions" sind nicht das gleiche wie "availability". Conditions = "Umgebung/Bedingungen" Availability = "Wann ist eine Nachricht verfuegbar"

Ich wuerde entsprechend "Availability" in "Conditions" aufgehen lassen. Allerdings muessten dann die Feldnamen das "availability_" prefix bekommen (um die Bedeutung abzuklaeren). Oder die Felder sind so umzubenennen, dass der Sinn im Kontext klar wird.

Gern koennte "Conditions" auch ein "Haupt-Tag" werden und "Availability" ein Unterpunkt.

Andere Redundanzen gibt es auch - dazu in games.database.bmx einfach die "LoadValuesToData" durchstoebern. Bin aber auch dafuer, dass wir da mal "Aufraeumen".

nittka commented 3 years ago

Availability wird auch bei anderen Haupttags verwendet und es beschreibt ja, wann die Nachricht verfügbar ist (von Jahr bis Jahr oder per script "zu welchen Zeitpunkten"). Andere conditions-Felder gibt es aktuell bei den News nicht, daher mein Vorschlag.

GWRon commented 3 years ago

Ist ja eh nur eine Nomenklatur und im Endeffekt nicht so wichtig. Kann also gern auch "availability" werden.

nittka commented 3 years ago

OK, dann werde ich einen entsprechenden PR für die Bestandsdaten vorbereiten und die Grammatik entsprechend anpassen. Die möglichen Anpassungen für das TVTower-Datenbankeinlesen können wir sammeln und machen, wenn sich die Daten ein Release lange "stabilisiert" haben.

nittka commented 3 years ago

Ein weiteres Feld, das in diesem Zusammenhang redundant scheint ist "happen_time" in news->data. Es wird nur an 2 Stellen wirklich verwendet und sollte sich mittels availability-script auch abbilden lassen. Natürlich sind gerade diese beiden (script, happen_time) inhaltlich nicht gerade einfache Kandidaten.

GWRon commented 3 years ago

Ja das eine existierte vor den Scripts.... Und ist natuerlich auch einfacher in der Anwendung.

Eine happenTime ist ein fixer Moment, an dem eine News passieren MUSS. Die availability hingegen macht nur die Nachricht fuer die Zufallsauswahl verfuegbar.

nittka commented 3 years ago

... einfacher in der Anwendung

Natürlich nur, wenn man das Format kennt. Ich glaube, es sind zwei Stellen, an denen es verwendet wird; einer sind die Börsennachrichten. Wenn eine Nachricht ausgewählt wurde und diese einen Effekt-Trigger hat, ist dann sichergestellt, dass der Trigger feuert und die Nachfolgenachricht auch kommt? Dann kann die happen_time bei den Börsennachrichten nämlich ersetzt werden; irgendwann kommt sie das erste Mal und dann garantiert immer wieder. (Welchen Einfluss hat denn der probability-Wert beim Effekt?)

nittka commented 3 years ago

Vereinheitlichung bezüglich News ist erfolgt.