Eintragsdetails ansehen

IDProjektKategorieSichtbarkeitZuletzt aktualisiert
0002978EresseaMACHEöffentlich2023-09-15 19:53
ReporterSolthar Bearbeitung durchEnno  
PrioritätnormalSchweregradkleinerer FehlerReproduzierbarnicht getestet
Status erledigtLösungerledigt 
Produktversion28.4 
Behoben in Version28.4 
Zusammenfassung0002978: VERKAUFE funktioniert nach MACHE Burg
Beschreibung

Bin beim Experimentieren auf ein merkwürdiges Szenario gestoßen. Eine Einheit baut eine Burg und darf im gleichen Zug noch Juwelen verkaufen, obwohl es eine Fehlermeldung gibt: 'VERKAUFE ALLES Juwel' - Die Einheit kann keine weiteren langen Befehle ausführen. Die Reihenfolge der Befehle ist dabei auch irgendwie wichtig.

Getestet auf develop 9950071e5d7.

Schritte zur Reproduktion
function test_make_castle_sell()
    local r = region.create(0, 0, 'plain')
    r.peasants = 10000
    r.luxury = 'balm'
    local f = faction.create('human')
    local u = unit.create(f, r, 1)
    u:add_item("jewel", 1)
    assert_equal(1, u:get_item("jewel"))
    u:add_item("stone", 2)
    u:add_order("MACHE 2 Burg")
    u:add_order("VERKAUFE ALLES Juwel")
    u:set_skill("trade", 10)
    u:set_skill("building", 10)
    process_orders()
    write_report(f)
    assert_equal(1, u:get_item("jewel"))
end
TagsKeine Tags zugeordnet.
Partei1wpy
SpielE2
Report1000

Notizen / Dateien

Enno

Enno

2023-09-14 20:31

Administrator   ~0010037

Da fehlt ein check auf fval(u, UFL_LONGACTION), glaube ich.

Enno

Enno

2023-09-14 21:01

Administrator   ~0010038

Zuletzt bearbeitet: 2023-09-14 21:02

Das Problem ist die Logik in update_long_order. Die gibt die Fehlermeldung aus, verhindert aber nicht, dass gehandelt wird (weil Handel nicht mit u->thisorder gemacht wird).

Enno

Enno

2023-09-14 21:33

Administrator   ~0010039

Den eigentlichen Fehler repariert, aber es sollten noch Tests für update_long_order geschrieben werden, die Funktion ist nicht-trivial.

Eintrags-Historie

Änderungsdatum Benutzername Feld Änderung
2023-09-01 02:35 Solthar Neuer Eintrag
2023-09-04 08:19 Solthar Schritte zur Reproduzierung aktualisiert
2023-09-04 08:21 Solthar Schritte zur Reproduzierung aktualisiert
2023-09-13 20:08 Enno Bearbeitung durch => Enno
2023-09-13 20:08 Enno Status neu => zugewiesen
2023-09-14 20:31 Enno Status zugewiesen => bestätigt
2023-09-14 20:31 Enno Notiz hinzugefügt: 0010037
2023-09-14 21:01 Enno Notiz hinzugefügt: 0010038
2023-09-14 21:02 Enno Notiz bearbeitet: 0010038
2023-09-14 21:33 Enno Notiz hinzugefügt: 0010039
2023-09-15 19:53 Enno Status bestätigt => erledigt
2023-09-15 19:53 Enno Lösung offen => erledigt
2023-09-15 19:53 Enno Behoben in Version => 28.4