Eintragsdetails ansehen
ID | Projekt | Kategorie | Sichtbarkeit | Meldungsdatum | Zuletzt aktualisiert |
---|---|---|---|---|---|
0002420 | Eressea | LERNE/LEHRE | öffentlich | 2018-02-16 23:08 | 2020-09-17 18:16 |
Reporter | Solthar | Bearbeitung durch | Enno | ||
Priorität | normal | Schweregrad | Feature-Wunsch | Reproduzierbar | nicht getestet |
Status | erledigt | Lösung | erledigt | ||
Behoben in Version | 3.25 | ||||
Zusammenfassung | 0002420: Silberkosten LERNE Magie | ||||
Beschreibung | Der Befehl LERNE Magie hat einen optionalen Parameter für die Silberkosten. Der ist rein informativ. Wenn er kleiner ist als der wirklich benötigte Wert, wird trotzdem das eigentlich benötigte Silber ausgegeben. Zudem wird der Wert in den Defaultbefehlen nicht richtig aktuell gehalten, wenn sich das Magielevel ändert. Stattdessen wird einfach der Wert uas der letzten Runde übernommen. Man muss also jede Runde selber nachrechnen. Das ist sehr lästig und führt zu Fehlern. Änderungsvorschlag:
| ||||
Tags | Keine Tags zugeordnet. | ||||
Partei | 1wpy | ||||
Spiel | E2 | ||||
Report | 1063 | ||||
Lösung 3 funktioniert doch schon ... Wenn du deinem Magier den Befehl "LERNE MAGIE" gibst steht da nächste Woche auch nur "LERNE MAGIE" PS: Ist der Parameter irgendwo in der Aneltung festgehalten? Ich habe da auf die Schnelle nichts zu gefunden |
|
Der Parameter ist doof. Er erfordert eine Sonderbehandlung für den LERNE Befehl, wenn man Magie lernt, und ich werde ihn wohl abschaffen im Rahmen des geplanten LERNE AUTO Befehls. |
|
Ich finde auch nicht, wo der Code den Parameter entweder setzt oder auswertet. Gibt es ein konkretes Beispiel von einer Einheit, die das getan hat? |
|
Uff, das ist wieder lange her. Ich glaube, das ist genau der Punkt, oder? Der Parameter wird weder gesetzt noch ausgewertet. Einfach nur für die nächste Runde übernommen. Im engsten Sinne ist das hier kein Bug, aber nicht gerade benutzerfreundlich. Das Optimum wäre, wenn nach dem Lernen und dem potentiellen Aufstieg die Lernkosten neu berechnet und in den Befehl übernommen werden. Weiß nicht, ob ich die Frage verstehe. Einheit wyiy hat diese Woche den Befehl LERNE MAGIE 66700, aber 78100 verbraucht. @Xolgrim Das geht aber am Problem vorbei. Das Problem ist, dass, wenn man den Parameter benutzt, man irgendwann einen unsinnigen Wert da drin stehen hat und deshalb seinen Silberverbrauch unterschätzt. Der Parameter ist bei https://wiki.eressea.de/index.php/LERNE dokumentiert. Den erklärenden Text habe ich da offenbar damals selber reingeschrieben. |
|
Ich glaube, das Problem hier ist, dass die Anleitung einen Parameter dokumentiert, den es nicht gibt. Man konnte früher bei fast allen Befehlen Müll ans Ende schreiben. Z.B. konnte ich schreiben ARBEITE 2x, und mein client-seitiges Skript konnte die Anzahl jede Woche reduzieren, weil der Server den Befehl genzu so in die Zugvorlage bzw. den CR zurück geschrieben hat. Das ist nicht mehr so, seit Befehle nicht mehr als String, sondern als komplexere struct repräsentiert sind. Für LERNE Eine Idee hatte ich gerade noch: Es kann sein, das ECheck mit der Zahl etwas anfängt. ECheck macht ja eine gewisse Berechnung, ob genug Silber in der Region ist, um alle Einheiten zu versorgen, und muss dafür bei teuren Talenten mit variablen Kosten wissen, wieviel Silber LERNE verbraucht. Die Rechnerei ist aber eh unzuverlässig (schon wegen Materialkosten und Gebäudeunterhalt). Ich bin dafür, den Parameter aus der Anleitung zu werfen, und so tun, als gäbe es ihn nicht. |
|
Ja, ich vermute ECheck ist der Grund, warum es den Parameter überhaupt gibt. Einen undokumentierten Parameter finde ich seltsam, das führt doch früher oder später wieder zu Problemen. Das mit den Extraparametern scheint nicht ganz richtig zu sein. ARBEITE 1 2 3 verdient ganz normal 10 Silber, der Defaultbefehl ist wieder ARBEITE 1 2 3; LERNE Ausdauer 1 2 3 wird zu LERNE Ausdauer verkürzt, bei LERNE Magie x y z werden alle Parameter übernommen. Wie dem auch sei, wäre es möglich, den Parameter einfach immer im Default-Befehl zu löschen? Einziges Problem wäre, dass es vielleicht, möglicherweise Skripte kaputt macht. Ansonsten halt doch einfach alles so lassen, wie es ist. |
|
In der Regel speichere ich Befehle als Befehlswort plus Text, der dahinter steht. Bei manchen Befehlen ist der Text nicht mehr als ein Talent (LERNE, LERNEAUTO und VERGISS), da spare ich mir, den Text zu speichern, weil das Talent in ein Byte passt. Bei fast allen übrigen Befehlen kommt also im Report wieder genau der Text raus, der in der Befehlsmail geschrieben wurde, bei LERNE aber nicht. Ausnahme ich LERNE Magie, weil dort die Syntax das Magiegebiet enthalten kann. Deshalb wird das wie die gemeinen Befehle mit vollem Text gemerkt (Auch wenn der "LERNE MAGIE Cerddor 200 heulende Höllenhunde" ist). Man kann also eine Silbermenge angeben, und kriegt die dann wieder, aber getan wird damit nichts, außer evtl. einer Meldung dass das Magiegebiet nicht erkannt wurde, wenn man als erster Magier der Partei "LERNE Magie 100" befiehlt, und der Parser meint, 100 könnte ja vielleicht das Gebiet sein, das die Partei wählen will ;-) Bei ARBEITE habe ich in der Tat Unsinn erzählt. Das wird behandelt wie alle anderen Befehle, d.h. ich merke mir alles, was Du dahinter schreibst. Das ist eine mögliche Optimierung (gar nichts merken) die ich noch nicht gemacht habe, weil sie nur sehr wenig bringen würde. So gut wie niemand schreibt "BEFOERDERE zum Helden", oder wie Du "ARBEITE 1 2 3", da gibt es also nichts zu sparen. Ich tippe auf ECheck als Quelle der Verwirrung, und würde dafür plädieren, den Parameter einfach stillschweigend aus der Anleitung zu nehmen, wenn er das noch irgendwo drin steht. Ich mache das gerade mal im LERNE Artikel selber. |
|
Anleitung angepasst. |
|
Änderungsdatum | Benutzername | Feld | Änderung |
---|---|---|---|
2018-02-16 23:08 | Solthar | Neuer Eintrag | |
2018-06-02 10:20 | Xolgrim | Notiz hinzugefügt: 0007899 | |
2018-06-02 10:23 | Xolgrim | Notiz bearbeitet: 0007899 | |
2018-07-04 16:29 | Enno | Bearbeitung durch | => Enno |
2018-07-04 16:29 | Enno | Status | neu => zugewiesen |
2018-07-04 16:30 | Enno | Notiz hinzugefügt: 0007942 | |
2020-09-16 20:29 | Enno | Notiz hinzugefügt: 0009068 | |
2020-09-16 23:24 | Solthar | Notiz hinzugefügt: 0009070 | |
2020-09-17 02:33 | Enno | Notiz hinzugefügt: 0009072 | |
2020-09-17 11:21 | Solthar | Notiz hinzugefügt: 0009074 | |
2020-09-17 18:16 | Enno | Notiz hinzugefügt: 0009075 | |
2020-09-17 18:16 | Enno | Status | zugewiesen => erledigt |
2020-09-17 18:16 | Enno | Lösung | offen => erledigt |
2020-09-17 18:16 | Enno | Behoben in Version | => 3.25 |
2020-09-17 18:16 | Enno | Notiz hinzugefügt: 0009076 |