X-Git-Url: http://aymargeddon.de/gitweb/?p=aymargeddon%2Fcurrent.git;a=blobdiff_plain;f=TODO;h=f3cc8620905bf3e3ccec107804d96e9225b4ca02;hp=610f112943cf9a49a8349e66b43bb1b7cabdbf90;hb=edbdf981639e5bc7d16a8ccd7e59ce2cf71bd142;hpb=8f037c123df00f587fda88e656579bcf17c8e66b diff --git a/TODO b/TODO index 610f112..f3cc862 100644 --- a/TODO +++ b/TODO @@ -1,3 +1,200 @@ +noch ein test + +CRITICAL + +Dinge in dieser Rubrik sollten vor dem nächsten Spielstart erledigt sein. + +Bugs + +- Passwörter nicht mehr im Klartext in der Datenbank ablegen und +schon gar nicht im Klartext in der URL stehen haben! Urgs. + +Testen + +- mal nach SQL-Injection-Möglichkeiten checken. + +Features + +- komplett neuer HTML5-Canvas-jquery-Client. + +- Befehle Abrrechbar (mit Link hinter event), siehe +(->Befehlseingabesystem) + +- Befehle im Vorraus abgebbar (mit link hinter event) siehe +(->Befehlseingabesystem) + +- Produktion in Heimatstädten kommt mit WS 1/x +(x=Besatzerkampfstärke) zu Ureinwohnern. -> Aufstand. + +Neue Menu-Struktur: + +- Home/News/Rules/Reference/Login/(Player)/(Map)/Language dabei zeigen +alle bis auf die letzten vier Punkte auf das Wiki (Hauptseite/Aktuelle +Ereignisse/Regeln/Kurzreferenz). Die englischen Seiten werden erstmal +auch auf die deutschen gelenkt, so lange bis das englische Wiki da +ist. Vor das Ganze kann man dann noch ein schickes grafisches Portal +hängen. (ist das mit dem neuen Client noch relevant?) + +- weitere statistiken anzeigen (in player.epl?) (götter: #tempel, +#priester; erdlinge: gesamtkampfstärke) Das ganze sollten zwei +Tabellen sein. dort auch nachrichten an spieler verschicken. + +- Spielende: tempel zerstören sollte nicht mehr möglich sein, sobald +überall gebaut wird, nicht erst, wenn der vorletzte tempel fertig ist. + +- Neue Icons: Avatarbewegung, Flut, Arche in Bau. (noch relevant mit +neuem Client?) + + + + + +WICHTIG + +- translate this TODO into english + +- Farben getrennt vom Allianzstatus setzbar. +- Nachricht bei Ertrinken fehlt +- BUG?: uninitialized value in BUILD_TEMPLE::first_phase() +- Mitbewegen nur noch bei Archen und umbenennen in einsteigen/aussteigen (was statt dessen?) +- BUG?: irgendwie kam es in 6_3 zu Fehlern. Beteiligte Randbedingungen: Kampf in der Heimatstadt, zwei weitere Spieler, +Archenbesitzerwechsel, Tuberculosis, Umdrehen wg. FRIEND. +- überfluten sollte alle Seuchen löschen. +- find_first_free() sollte nicht die erste freie nehmen, sondern die +höchste um eins erhöhen (maximum beachten!) und nur, wenn oben nix +mehr frei ist, von unten wieder anfangen. Erleichtert das debuggen! +- MOVE second_phase() sollte im Log auch die Location zu der es hin +geht vermerken, erleichtert das debuggen enorm. +- Die Message bei Rückzügen sollte auch angeben wohin und nicht nur +woher. +- Aufgeben-Button mit Nachfrage. Wechsel in die Observer-Rolle. Für +Erdlinge: Heimatstadt wird normal. Produktion und Beten wird gestoppt. +Für Götter: Alle Avatare verschwinden. Kampfstärke für letzte Schlacht +wird auf Null gesetzt. Mana weg. +- Events, die nicht jeder sieht, sondern nur der Spieler, der sie +ausgelöst hat. zB für PRAY +- Trennung von Spielernachrichten und Servernachrichten. +- Einzelne Messages löschbar +- BUG: Kampfmessages gehen nicht immer an die Beteiligten +(wenn alle sterben und keine Einheit in der näher) +- "reply" lokalisieren +- Kurzreferenz sollte epl-generiert sein um die "echten" Zeiten +anzeigen zu können +- "Sterbereihenfolge" überall ändern in "Schlachtordnung" +- BUG: Es scheint gelegentlich vorzukommen, dass %fdat bei +Übergabe an command.epl verlorengeht. Wie reproduzieren ??? +Möglicherweise tritt das Problem nur beim Serverneustart auf. +- Manakosten bei Götterbefehlen in command.epl mit anzeigen. +- FROGS: Ein System für Benutzerabhängige Konfiguration +- Config aufspalten in FROGS und nicht-FROGS +- Wiki und englisches Wiki +- Create: Alle Berge müssen flutbar sein +- PEACE darf nicht genullt werden bei kampfloser übername. Leider +kann man dann nicht mehr so vorgehen wie jetzt und den PEACE-Wert im +PRODUCE-Befehl speichern. Man braucht dann einen PEACE-Zähler in MAP. +- Bei Glücksfaktor ändern die negativen Zahlen erwähnen. (?) +- BUG: "need to login" direkt nach dem neu registrieren im +field.epl-frame (aber nicht in der map). geht auch beim ersten klick +weg. hat mit udat{-loc} zu tun. wie genau, ist unklar. +- Felder benennbar machen von Feldeigentümer. Name bleibt auch, +wenn er das feld verlässt. (zunächst mal Anfangsnamen alle gleich +(klick auf Namen zur Umbenennung), später Namen generieren mit einem +ähnlichen System wie in Ragnaroek +- Man sollte den "Inhalt" von sich bewegenden Archen schon sehen, +wenn da eigene Leute mitfahren. Nicht für Alliierte. +- BUG bei Götterkampfbericht: "Neue Helden unassigned position". +Sprachenmix. +- im Frontend PLAGUE und FLOOD nur erlauben, wenn ein Avatar da ist +und DESTROY nur auf Inseln. neue funktion aymargeddon::avatar_available benutzen +- BUG: Dequoten bei SEND_MSG. +- zusätzliche Kategorien auf player.epl: closed games (da kommen +spiele rein, in die man nicht mehr reinkommt, also weil sie voll sind, +oder weil sie beendet sind), ohne link! Problem: was ist mit observern? +- Volle Rollen nicht mehr anzeigen bei role_select.epl. Ausserdem +den entsprechenden Fehler abfangen (bei Gleichzeitigkeit wichtig). (?) +- Automatische Anzeige seit wann das Backend läuft/ob überhaupt. +- Beim loggen auch die Duration in ZE angeben, nicht nur in sec. +- BUG?: probleme mit unify_mobiles() und MOVE_WITH. Leute +moven mit, obwohl sie identisch sind. (wie reproduzieren ???) +- Bei Spielende müssen alle Befehle eine entsprechende Fehlermeldung +erzeugen. Besser: garnicht erst die Links anzeigen. +- BUG: MOVE::second_phase() muss checken, ob das Feld inzwischen +geflutet wurde... in enter_field()? Dann Umkehr? +- EARTHLING_FIGHT: Avatare sollten nicht mitkämpfen, wenn neutral +- last_login in PLAYER schreiben und anzeigen +- Voreingestelltes fliehen ohne kampf bei übermacht (einstellbar pro feld) +- voreingestellter MOVE-Befehl für produzierte krieger. +- Erdlingseinheiten zuteilbar in Garnison und mobile Einheiten. Mobile Einheiten helfen automatisch in Nachbarfeldern aus. +- UNSCHOEN: HexTorus::neighbours() gibt doppelte zurück bei wrap-around +- Sourcen einen eigenen 'Aymargeddon'-Namensraum geben. Nur dieses +'Aymargeddon'-Verzeichnis muss sichtbar gemacht werden. Vereinfacht +die Administration#Installation auf Debian und alle Updates, bei denen +neue Source-Dateien hinzukommen. Problem: Was ist mit dem +FROGS-Namensraum? + +#### ab hier neu formatieren ### + +Checker + + BUG: test A_in_B benutzt fälschlicherweise single_select() + test nach mobiles mit count = 0 + Test nach non-available units ohne befehle. + Tests für MOVE_WITH + tests für avatarkämpfe + testen ob FIGHT_EARTHLING vorhanden und Event +gesetzt wenn ATTACKER da. + neuer check-typ LOCATION: Funktion wird für jede Location aufgerufen + test summarize + + sonstiges + + mailingliste selber machen. + + UNWICHTIG: + + Bei Ereignissen, die jetzt oder in der Vergangenheit +stattfinden anstatt der leeren Zeit anzeigen: "so bald wie möglich". + BUG: death_count bei kämpfenden unbesetzten städten kann negativ +werden, hat aber keine weiteren Auswirkungen. + UNSCHÖN: an einigen Stellen funktioniert das Programm nicht mehr, +wenn alte Events oder alte Befehle nicht gelöscht werden (ist in der +Config noch vorgesehen) + wirklich???: (getrennte Seiten für Statistik, Messages, (Events) +(alle in player.epl nur mit unterschiedlichen Modi) + Mitte der Karte selber auswählen. + in player.epl gleich ein Spiel auswählen, wenn man das erste +mal reinkommt. + role-seite + BUG: startfeld für observer manchmal nicht Aymargeddon +(gleichzeitig login dysfunktional) wahrscheinlich in player.epl + defaults in command.epl + move in command.epl mehr zum klicken + bei messages sollten überall clickable locations und +clickable roles übergeben werden. Man kann das _nicht_ in +Command::test() direkt implementieren, weil das aymargeddon-spezifisch +ist. Man kann aber eigene Funktionen definieren, die einen Link zu +einem Feld liefern (in Location) oder einen Link zu einer Role (in +Aymargeddon). + field.epl schöner machen (grammatik kapseln) + neue messages/ereignisse seit dem letzten einloggen hervorheben + multi-table select join/union zur performance-verbesserung + UNSCHOEN: Messages werden in parse_args() falsch +geparsed. deswegen wiederlicher Workaround bei SEND_MSG nötig + MOVE für admin-einheiten erlauben. könnte praktisch sein. + admin darf alle befehle ausführen (in nullzeit ohne mana). + unschoen: DataBase::quote_condition() + diverse Lokalisierungen sind haesslich (grammatik, +GLOBAL, ...) + eigene seite mit manakonto für die götter (Soll und Haben...) + test auf numerische argumente (gibts bei DBI) + message_to_field() ist ein Riesenaufwand, weil immer alle +Sichtrechte gecheckt werden müssen. Wie lösen? So: Sichtrechte in die +Datenbank eintragen und bei MOVE anpassen? dafür ist eigene Tabelle +nötig. aber: message_to_field() wird eh nur noch selten benutzt, lohnt +also der aufwand überhaupt? + +TEST + Diese Datei wird inzwischen im Wiki gepflegt: http://www.aymargeddon.de/wiki/index.php/TODO