View Issue Details

IDProjectCategoryView StatusLast Update
0002343EresseaGeneralpublic2017-12-05 18:48
ReporterEnno Assigned ToEnno  
PrioritynormalSeverityminorReproducibilityhave not tried
Status closedResolutionfixed 
Product Version3.13.0 
Target Version3.13.0Fixed in Version3.13.0 
Summary0002343: 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?

TagsNo tags attached.
Factionr5o
GameE2
Report1030

Relationships

related to 0002326 closedEnno Untote Helden fehlen in der Kampfübersicht 
related to 0002362 closedEnno Einheiten übergeben führt zu negativen Trefferpunkten 

Activities

Enno

Enno

2017-06-24 13:03

administrator   ~0007301

Der Fehler tritt nicht auf, wenn ich das aktuelle 1030 Datenfile mit dem aktuellen 13.12.2 Code lese.

Enno

Enno

2017-06-25 09:27

administrator   ~0007304

Es gibt keine Einheit o430 im 1029 Datenfile, ich nehme also an, dass das eine neue TEMP-Einheit war? Mal schauen.

Enno

Enno

2017-06-25 09:31

administrator   ~0007305

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.

Enno

Enno

2017-06-25 09:36

administrator   ~0007306

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.

Enno

Enno

2017-06-25 09:38

administrator   ~0007307

Das betrifft offenbar eine ganze Menge Einheiten.

Enno

Enno

2017-06-25 09:44

administrator   ~0007308

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.

Enno

Enno

2017-06-25 11:46

administrator   ~0007309

Zum debuggen: Erster Fall in dieser Woche ist Einheit 742917, die 1 Person an eine TEMP-Einheit gibt.

Enno

Enno

2017-06-25 11:48

administrator   ~0007310

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.

Issue History

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