Eintragsdetails ansehen

IDProjektKategorieSichtbarkeitZuletzt aktualisiert
0002791Eresseaöffentlich2022-01-29 14:24
ReporterSolthar Bearbeitung durchEnno  
PrioritätnormalSchweregradkleinerer FehlerReproduzierbarnicht getestet
Status erledigtLösungerledigt 
Produktversion3.30 
Zielversion27.1Behoben in Version27.1 
Zusammenfassung0002791: Falsche Schadensanzeige bei Flotten
Beschreibung

Runde 1243:
Letzte Ruhe (2o6d), 37 Karavellen, (1106/62160), 44% beschädigt

Runde 1244:
Letzte Ruhe (2o6d), 37 Karavellen, (1106/62160), 1% beschädigt

Betrifft NR und CR.

Partei1wpy
SpielE2
Report1244

Eintrags-Beziehungen

verwandt mit 0002760 erledigtEnno Eressea Schiffsschaden falsch berechnet? 
hat Duplikat 0002798 erledigtEnno Die Hotfix Schiffe aus Bug 0002795 haben die falsche Reichweite 
hat Duplikat 0002799 erledigtEnno Plötzlicher Schiffsschaden bei mehreren Schiffen 
verwandt mit 0002795 erledigtEnno Negative Werte bei Flottenladung 

Notizen / Dateien

Enno

Enno

2021-12-22 17:40

Administrator   ~0009393

Sicher, dass das nicht mit Bug 2760 zu tun hat?

Solthar

Solthar

2021-12-22 18:02

Entwickler   ~0009396

Nein, aber der Bug kam erst mit Version 3.30.

Enno

Enno

2021-12-22 18:38

Administrator   ~0009397

Dann kann es doch an der Änderung gelegen haben, dass da jetzt weniger angezeigt wurde? D.h. der Bug war, dass da vorher zu viel Schaden berechnet wurde?

Solthar

Solthar

2021-12-22 20:09

Entwickler   ~0009398

Ich wäre froh, wenn alle meine Flotten plötzlich repariert wären, aber nein, denn die Reichweite ist gleich geblieben. Daran habe ich es eigentlich bemerkt. Die Kapazität (62160 = 67 % 2500 37 ) ist auch gleich geblieben und der Fehler ist nur bei Flotten, nicht bei Einzelschiffen.

Solthar

Solthar

2021-12-22 20:11

Entwickler   ~0009399

Arg, wer hat sich nur gedacht, dass intransparenter Markdown in Burgreports eine gute Idee wäre. 67 Prozent mal 2500 mal 37.

Xolgrim

Xolgrim

2021-12-24 08:37

Tester   ~0009401

Meine Vermutung dazu:
Vorher wurde für die Feststellung ob ein Schiff kritischen Schaden durch Überladen nimmt immer nur auf die Basiskapazität des Schiffes getestet aus welchem die Flotte besteht. Bei der Anzeige des Schadesn scheint es nun genau anders herum zu sein und die 44% werden nur auf ein Einzelnes Schiff gerechnet bevor es unter der Flotte aufgeteilt wird. Das würde zumindest die Anzeige erklären. Wenn man in eine Flotte aus 36 intakten Karavellen eine Karavelle steckt die zu 44% beschädigt ist, erhält man danach vermutlich eine Flotte aus 37 Karas die mit 1% Beschädigung angezeigt wird.

Im Gegensatz zur Abfrage nach dem Überladungsschaden soll der Schaden welchen die gesamte Flotte dann tatsächlich erlitten hat aber natürlich auch für die ganze Flotte angezeigt werden und nicht nur auf ein Schiff runtergebrochen.

Enno

Enno

2021-12-25 11:09

Administrator   ~0009404

Zuletzt bearbeitet: 2021-12-25 11:09

Diese Flotte hat:

sh->damage = 412734
sh->number = 37
sh->size = 9250

Wichtig zum Verständnis: Der gespeicherte Schaden ist um einen Faktor 100 skaliert, weil man sonst bei Booten keine 5% Schaden haben kann. Schiffe können also maximal Größe mal Anzahl mal 100 Punkte Schaden bekommen.

