View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0002343 | Eressea | General | public | 2017-06-24 13:01 | 2017-12-05 18:48 |
| Reporter | Enno | Assigned To | Enno | ||
| Priority | normal | Severity | minor | Reproducibility | have not tried |
| Status | closed | Resolution | fixed | ||
| Product Version | 3.13.0 | ||||
| Target Version | 3.13.0 | Fixed in Version | 3.13.0 | ||
| Summary | 0002343: Einheit hat 0 Trefferpunkte | ||||
| Description | Ich habe gerade eine Test-Auswertung mit der aktuellen develop-Version gemacht (von 1029.dat nach 1030). Wenn ich danach das 1030.dat Datenfile einlese, bekomme ich diese Meldung: ERROR: Einheit o430 hat 7 Personen, und 0 Trefferpunkte In 1030-r5o.nr sehe ich, dass die Einheit wohl gehungert hat: Bauern (o430) verliert in Vilrét (19,-14) 3 von 10 Personen durch Unterernährung. Aber die verbleibenden 7 Zwerge sollten dann doch wenigstens noch einen Trefferpunkt haben? Ist beim Hunger etwas kaputt? | ||||
| Tags | No tags attached. | ||||
| Faction | r5o | ||||
| Game | E2 | ||||
| Report | 1030 | ||||
|
Der Fehler tritt nicht auf, wenn ich das aktuelle 1030 Datenfile mit dem aktuellen 13.12.2 Code lese. |
|
|
Es gibt keine Einheit o430 im 1029 Datenfile, ich nehme also an, dass das eine neue TEMP-Einheit war? Mal schauen. |
|
|
Die Einheit ist die erste von Partei 35196, die hungert (einfacher Breakpoint), und hat schon zum Einstieg der Funktion 0 HP. Da für 3 Personen das Silber fehlt, und alle mehr Schaden nehmen, als sie Trefferpunkte haben (also 1 oder mehr) sterben drei Personen. |
|
|
Die Einheit wird mit "MACHE TEMP zevi" erstellt und bekommt 24 * 0 Trefferpunkte (weil neue Einheiten 0 Personen haben). Das könnte man mal vereinfachen. Wenn sie rekrutiert, sollte sie mehr kriegen. |
|
|
Das betrifft offenbar eine ganze Menge Einheiten. |
|
|
Der Fehler ist in clone_men, wo die HP von Einheiten bei der Rekrutierung gesetzt werden. Die Funktion ist relativ neu, und erst für den Bugfix von Bug 2326 in den 3.13 Branch eingeflossen. |
|
|
Zum debuggen: Erster Fall in dieser Woche ist Einheit 742917, die 1 Person an eine TEMP-Einheit gibt. |
|
|
Aha, ich sehe den Fehler: hp -= u->hp; dst->hp += hp; Früher wurde erst die Originaleinheit um Leute und Trefferpunkt reduziert, dann der Unterschied zu dst addiert. Das muss natürlich anders sein, jetzt. |
|
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2017-06-24 13:01 | Enno | New Issue | |
| 2017-06-24 13:01 | Enno | Status | new => assigned |
| 2017-06-24 13:01 | Enno | Assigned To | => Enno |
| 2017-06-24 13:03 | Enno | Note Added: 0007301 | |
| 2017-06-25 09:27 | Enno | Note Added: 0007304 | |
| 2017-06-25 09:31 | Enno | Note Added: 0007305 | |
| 2017-06-25 09:36 | Enno | Note Added: 0007306 | |
| 2017-06-25 09:38 | Enno | Note Added: 0007307 | |
| 2017-06-25 09:44 | Enno | Note Added: 0007308 | |
| 2017-06-25 09:45 | Enno | Relationship added | related to 0002326 |
| 2017-06-25 11:46 | Enno | Note Added: 0007309 | |
| 2017-06-25 11:48 | Enno | Note Added: 0007310 | |
| 2017-06-25 12:08 | Enno | Status | assigned => resolved |
| 2017-06-25 12:08 | Enno | Resolution | open => fixed |
| 2017-06-25 12:08 | Enno | Fixed in Version | => 3.13.0 |
| 2017-08-31 19:33 | Enno | Relationship added | related to 0002362 |
| 2017-12-05 18:48 | Enno | Status | resolved => closed |