Eintragsdetails ansehen
ID | Projekt | Kategorie | Sichtbarkeit | Meldungsdatum | Zuletzt aktualisiert |
---|---|---|---|---|---|
0002523 | Eressea | General | öffentlich | 2018-11-25 15:12 | 2020-09-13 09:34 |
Reporter | Solthar | Bearbeitung durch | Enno | ||
Priorität | normal | Schweregrad | kleinerer Fehler | Reproduzierbar | nicht getestet |
Status | erledigt | Lösung | unlösbar | ||
Produktversion | 3.17.8 | ||||
Zusammenfassung | 0002523: 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 | ||||
Tags | Keine Tags zugeordnet. | ||||
Partei | 1wpy | ||||
Spiel | E2 | ||||
Report | 1102 | ||||
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. |
|
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? |
|
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. |
|
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. |
|
Hier werde ich nichts unternehmen, es ist kein Bug, und ich halte die Extra-Informationen an den Messages so wie sie sind für prinzipiell schlechtes Design, daran will ich nichts mehr "verbessern". |
|
Ä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 | |
2020-09-13 09:34 | Enno | Status | zugewiesen => erledigt |
2020-09-13 09:34 | Enno | Lösung | offen => unlösbar |
2020-09-13 09:34 | Enno | Notiz hinzugefügt: 0009047 |