Das rechnet sich dann so: 412734 / 100 / 37 / 9250 = 0.012, macht gerundet 1% Schaden. Wenn das in Runde 1243 als 44% angezeigt wurde, dann weil in der Berechnung die 37 gefehlt hat (0.012 * 37 = 0.446).

Enno

Enno

2021-12-25 11:15

Administrator   ~0009405

In Runde 1243 wurde noch mit dem Code von 3.29 ausgewertet, wo die Anzeige genau diesen Fehler hatte, der in Bug 2760 repariert wurde. Ich glaube, du bist hier "Opfer" eines Bugfixes.

Solthar

Solthar

2021-12-25 22:56

Entwickler   ~0009406

Nah, 44% ist der richtige Schaden, zumindest näherungsweise, denn die Flotte wurde aus 37 Einzelsschiffen mit 40% Schaden zusammengelegt. Außerdem passt 1% Schaden nicht zu Kapazität und Reichweite, wie ich oben schon gezeigt habe. (Oben habe ich fälschlicherweise mit 2500 statt 3000 GE pro Karavelle gerechnet.)

37;Anzahl
9250;Groesse
1;Schaden
6216001;capacity
4;speed
Solthar

Solthar

2021-12-25 23:01

Entwickler   ~0009407

Die richtige Rechnung wäre 412734 / 100 / 250 / 37 = 44 Prozent. Du hast oben zweimal durch die Anzahl 37 geteilt, weil die in 9250 (= 37 * 250) schon enthalten ist.

Enno

Enno

2021-12-27 16:44

Administrator   ~0009408

Oh. In der Tat, sh->size darf nicht mit sh->number multipliziert werden, das stimmt.

Enno

Enno

2021-12-27 16:50

Administrator   ~0009409

Das hat sich in der Routine, die den Schaden erzeugt gefunden, und auch in der Anzeige. Nice catch! Reparatur kommt zügig.

Enno

Enno

2021-12-27 16:53

Administrator   ~0009410

Das war ein doofer Fehler, aber betrifft zum Glück nur Flotten, sonst würde ich überlegen, einen Hotfix für das aktuelle Release zu machen. Ich hoffe mal, das ganze kann warten.

Eintrags-Historie

Änderungsdatum Benutzername Feld Änderung
2021-12-22 13:21 Solthar Neuer Eintrag
2021-12-22 17:40 Enno Notiz hinzugefügt: 0009393
2021-12-22 17:40 Enno Beziehung hinzugefügt verwandt mit 0002760
2021-12-22 18:02 Solthar Notiz hinzugefügt: 0009396
2021-12-22 18:38 Enno Notiz hinzugefügt: 0009397
2021-12-22 20:09 Solthar Notiz hinzugefügt: 0009398
2021-12-22 20:11 Solthar Notiz hinzugefügt: 0009399
2021-12-24 08:37 Xolgrim Notiz hinzugefügt: 0009401
2021-12-25 08:36 Enno Bearbeitung durch => Enno
2021-12-25 08:36 Enno Status neu => zugewiesen
2021-12-25 11:09 Enno Notiz hinzugefügt: 0009404
2021-12-25 11:09 Enno Notiz bearbeitet: 0009404
2021-12-25 11:15 Enno Notiz hinzugefügt: 0009405
2021-12-25 22:56 Solthar Notiz hinzugefügt: 0009406
2021-12-25 23:01 Solthar Notiz hinzugefügt: 0009407
2021-12-27 16:44 Enno Notiz hinzugefügt: 0009408
2021-12-27 16:50 Enno Notiz hinzugefügt: 0009409
2021-12-27 16:51 Enno Behoben in Version => 27.1
2021-12-27 16:51 Enno Zielversion => 27.1
2021-12-27 16:53 Enno Status zugewiesen => erledigt
2021-12-27 16:53 Enno Lösung offen => erledigt
2021-12-27 16:53 Enno Notiz hinzugefügt: 0009410
2022-01-09 12:27 Solthar Beziehung hinzugefügt verwandt mit 0002795
2022-01-29 14:23 Enno Beziehung hinzugefügt hat Duplikat 0002798
2022-01-29 14:24 Enno Beziehung hinzugefügt hat Duplikat 0002799