Eintragsdetails ansehen

IDProjektKategorieSichtbarkeitZuletzt aktualisiert
0002889EresseaKAUFE/VERKAUFEöffentlich2022-10-05 21:13
ReporterBruck Bearbeitung durchEnno  
PrioritätniedrigSchweregradkleinerer FehlerReproduzierbarnicht getestet
Status erledigtLösungerledigt 
Produktversion27.3 
Zielversion27.4Behoben in Version27.4 
Zusammenfassung0002889: KAUFE ist in der Priorität nach VERKAUFE
Beschreibung

Laut Wiki gilt: "KAUF-Order haben Priorität vor Verkäufen". Siehe insbesondere das Beispiel dort: https://wiki.eressea.de/index.php/KAUFE Und in der https://wiki.eressea.de/index.php/Befehlsreihenfolge steht KAUFE auch vor VERKAUFE, auch wenn da nicht ganz klar ist ob der Unterpunkt tatsächlich eine Reihenfolge ist.

Tatsächlich ist es aber umgedreht. Beispiel: Blattschneideameise (3cd2): 2 Handel T4 also 80 Handelskapazität Befehle: VERKAUFE ALLES Balsam VERKAUFE ALLES Gewürz VERKAUFE ALLES Juwel VERKAUFE ALLES Myrrhe VERKAUFE ALLES Öl VERKAUFE ALLES seide KAUFE 70 Weihrauch

Ergebnis:

Blattschneideameise (3cd2) bezahlt 120 Silber für den Kauf von Luxusgütern. Blattschneideameise (3cd2) kauft 20 Weihrauch. Blattschneideameise (3cd2) verkauft 10 Balsam. Blattschneideameise (3cd2) verkauft 10 Juwelen. Blattschneideameise (3cd2) verkauft 10 Myrrhe. Blattschneideameise (3cd2) verkauft 10 Öl. Blattschneideameise (3cd2) verkauft 10 Seide. Blattschneideameise (3cd2) verkauft 10 Gewürze. Blattschneideameise (3cd2) verdient in Cecatucot (0,-6) 4630 Silber durch Handel.

Laut Wiki hätte sie 70 Weihrauch kaufen und 10 Balsam verkaufen sollen.

Wenn ich mich richtig erinnere kann man somit auch durch VERKAUFE eingenommenes Geld direkt wieder für KAUFE ausgeben. Das war aber laut https://bugs.eressea.de/view.php?id=1683 kein Bug.

Schritte zur Reproduktion

Beispiel vom Wiki als Test implementieren und sehen was passiert.

Genaugenommen finde ich so wie es jetzt tatsächlich ist besser.

Also Quick fix: Not a bug, its a feature => Wiki ändern und im nächsten Annonce eine kurze Erwähnung dazu.

Ersteres kann ich gerne machen, falls die Spielleitung der Meinung ist das gehört so. Das Problem ist, ich bin nicht 100% sicher ob VERKAUFE immer vor KAUFE kommt, oder ob sich beides an der Reihenfolge der Befehle orientiert.

Zusätzliche Informationen

Nicht mehr mit dieser Einheit in 1277, habe Befehle schon geändert und war nicht mehr dazu gekommen das letzte Woche zu berichten. Wenn Gewünscht, kann ich aber gerne wieder einer Einheit zu viel KAUFE befehlen.

TagsKeine Tags zugeordnet.
ParteinebL
SpielE2
Report1276

Eintrags-Beziehungen

verwandt mit 0001683 erledigtEnno Befehlsreihenfolge Kaufen 
verwandt mit 0002578 erledigtEnno Handel scheint verdientes Geld anderer Einheit direkt auszugeben 

Notizen / Dateien

Enno

Enno

2022-09-11 04:30

Administrator   ~0009780

Das liegt daran, das in der Funktion produce nur eine Schleife ist, die die Produktionswünsche aller Einheiten in der Region sammelt. Anschließend werden dann erst alle erlaubten Kaufwünsche, dann alle Verkäufe der Region ausgeführt.

Ob die komplizierte Logik mit expandbuying und expandsellingüberhaupt nötig ist, frage ich mich allerdings. Die dort verwendete Funktion expand_production mir generell ein Dorn im Auge.

Enno

Enno

2022-10-03 21:40

Administrator   ~0009826

Es hat wie vermutet mit der Reihenfolge der Befehle zu tun. Das at_trades Atribut merkt sich, wie viel die Einheit verkaufen will, ehe sie es überhaupt verkauft hat, und in buy wird das betrachtet, und entsprechend weniger gekauft. Das ist unnötig kompliziert und widersprüchlich. Reparatur wird ein bisschen kompliziert werden.

Enno

Enno

2022-10-05 21:03

Administrator   ~0009827

Ich dachte, ich hätte eine Lösung, aber:

Blattschneideameise (3cd2) bezahlt 1120 Silber für den Kauf von Luxusgütern.
Blattschneideameise (3cd2) kauft 70 Weihrauch.
Blattschneideameise (3cd2) verdient in Cecatucot (0,-6) 0 Silber durch Handel.

Da steht nichts davon, dass sie etwas verkauft :-( Muss ich wohl weiter dran frickeln.

Enno

Enno

2022-10-05 21:12

Administrator   ~0009828

So sieht es hübsch aus, finde ich:

Blattschneideameise (3cd2) bezahlt 1120 Silber für den Kauf von Luxusgütern.
Blattschneideameise (3cd2) kauft 70 Weihrauch.
Blattschneideameise (3cd2) verkauft 4 Balsam.
Blattschneideameise (3cd2) verkauft 1 Myrrhe.
Blattschneideameise (3cd2) verkauft 2 Seide.
Blattschneideameise (3cd2) verkauft 3 Gewürze.
Blattschneideameise (3cd2) verdient in Cecatucot (0,-6) 640 Silber durch Handel.
Enno

Enno

2022-10-05 21:13

Administrator   ~0009829

https://github.com/eressea/server/pull/987

Eintrags-Historie

Änderungsdatum Benutzername Feld Änderung
2022-09-04 08:17 Bruck Neuer Eintrag
2022-09-04 09:04 Enno Bearbeitung durch => Enno
2022-09-04 09:04 Enno Status neu => zugewiesen
2022-09-04 18:57 Enno Zielversion => 27.4
2022-09-09 21:51 Enno Beziehung hinzugefügt verwandt mit 0002578
2022-09-09 21:52 Enno Beziehung hinzugefügt verwandt mit 0001683
2022-09-11 04:30 Enno Notiz hinzugefügt: 0009780
2022-09-15 08:14 Enno Kategorie (No Category) => KAUFE/VERKAUFE
2022-09-15 08:14 Enno Produktversion 27.2 => 27.3
2022-10-03 21:40 Enno Notiz hinzugefügt: 0009826
2022-10-05 21:03 Enno Notiz hinzugefügt: 0009827
2022-10-05 21:12 Enno Notiz hinzugefügt: 0009828
2022-10-05 21:13 Enno Status zugewiesen => erledigt
2022-10-05 21:13 Enno Lösung offen => erledigt
2022-10-05 21:13 Enno Behoben in Version => 27.4
2022-10-05 21:13 Enno Notiz hinzugefügt: 0009829