Eintragsdetails ansehen

IDProjektKategorieSichtbarkeitZuletzt aktualisiert
0002313EresseaGeneralöffentlich2017-12-05 19:49
ReporterSolthar Bearbeitung durchEnno  
PrioritätnormalSchweregradkleinerer FehlerReproduzierbarnicht getestet
Status geschlossenLösungerledigt 
Produktversion3.12 
Zielversion3.12Behoben in Version3.12 
Zusammenfassung0002313: Einheitenzahl falsch
Beschreibung

Im Testreport ist die Einheitenzahl falsch:

   Deine Partei hat 14667 Personen in 231 von maximal 250 Einheiten.

Es solten aber 227 Einheiten sein. Auch die Punktzahl weicht leicht ab, obwohl der Testreport praktisch identisch mit dem normalen Report ist.

TagsKeine Tags zugeordnet.
Parteidrac
SpielE3
Report398

Notizen / Dateien

Enno

Enno

2017-03-12 10:47

Administrator   ~0007136

Das ist eine geplante Änderung: Untote, Vertraute und andere non-humanoide Einheiten zählen jetzt auch zu den Einheiten. Die erhöhte Punktzahl ist ein Resultat davon: Mehr Einheiten => mehr Personen => mehr Punkte.

Solthar

Solthar

2017-03-12 11:29

Entwickler   ~0007137

Hm, ich habe aber keine Untoten, Vertraute oder andere Einheiten außer Goblins und Dämonen. Und ich zähle 227.

Solthar

Solthar

2017-03-12 11:34

Entwickler   ~0007138

Vielleicht ist es ein Zufall, aber ich habe diese Woche 4 TEMP-Einheiten erzeugt, was der Differenz entspricht. Diese mitgerechnet habe ich aber trotzdem nur 227.

Enno

Enno

2017-03-12 12:08

Administrator   ~0007139

Nach dem Lesen der Daten: 225 Nach MACHE TEMP: 229

Oh, ich glaube ich sehe das Problem: REKRUTIERE macht eine temporäre Einheit, die es dann mit der Original-Einheit "mischt", um die Talente zu berechnen. Das ist ein doofer Hack, und an der Stelle geht das bestimmt schief.

Enno

Enno

2017-03-12 12:47

Administrator   ~0007140

Das mit den zwei Einheiten wird gemacht, um equip_unit aufzurufen (neue Personen kriegen je nach Rasse Talentboni und Gegenstände). Das ist ein bisschen übertriebener Aufwand.

Enno

Enno

2017-03-12 12:48

Administrator   ~0007141

Der Rechenfehler passiert wohl in remove_unit - da wird die Einheit aus der Parteiliste entfernt, aber der nu,_units Zähler nicht aktualisiert.

Enno

Enno

2017-03-12 13:00

Administrator   ~0007142

Habe den Fehler in einem Test reproduziert. Dabei einen zweiten Fehler entdeckt: Wenn eine Einheit auf einem Schiff stirbt, das mit ZERSTÖRE versenkt wird, oder im Chaos von einer Flutwelle verschluckt, dann wird auch die Anzahl Einheiten nicht angepasst. Wieder ist remove_unit Schuld.

Ich glaube, ich muss auch noch testen, dass gewisse Einheiten von der Zählung ausgeschlossen werden. Einige Zauber erzeugen Einheiten, die dann in age_unit wieder mit remove_unit gelöscht werden.

Enno

Enno

2017-03-12 13:42

Administrator   ~0007143

gefixt in PR https://github.com/eressea/server/pull/676

Enno

Enno

2017-03-12 13:44

Administrator   ~0007144

Anzeige ist jetzt: Deine Partei hat 14668 Personen in 227 von maximal 250 Einheiten.

Solthar

Solthar

2017-03-12 13:52

Entwickler   ~0007145

Das ist eine Person mehr, als es sein sollte. Mir ist nicht klar, wo die plötzlich herkommt. Jedenfalls nicht aus einem Kampf. Ich hatte diese Woche keine Verluste.

Enno

Enno

2017-03-12 14:15

Administrator   ~0007146

Hmm. Hmmm. Mal gucken: Datenfile geladen, nach readgame: 14650 Dann wird eine Zusammenfassung geschrieben, dabei setzt make_summary f->num_people = 0; Das sollte auf keinen Fall so sein, denke ich. make_summary rechnet die Anzahl dann komplett neu aus, kümmert sich dabei aber nicht um Zaubersprüche. Du hast scheinbar vor kurzem einmal Traumdeuten o.ä. gezaubert?

Das mit der Neuberechnung mache ich mal lieber weg, danach sollte das wieder in Ordnung sein.

Enno

Enno

2017-03-12 14:21

Administrator   ~0007147

Jetzt aber: Deine Partei hat 14667 Personen in 227 von maximal 250 Einheiten.

Eintrags-Historie

Änderungsdatum Benutzername Feld Änderung
2017-03-12 10:45 Solthar Neuer Eintrag
2017-03-12 10:47 Enno Notiz hinzugefügt: 0007136
2017-03-12 10:47 Enno Produktversion 3.11.1 => 3.12
2017-03-12 11:29 Solthar Notiz hinzugefügt: 0007137
2017-03-12 11:34 Solthar Notiz hinzugefügt: 0007138
2017-03-12 12:08 Enno Notiz hinzugefügt: 0007139
2017-03-12 12:08 Enno Bearbeitung durch => Enno
2017-03-12 12:08 Enno Status neu => zugewiesen
2017-03-12 12:47 Enno Notiz hinzugefügt: 0007140
2017-03-12 12:48 Enno Notiz hinzugefügt: 0007141
2017-03-12 13:00 Enno Notiz hinzugefügt: 0007142
2017-03-12 13:42 Enno Status zugewiesen => erledigt
2017-03-12 13:42 Enno Lösung offen => erledigt
2017-03-12 13:42 Enno Behoben in Version => 3.12
2017-03-12 13:42 Enno Notiz hinzugefügt: 0007143
2017-03-12 13:44 Enno Notiz hinzugefügt: 0007144
2017-03-12 13:52 Solthar Status erledigt => Rückmeldung
2017-03-12 13:52 Solthar Lösung erledigt => wiedereröffnet
2017-03-12 13:52 Solthar Notiz hinzugefügt: 0007145
2017-03-12 14:15 Enno Notiz hinzugefügt: 0007146
2017-03-12 14:21 Enno Status Rückmeldung => erledigt
2017-03-12 14:21 Enno Lösung wiedereröffnet => erledigt
2017-03-12 14:21 Enno Notiz hinzugefügt: 0007147
2017-05-14 13:16 Enno Zielversion => 3.12
2017-12-05 19:49 Enno Status erledigt => geschlossen