View Issue Details

IDProjectCategoryView StatusLast Update
0002889EresseaKAUFE/VERKAUFEpublic2025-01-17 05:58
ReporterBruck Assigned ToEnno  
PrioritylowSeverityminorReproducibilityhave not tried
Status closedResolutionfixed 
Product Version27.3 
Target Version27.4Fixed in Version27.4 
Summary0002889: KAUFE ist in der Priorität nach VERKAUFE
Description

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.

Steps To Reproduce

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.

Additional Information

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.

TagsNo tags attached.
FactionnebL
GameE2
Report1276

Relationships

related to 0001683 closedEnno Befehlsreihenfolge Kaufen 
related to 0002578 closedEnno Handel scheint verdientes Geld anderer Einheit direkt auszugeben 

Activities

Enno

Enno

2022-09-11 02: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 19: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 19: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 19: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 19:13

administrator   ~0009829

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

Issue History

Date Modified Username Field Change
2022-09-04 06:17 Bruck New Issue
2022-09-04 07:04 Enno Assigned To => Enno
2022-09-04 07:04 Enno Status new => assigned
2022-09-04 16:57 Enno Target Version => 27.4
2022-09-09 19:51 Enno Relationship added related to 0002578
2022-09-09 19:52 Enno Relationship added related to 0001683
2022-09-11 02:30 Enno Note Added: 0009780
2022-09-15 06:14 Enno Category (No Category) => KAUFE/VERKAUFE
2022-09-15 06:14 Enno Product Version 27.2 => 27.3
2022-10-03 19:40 Enno Note Added: 0009826
2022-10-05 19:03 Enno Note Added: 0009827
2022-10-05 19:12 Enno Note Added: 0009828
2022-10-05 19:13 Enno Status assigned => resolved
2022-10-05 19:13 Enno Resolution open => fixed
2022-10-05 19:13 Enno Fixed in Version => 27.4
2022-10-05 19:13 Enno Note Added: 0009829
2025-01-17 05:58 Xolgrim Status resolved => closed