Merge branch 'master' of aymargeddon.de:/var/cache/git/aymargeddon/current
[aymargeddon/current.git] / TODO
1 noch ein test
2
3 CRITICAL
4                                                             
5 Dinge in dieser Rubrik sollten vor dem nächsten Spielstart erledigt sein.
6
7 Bugs
8
9 - Passwörter nicht mehr im Klartext in der Datenbank ablegen und
10 schon gar nicht im Klartext in der URL stehen haben! Urgs. 
11
12 Testen
13
14 - mal nach SQL-Injection-Möglichkeiten checken. 
15     
16 Features
17
18 - komplett neuer HTML5-Canvas-jquery-Client.
19
20 - Befehle Abrrechbar (mit Link hinter event), siehe
21 (->Befehlseingabesystem)
22
23 - Befehle im Vorraus abgebbar (mit link hinter event) siehe
24 (->Befehlseingabesystem)
25
26 - Produktion in Heimatstädten kommt mit WS 1/x
27 (x=Besatzerkampfstärke) zu Ureinwohnern. -> Aufstand.
28
29 Neue Menu-Struktur:
30
31 - Home/News/Rules/Reference/Login/(Player)/(Map)/Language dabei zeigen
32 alle bis auf die letzten vier Punkte auf das Wiki (Hauptseite/Aktuelle
33 Ereignisse/Regeln/Kurzreferenz). Die englischen Seiten werden erstmal
34 auch auf die deutschen gelenkt, so lange bis das englische Wiki da
35 ist. Vor das Ganze kann man dann noch ein schickes grafisches Portal
36 hängen. (ist das mit dem neuen Client noch relevant?)
37
38 - weitere statistiken anzeigen (in player.epl?) (götter: #tempel,
39 #priester; erdlinge: gesamtkampfstärke) Das ganze sollten zwei
40 Tabellen sein. dort auch nachrichten an spieler verschicken.
41     
42 - Spielende: tempel zerstören sollte nicht mehr möglich sein, sobald
43 überall gebaut wird, nicht erst, wenn der vorletzte tempel fertig ist.
44
45 - Neue Icons: Avatarbewegung, Flut, Arche in Bau. (noch relevant mit
46 neuem Client?)
47     
48
49
50
51
52 WICHTIG
53
54 - translate this TODO into english
55
56 - Farben getrennt vom Allianzstatus setzbar.
57 - Nachricht bei Ertrinken fehlt
58 - BUG?: uninitialized value in BUILD_TEMPLE::first_phase()
59 - Mitbewegen nur noch bei Archen und umbenennen in einsteigen/aussteigen (was statt dessen?)
60 - BUG?: irgendwie kam es in 6_3 zu Fehlern. Beteiligte Randbedingungen: Kampf in der Heimatstadt, zwei weitere Spieler,
61 Archenbesitzerwechsel, Tuberculosis, Umdrehen wg. FRIEND.
62 - überfluten sollte alle Seuchen löschen.
63 - find_first_free() sollte nicht die erste freie nehmen, sondern die
64 höchste um eins erhöhen (maximum beachten!) und nur, wenn oben nix
65 mehr frei ist, von unten wieder anfangen. Erleichtert das debuggen!
66 - MOVE second_phase() sollte im Log auch die Location zu der es hin
67 geht vermerken, erleichtert das debuggen enorm.
68 - Die Message bei Rückzügen sollte auch angeben wohin und nicht nur
69 woher.
70 - Aufgeben-Button mit Nachfrage. Wechsel in die Observer-Rolle. Für
71 Erdlinge: Heimatstadt wird normal. Produktion und Beten wird gestoppt.
72 Für Götter: Alle Avatare verschwinden. Kampfstärke für letzte Schlacht
73 wird auf Null gesetzt. Mana weg.
74 - Events, die nicht jeder sieht, sondern nur der Spieler, der sie
75 ausgelöst hat. zB für PRAY
76 - Trennung von Spielernachrichten und Servernachrichten.
77 - Einzelne Messages löschbar
78 - BUG: Kampfmessages gehen nicht immer an die Beteiligten
79 (wenn alle sterben und keine Einheit in der näher)
80 - "reply" lokalisieren
81 - Kurzreferenz sollte epl-generiert sein um die "echten" Zeiten
82 anzeigen zu können
83 - "Sterbereihenfolge" überall ändern in "Schlachtordnung"
84 - BUG: Es scheint gelegentlich vorzukommen, dass %fdat bei
85 Übergabe an command.epl verlorengeht. Wie reproduzieren ???
86 Möglicherweise tritt das Problem nur beim Serverneustart auf.
87 - Manakosten bei Götterbefehlen in command.epl mit anzeigen.
88 - FROGS: Ein System für Benutzerabhängige Konfiguration
89 - Config aufspalten in FROGS und nicht-FROGS
90 - Wiki und englisches Wiki
91 - Create: Alle Berge müssen flutbar sein
92 - PEACE darf nicht genullt werden bei kampfloser übername. Leider
93 kann man dann nicht mehr so vorgehen wie jetzt und den PEACE-Wert im
94 PRODUCE-Befehl speichern. Man braucht dann einen PEACE-Zähler in MAP.
95 - Bei Glücksfaktor ändern die negativen Zahlen erwähnen. (?)
96 - BUG: "need to login" direkt nach dem neu registrieren im
97 field.epl-frame (aber nicht in der map). geht auch beim ersten klick
98 weg. hat mit udat{-loc} zu tun. wie genau, ist unklar.
99 - Felder benennbar machen von Feldeigentümer. Name bleibt auch,
100 wenn er das feld verlässt. (zunächst mal Anfangsnamen alle gleich
101 (klick auf Namen zur Umbenennung), später Namen generieren mit einem
102 ähnlichen System wie in Ragnaroek
103 - Man sollte den "Inhalt" von sich bewegenden Archen schon sehen,
104 wenn da eigene Leute mitfahren. Nicht für Alliierte.
105 - BUG bei Götterkampfbericht: "Neue Helden unassigned position".
106 Sprachenmix.
107 - im Frontend PLAGUE und FLOOD nur erlauben, wenn ein Avatar da ist
108 und DESTROY nur auf Inseln. neue funktion aymargeddon::avatar_available benutzen
109 - BUG: Dequoten bei SEND_MSG.
110 - zusätzliche Kategorien auf player.epl: closed games (da kommen
111 spiele rein, in die man nicht mehr reinkommt, also weil sie voll sind,
112 oder weil sie beendet sind), ohne link! Problem: was ist mit observern?
113 - Volle Rollen nicht mehr anzeigen bei role_select.epl. Ausserdem
114 den entsprechenden Fehler abfangen (bei Gleichzeitigkeit wichtig). (?)
115 - Automatische Anzeige seit wann das Backend läuft/ob überhaupt.
116 - Beim loggen auch die Duration in ZE angeben, nicht nur in sec.
117 - BUG?: probleme mit unify_mobiles() und MOVE_WITH. Leute
118 moven mit, obwohl sie identisch sind. (wie reproduzieren ???)
119 - Bei Spielende müssen alle Befehle eine entsprechende Fehlermeldung
120 erzeugen. Besser: garnicht erst die Links anzeigen.
121 - BUG: MOVE::second_phase() muss checken, ob das Feld inzwischen
122 geflutet wurde... in enter_field()? Dann Umkehr?
123 - EARTHLING_FIGHT: Avatare sollten nicht mitkämpfen, wenn neutral
124 - last_login in PLAYER schreiben und anzeigen
125 - Voreingestelltes fliehen ohne kampf bei übermacht (einstellbar pro feld)
126 - voreingestellter MOVE-Befehl für produzierte krieger.
127 - Erdlingseinheiten zuteilbar in Garnison und mobile Einheiten. Mobile Einheiten helfen automatisch in Nachbarfeldern aus.
128 - UNSCHOEN: HexTorus::neighbours() gibt doppelte zurück bei wrap-around
129 - Sourcen einen eigenen 'Aymargeddon'-Namensraum geben. Nur dieses
130 'Aymargeddon'-Verzeichnis muss sichtbar gemacht werden. Vereinfacht
131 die Administration#Installation auf Debian und alle Updates, bei denen
132 neue Source-Dateien hinzukommen. Problem: Was ist mit dem
133 FROGS-Namensraum? 
134
135 #### ab hier neu formatieren ###
136
137 Checker
138
139     BUG: test A_in_B benutzt fälschlicherweise single_select()
140         test nach mobiles mit count = 0
141             Test nach non-available units ohne befehle.
142                 Tests für MOVE_WITH
143                     tests für avatarkämpfe
144                         testen ob FIGHT_EARTHLING vorhanden und Event
145 gesetzt wenn ATTACKER da.
146     neuer check-typ LOCATION: Funktion wird für jede Location aufgerufen
147         test summarize 
148         
149         sonstiges
150         
151             mailingliste selber machen. 
152             
153             UNWICHTIG:
154             
155                 Bei Ereignissen, die jetzt oder in der Vergangenheit
156 stattfinden anstatt der leeren Zeit anzeigen: "so bald wie möglich".
157     BUG: death_count bei kämpfenden unbesetzten städten kann negativ
158 werden, hat aber keine weiteren Auswirkungen.
159     UNSCHÖN: an einigen Stellen funktioniert das Programm nicht mehr,
160 wenn alte Events oder alte Befehle nicht gelöscht werden (ist in der
161 Config noch vorgesehen)
162     wirklich???: (getrennte Seiten für Statistik, Messages, (Events)
163 (alle in player.epl nur mit unterschiedlichen Modi)
164     Mitte der Karte selber auswählen.
165         in player.epl gleich ein Spiel auswählen, wenn man das erste
166 mal reinkommt.
167     role-seite
168         BUG: startfeld für observer manchmal nicht Aymargeddon
169 (gleichzeitig login dysfunktional) wahrscheinlich in player.epl
170     defaults in command.epl
171         move in command.epl mehr zum klicken
172             bei messages sollten überall clickable locations und
173 clickable roles übergeben werden. Man kann das _nicht_ in
174 Command::test() direkt implementieren, weil das aymargeddon-spezifisch
175 ist. Man kann aber eigene Funktionen definieren, die einen Link zu
176 einem Feld liefern (in Location) oder einen Link zu einer Role (in
177 Aymargeddon).
178     field.epl schöner machen (grammatik kapseln)
179         neue messages/ereignisse seit dem letzten einloggen hervorheben
180             multi-table select join/union zur performance-verbesserung
181                 UNSCHOEN: Messages werden in parse_args() falsch
182 geparsed. deswegen wiederlicher Workaround bei SEND_MSG nötig
183     MOVE für admin-einheiten erlauben. könnte praktisch sein.
184         admin darf alle befehle ausführen (in nullzeit ohne mana).
185             unschoen: DataBase::quote_condition()
186                 diverse Lokalisierungen sind haesslich (grammatik,
187 GLOBAL, ...)
188     eigene seite mit manakonto für die götter (Soll und Haben...)
189         test auf numerische argumente (gibts bei DBI)
190             message_to_field() ist ein Riesenaufwand, weil immer alle
191 Sichtrechte gecheckt werden müssen. Wie lösen? So: Sichtrechte in die
192 Datenbank eintragen und bei MOVE anpassen? dafür ist eigene Tabelle
193 nötig. aber: message_to_field() wird eh nur noch selten benutzt, lohnt
194 also der aufwand überhaupt? 
195
196 TEST
197
198 Diese Datei wird inzwischen im Wiki gepflegt:
199
200 http://www.aymargeddon.de/wiki/index.php/TODO