Eintragsdetails ansehen

IDProjektKategorieSichtbarkeitZuletzt aktualisiert
0002523EresseaGeneralöffentlich2019-11-16 16:26
ReporterSolthar Bearbeitung durchEnno  
PrioritätnormalSchweregradkleinerer FehlerReproduzierbarnicht getestet
Status zugewiesenLösungoffen 
Produktversion3.17.8 
Zusammenfassung0002523: Fehlender Bezug bei Meldung im CR
Beschreibung

Ein im Moment eher ästhetisches Problem: Es gibt Meldungen im Report, die sich auf nichts beziehen. Zum Beispiel übergibt eine Einheit alle Personen an die Bauern, taucht dadurch nicht mehr im Report auf, aber die Meldung bezieht sich darauf. Dadurch kann zum Beispiel Magellan sie keiner Region zuordnen und sie taucht gewissermaßen freischwebend auf. Aber auch im NR ist nicht nachzuvollziehen, wo die Übergabe stattfand.

Die beste Lösung, die mir derzeit einfällt, wäre ein zusätzlicher Regions-Tag, aber das bläst alle GIB- und andere Meldungen auf zu "In XYZ übergibt A 123 Dinge an B."

Zusätzliche Informationen

MESSAGE 1043133872
1350316572;type
"Bauern (f9oz) übergibt 1000 Personen an die Bauern.";rendered
712403;unit
1000;amount

Partei1wpy
SpielE2
Report1102

Notizen / Dateien

Enno

Enno

2019-04-26 06:30

Administrator   ~0008438

Spricht etwas dagegen, einen eigenen neuen Meldungstyp für GIB PERSONEN zu machen, in dem die Region mit angegeben wird? Evtl. nur in dem Fall, dass die Einheit nach dem GIB keine Personen mehr hat?

Es gibt aber sicher noch andere Fälle, in denen die Einheit nicht im Report steht (wenn sie z.B. verhungert oder im Kampf gestorben ist). Das scheint mir ein generelleres Problem zu sein, das mit GIB erst einmal nichts zu tun hat.

Solthar

Solthar

2019-04-26 10:09

Entwickler   ~0008439

Stimmt, das betrifft eigentlich jede Meldung mit einem unit-Parameter und ohne region-Parameter. Wobei manche wahrscheinlich wichtiger sind als andere. Mann könnte also jede solche Meldung suchen und den Meldungstext ändern. Man könnte es durch Logik abfangen und die Nachrichten irgendwie abwandeln. Das klingt alles nicht so gut.

Es werden doch in irgend einem Schritt im Code leere Einheiten entfernt. Könnte man da eine Meldung hinzufügen, etwa "Einheit (abc) in Region xyz löst sich auf ..."? Ist eigentlich sichergestellt, dass eine solche Region auch im Report ist, wenn dort keine Einheiten mehr sind?

Enno

Enno

2019-11-16 09:25

Administrator   ~0008624

Die Parametrisierung von Meldungen ist eher Glücksache. Ob ein Parameter im CR ist, hängt davon ab ob er zum Erzeugen der Meldung benötigt wurde. Eine Meldung wie "Frank Oz (f9oz) stirbt" wird von einem String "$unit($dead) stirbt" erzeugt, und würde einen Parameter 712403;dead bekommen, und keine Region, weil keine Region in der Meldung steht. Der Parameter heißt dann auch "dead" und nicht "unit". Ein Client, der darauf hofft, das jede Meldung einer Region zugeordnet werden kann, wird da bei einigen Probleme kriegen. Ebenso, wenn er die Einheit, auf die die Meldung sich bezieht, aus einem "unit" Argument ermitteln will, weil die eben nicht immer so heißen, sondern auch schonmal "mage", "giver" oder "target".

Ich bin zunehmend unzufrieden damit, wie die Messages gelöst sind, und suche immer noch nach einer besseren Lösung. Da wäre es mal an der Zeit zu fragen, was denn die Clients erwarten.

Solthar

Solthar

2019-11-16 16:26

Entwickler   ~0008625

In erster Näherung würde ich mir wünschen, dass alles so bleibt wie es ist, denn dann muss ich nix ändern. ;)
Es gibt im Moment ungefähr drei Dutzend Stellen im Magellancode, wo auf Message.getAttributes zugegriffen wird. Der Großteil davon in BattelInfo, wo versucht wird, den Kampfreport aufzubereiten. Das reicht von konkreten Zugriffen auf bestimmte Attribute bestimmter MESSAGETYPEs, bis zum Vergleich auf gut Glück, ob ein Attribut mit einer UnitID übereinstimmt.

Als Mindestanforderung würde ich mir im Moment einen "Besitzer" mit einem "Typ" pro Meldung wünschen. Besitzer könnte leer (global, blöd), eine Partei, eine Region, ein Schiff, ein Gebäude, eine Einheit sein. Typ wäre eben "leer", "Partei", "Region", "Einheit" usw. Weitere Parameter wären dann nice to have, sollte aber ebenso einen Typ haben.

Das ist jetzt gerade so dahergesagt, im Ernstfall müsste darüber noch mal weiter nachdenken.

Eintrags-Historie

Änderungsdatum Benutzername Feld Änderung
2018-11-25 15:12 Solthar Neuer Eintrag
2018-11-27 22:07 Enno Kategorie General => Featurewunsch
2019-04-26 06:30 Enno Notiz hinzugefügt: 0008438
2019-04-26 06:31 Enno Status neu => Rückmeldung
2019-04-26 10:09 Solthar Notiz hinzugefügt: 0008439
2019-04-26 10:09 Solthar Status Rückmeldung => neu
2019-10-03 21:55 Enno Kategorie Featurewunsch => General
2019-11-16 09:25 Enno Notiz hinzugefügt: 0008624
2019-11-16 09:25 Enno Bearbeitung durch => Enno
2019-11-16 09:25 Enno Status neu => zugewiesen
2019-11-16 16:26 Solthar Notiz hinzugefügt: 0008625