Eintragsdetails ansehen

IDProjektKategorieSichtbarkeitZuletzt aktualisiert
0002137EresseaMACHEöffentlich2017-12-05 19:50
ReporterEnno Bearbeitung durchEnno  
PrioritätnormalSchweregradkleinerer FehlerReproduzierbarnicht getestet
Status geschlossenLösungerledigt 
Produktversion3.6 
Zielversion3.7.0Behoben in Version3.7.0 
Zusammenfassung0002137: learning-by-doing respektiert die Anzahl der Arbeiter nicht
Beschreibung

In die Funktion produceexp wird ein Parameter n übergeben, der die Anzahl der Arbeiter angibt. Wenn der kleiner als u->number ist, sollte sich die Lernchance entsprechend verringern, tut sie aber nicht. Der Parameter wird überhaupt nicht benutzt.

int produceexp(struct unit *u, skill_t sk, int n)
{
if (global.producexpchance > 0.0F) {
if (n == 0 || !playerrace(u_race(u)))
return 0;
learn_skill(u, sk, global.producexpchance);
}
return 0;
}

Schritte zur Reproduktion

Dieser Code hat keine Tests, aber sobald er welche hat, wird das offensichtlich sein.

Partei0
SpielE2
Report944

Notizen / Dateien

Enno

Enno

2015-09-12 16:51

Administrator   ~0006133

Fixed in https://github.com/eressea/server/pull/296

CTD

CTD

2015-10-12 21:56

Entwickler   ~0006174

Enno, du hast grade einwandfrei funktionierenden Code Kaputt gemacht!
Vom logischen, die Personen die nicht Arbeiten können sich in der Zeit weiterbilden, wenn überhaupt müssen die Lerntage bei nichtauslaustung steigen.
Vom Praktischen: Extreme Erhöhung des mikromanagments.
Von den Regeln:
Wendet sie das Talent lediglich an, ist die Chance in eine neue Stufe zu kommen auf 1/3 der Chance beim Lernen reduziert, man steigt dadurch also etwa mit 1/3 der Geschwindigkeit des exklusiven Lernens auf.
Das ist einfach und klar, nach der neuen Regelung ist das auch schwer zu erklären.
Bitte Orginalzustand wieder herstellen!

Enno

Enno

2015-10-13 11:22

Administrator   ~0006175

Ich glaube, du missverstehst die Intention des Codes (und die Regeln). Ich habe hier lediglich den Zustand wieder hergestellt, der schon seit Ewigkeiten galt. Diskussion über mögliche ander Regelungen ist besser auf eressea-dev aufgehoben, als in einem Bugreport.

Eintrags-Historie

Änderungsdatum Benutzername Feld Änderung
2015-09-12 16:25 Enno Neuer Eintrag
2015-09-12 16:25 Enno Status neu => zugewiesen
2015-09-12 16:25 Enno Bearbeitung durch => Enno
2015-09-12 16:51 Enno Notiz hinzugefügt: 0006133
2015-09-12 16:51 Enno Status zugewiesen => erledigt
2015-09-12 16:51 Enno Behoben in Version => 3.7.0
2015-09-12 16:51 Enno Lösung offen => erledigt
2015-10-12 21:56 CTD Notiz hinzugefügt: 0006174
2015-10-12 21:56 CTD Status erledigt => Rückmeldung
2015-10-12 21:56 CTD Lösung erledigt => wiedereröffnet
2015-10-13 11:22 Enno Notiz hinzugefügt: 0006175
2015-10-13 11:22 Enno Status Rückmeldung => zugewiesen
2015-10-13 11:22 Enno Status zugewiesen => erledigt
2015-10-13 11:22 Enno Lösung wiedereröffnet => erledigt
2017-12-05 19:50 Enno Status erledigt => geschlossen