Eintragsdetails ansehen

IDProjektKategorieSichtbarkeitZuletzt aktualisiert
0002290EresseaMACHEöffentlich2017-05-26 06:33
ReporterSolthar Bearbeitung durchEnno  
PrioritätnormalSchweregradkleinerer FehlerReproduzierbarnicht getestet
Status geschlossenLösungerledigt 
Zielversion3.11Behoben in Version3.11 
Zusammenfassung0002290: Falsche Berechnung von Holzproduktion im Testreport?
Beschreibung

Alle meine Holz- und Mallornfäller haben im Testreport nicht die richtige Menge produziert, wenn ich mich nicht irre. Zum Beispiel: Originalreport: Inspektor (7g30) in Hochland von Grus (-12,10) produziert 6 Holz. Testreport: Inspektor (7g30) in Hochland von Grus (-12,10) produziert 1 von 6 Holz.

Leider ist in meinem Testreport schon Frühlung und im Originalreport noch Winter, so dass ich nicht nachvollziehen kann, ob die richtige Menge Holz abgezogen wurde oder was sonst schief lief. Originalreport: Berg von Krarg (-13,11), Berge, 26/54 Bäume, 65 unterwürfige Bauern, 5392 Testreport: Berg von Krarg (-13,11), Berge, 33/134 Bäume, 69 unterwürfige Bauern, 5382

TagsKeine Tags zugeordnet.
Parteidrac
SpielE3
Report396

Notizen / Dateien

Enno

Enno

2017-02-28 08:13

Administrator   ~0006993

An der Produktion habe ich in der Tat etwas geändert. Bug #2279 war das. Warum ist denn die Jahreszeit im Testreport anders? Oh, ich sehe einen anderen Bugreport, ist da #2288 ?

Ich finde es ja toll, dass ich Fehler aus dem Testreport gemeldet kriege. Es wäre schön, wenn ich die nicht alle in der letzten Woche vor dem entscheidenden ZAT eingebaut hätte...

Enno

Enno

2017-02-28 17:55

Administrator   ~0007003

Es gibt 244 Holz in der Region, die Einheit will 6. Die Region ist 818008342. Einheit bekommt nur 1 Holz. Einheit ist der einzige Produzent in der Region.

Enno

Enno

2017-02-28 18:09

Administrator   ~0007004

Einheit hat Skill 6+1, spart 50% Resourcen bei der Produktion. attrib_allocation wird zur Verteilung benutzt (richtig), es gibt nur diese eine Allokation (korrekt), aha...

avail = MIN(avail, nreq);

Das sieht mir falsch aus. nreq ist die Menge Baeume, die zur Erfüllung aller Aufträge geholzt werden müssen. Kurz später rechnen wir aus, was unser Auftrag selber braucht:

int want = required(al->want, al->save);

Das ist natürlich auch 3. Es wird ausgerechnet, wie viel uns anteilig zusteht (in x), und dann wird -- hier kommt der Moment wo der Hund ... -- wird das mit dem Materialspar-Bonus multipliziert.

al->get = x * al->save.sa[0] / al->save.sa[1];

3 * 1 / 2 = 1, deshalb kriegt die Einheit ein Holz. Falsch. Es muss mit dem INVERSEN Material-Bonus multipliziert werden, weil wir hier von verbrauchten Bäumen aus das erzeugte Holz berechnen.

Der Fehler hat sich eingeschlichen, weil @Xolgrim meinte, man dürfe nicht mit MACHE 1 HOLZ gratis Bäume fällen (1 Holz * 0.5 Baum pro Holz = 0 Bäume), und ich das nicht gut genug getestet habe?

Enno

Enno

2017-03-01 21:19

Administrator   ~0007035

Da dieser Bug eine REgression seit 3.10 ist, muss er noch vor dem 3.11 Release repariert werden.

Enno

Enno

2017-03-02 18:54

Administrator   ~0007043

Meine Änderungen der letzten Zeit machen es echt schwer, hier einen Unit-Test zu schreiben. Erst mal in Lua reproduzieren, denke ich.

Enno

Enno

2017-03-02 19:25

Administrator   ~0007044

fixed with a lousy test in commit b0baba44, waiting for merge.

Enno

Enno

2017-05-26 06:33

Administrator   ~0007219

Die Version 3.11 ist historisch, alle gefixten Bugs scheinen keine Probleme zu haben.

Eintrags-Historie

Änderungsdatum Benutzername Feld Änderung
2017-02-26 22:31 Solthar Neuer Eintrag
2017-02-27 08:59 Solthar Kategorie ZAUBER => MACHE
2017-02-27 21:21 Solthar Zielversion => 3.11
2017-02-28 08:13 Enno Notiz hinzugefügt: 0006993
2017-02-28 17:55 Enno Bearbeitung durch => Enno
2017-02-28 17:55 Enno Status neu => bestätigt
2017-02-28 17:55 Enno Notiz hinzugefügt: 0007003
2017-02-28 18:09 Enno Notiz hinzugefügt: 0007004
2017-03-01 21:19 Enno Status bestätigt => zugewiesen
2017-03-01 21:19 Enno Notiz hinzugefügt: 0007035
2017-03-02 18:54 Enno Notiz hinzugefügt: 0007043
2017-03-02 19:25 Enno Status zugewiesen => erledigt
2017-03-02 19:25 Enno Lösung offen => erledigt
2017-03-02 19:25 Enno Behoben in Version => 3.11
2017-03-02 19:25 Enno Notiz hinzugefügt: 0007044
2017-05-26 06:33 Enno Notiz hinzugefügt: 0007219
2017-05-26 06:33 Enno Status erledigt => geschlossen