diff --git a/android/assets/font/roboto-bold.fnt b/android/assets/font/roboto-bold.fnt
index fcce4be5b42f51034d3fd256b32f2c660ad1d8cc..46f4e163e437202dc8a015c7e529e0c6c5b4b1ed 100644
--- a/android/assets/font/roboto-bold.fnt
+++ b/android/assets/font/roboto-bold.fnt
@@ -2,7 +2,8 @@ info face="Roboto Bold" size=32 bold=0 italic=0 charset="" unicode=0 stretchH=10
 common lineHeight=38 base=30 scaleW=512 scaleH=512 pages=1 packed=0
 page id=0 file="roboto-bold.png"
 chars count=197
-char id=0     x=0    y=0    width=0    height=0    xoffset=-8   yoffset=0    xadvance=0    page=0    chnl=0 
+char id=0     x=0    y=0    width=0    height=0    xoffset=-8   yoffset=0    xadvance=0    page=0    chnl=0
+char id=9     x=0    y=0    width=0    height=0    xoffset=-8   yoffset=0    xadvance=8    page=0    chnl=0
 char id=10    x=0    y=0    width=0    height=0    xoffset=-8   yoffset=0    xadvance=0    page=0    chnl=0 
 char id=32    x=0    y=0    width=0    height=0    xoffset=-8   yoffset=0    xadvance=8    page=0    chnl=0 
 char id=160   x=0    y=0    width=0    height=0    xoffset=-8   yoffset=0    xadvance=8    page=0    chnl=0 
@@ -199,4 +200,6 @@ char id=366   x=457  y=0    width=35   height=46   xoffset=-8   yoffset=-8   xad
 char id=367   x=351  y=138  width=32   height=41   xoffset=-8   yoffset=-3   xadvance=18   page=0    chnl=0 
 char id=381   x=312  y=93   width=34   height=45   xoffset=-8   yoffset=-7   xadvance=19   page=0    chnl=0 
 char id=382   x=40   y=262  width=31   height=40   xoffset=-8   yoffset=-2   xadvance=16   page=0    chnl=0 
+char id=8220  x=207  y=487  width=27   height=24   xoffset=-8   yoffset=-2   xadvance=13   page=0    chnl=0 
+char id=8222  x=179  y=487  width=28   height=25   xoffset=-8   yoffset=18   xadvance=13   page=0    chnl=0 
 char id=8230  x=0    y=489  width=37   height=21   xoffset=-8   yoffset=17   xadvance=24   page=0    chnl=0 
diff --git a/android/assets/font/roboto-bold.png b/android/assets/font/roboto-bold.png
index 825ced713d546006108b3c9d7f2f8012d7544575..bc30d0a40b3b3c7412085fc2252164868333b382 100644
Binary files a/android/assets/font/roboto-bold.png and b/android/assets/font/roboto-bold.png differ
diff --git a/android/assets/font/roboto-regular.fnt b/android/assets/font/roboto-regular.fnt
index 1ef1a155ce7ce515deccd3d7f349d7dd4d98e8fe..4c938b4e86536a0f3e6e56d9921a1e25e769234d 100644
--- a/android/assets/font/roboto-regular.fnt
+++ b/android/assets/font/roboto-regular.fnt
@@ -3,8 +3,9 @@ common lineHeight=38 base=30 scaleW=512 scaleH=512 pages=1 packed=0
 page id=0 file="roboto-regular.png"
 chars count=197
 char id=0     x=0    y=0    width=0    height=0    xoffset=-8   yoffset=0    xadvance=0    page=0    chnl=0 
-char id=10    x=0    y=0    width=0    height=0    xoffset=-8   yoffset=0    xadvance=0    page=0    chnl=0 
-char id=32    x=0    y=0    width=0    height=0    xoffset=-8   yoffset=0    xadvance=8    page=0    chnl=0 
+char id=9     x=0    y=0    width=0    height=0    xoffset=-8   yoffset=0    xadvance=8    page=0    chnl=0
+char id=10    x=0    y=0    width=0    height=0    xoffset=-8   yoffset=0    xadvance=0    page=0    chnl=0
+char id=32    x=0    y=0    width=0    height=0    xoffset=-8   yoffset=0    xadvance=8    page=0    chnl=0
 char id=160   x=0    y=0    width=0    height=0    xoffset=-8   yoffset=0    xadvance=8    page=0    chnl=0 
 char id=33    x=254  y=304  width=20   height=39   xoffset=-8   yoffset=-1   xadvance=8    page=0    chnl=0 
 char id=34    x=169  y=454  width=23   height=24   xoffset=-8   yoffset=-2   xadvance=10   page=0    chnl=0 
@@ -198,4 +199,6 @@ char id=366   x=305  y=0    width=33   height=47   xoffset=-8   yoffset=-9   xad
 char id=367   x=297  y=140  width=30   height=41   xoffset=-8   yoffset=-3   xadvance=18   page=0    chnl=0 
 char id=381   x=431  y=95   width=33   height=45   xoffset=-8   yoffset=-7   xadvance=19   page=0    chnl=0 
 char id=382   x=180  y=382  width=30   height=39   xoffset=-8   yoffset=-1   xadvance=16   page=0    chnl=0 
+char id=8220  x=457  y=475  width=26   height=23   xoffset=-8   yoffset=-2   xadvance=11   page=0    chnl=0 
+char id=8222  x=431  y=475  width=26   height=25   xoffset=-8   yoffset=18   xadvance=11   page=0    chnl=0 
 char id=8230  x=340  y=454  width=33   height=20   xoffset=-8   yoffset=18   xadvance=21   page=0    chnl=0 
diff --git a/android/assets/font/roboto-regular.png b/android/assets/font/roboto-regular.png
index ce5555e227f6589fcda14084a672adfebe7c9cf3..e99f24536618c2d031101372ac4dc3d8bce080f3 100644
Binary files a/android/assets/font/roboto-regular.png and b/android/assets/font/roboto-regular.png differ
diff --git a/android/assets/gfx/bar_shadow.png b/android/assets/gfx/bar_shadow.png
deleted file mode 100644
index 51adbb181886aab7abf2f87ed25e7d90a58e64f8..0000000000000000000000000000000000000000
Binary files a/android/assets/gfx/bar_shadow.png and /dev/null differ
diff --git a/android/assets/gfx/button/no_icon.png b/android/assets/gfx/button/no_icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..45b688be7103f8e5e5e286f278a03aa5806c779b
Binary files /dev/null and b/android/assets/gfx/button/no_icon.png differ
diff --git a/android/assets/gfx/button/yes_icon.png b/android/assets/gfx/button/yes_icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..4da4d0e166b93c52fc998fe1700f2013c5fd0fa9
Binary files /dev/null and b/android/assets/gfx/button/yes_icon.png differ
diff --git a/android/assets/text/application/application_cs.properties b/android/assets/text/application/application_cs.properties
index 9b7f83f8b229947bf5f74735b599da9ce727163f..e7079a602c09d0c21e4677d14e6318a4ceba39c1 100644
--- a/android/assets/text/application/application_cs.properties
+++ b/android/assets/text/application/application_cs.properties
@@ -9,6 +9,7 @@ system_confirm=Potvrdit
 system_decline=Zrušit
 system_exit=Konec
 system_retry=Znovu
+system_back=Zpět
 
 zipassetloader_error=Chyba: Nemohu stáhnout dodatečná data! Zkontrolujte prosím připojení k internetu.
 zipassetloader_download_request: Právě využíváte mobilní připojení k internetu. Tablexia potřebuje stáhnout ~150 MB herních dat. Přejete si je stáhnout nyní ?
diff --git a/android/assets/text/application/application_de.properties b/android/assets/text/application/application_de.properties
index 9b548520d2969db15d744d26f9e58739f922c0ac..b97fc711f3210f5d5ed6396212eeb48aad649b78 100644
--- a/android/assets/text/application/application_de.properties
+++ b/android/assets/text/application/application_de.properties
@@ -9,9 +9,10 @@ system_confirm=Bestätigen
 system_decline=Beenden
 system_exit=Verlassen
 system_retry=Wieder
+system_back=Zurück
 
 zipassetloader_error=Fehler: Nicht, um zusätzliche Daten Download! Bitte überprüfen Sie Ihre Internetverbindung.
-zipassetloader_download_request: [DE - Upravit v application_de.properities] Právě využíváte mobilní připojení k internetu. Tablexia potřebuje stáhnout ~150 MB herních dat. Přejete si je stáhnout nyní ?
+zipassetloader_download_request=Sie verwenden im Moment das mobile Internet. Tablexia lädt ~ 150 MB an Spieldaten herunter. Möchten Sie die Daten wirklich jetzt runterladen?
 
 #   <!-- Loading status texts -->
 loading_status_check=Spiel-Dateien werden überprüft…
@@ -30,12 +31,12 @@ mainmenu_logout=Abmelden
 mainmenu_screendebug=Debug Screen
 mainmenu_panorama=Panorama
 
-usermenu_newuser=+ Neuer Detektiv
+usermenu_newuser=+ Neues Profil
 
 usermenu_deleteuser=Möchtest du dieses Profil wirklich löschen
 usermenu_dialog_yes=Ja
 usermenu_dialog_no=Nein
-user_logout_message=[DE] Opravdu chcete odhlásit stávajícího uživatele? [DE]
+user_logout_message=Möchtest du abmelden?
 preloader_title=Wie spielt man?
 confirm_button=Ich verstehe
 
@@ -48,7 +49,7 @@ gamedifficulty_hard=Schwierig
 victoryscreen_button_replay=Nochmal spielen
 victoryscreen_button_changegame=Anderes Spiel
 victoryscreen_text_tutorial=Gratulation! Und nun versuch es selbst…
-victoryscreen_new_trophy=**victoryscreen_new_trophy**
+victoryscreen_new_trophy=Du erhältst eine Trophäe!
 
 game_score=Punktezahl:
 game_score_error=Fehlerzahl:
@@ -56,11 +57,11 @@ game_score_duration=Spieldauer:
 game_averagescore=Durchschnittliche Punktzahl:
 game_averagescore_error=Durchschnittliche Fehlerzahl:
 game_averagescore_duration=Durchschnittliche Spieldauer:
-game_quit_question=Zkontrolovat: Wollen Sie wirklich, um das Spiel zu beenden?
+game_quit_question=Möchtest du wirklich das Spiel beenden?
 
 game_robbery_title=Einbrecher
 game_robbery_description=Training des Arbeitsgedächtnisses
-game_robbery_preloader=Lies dir zu Beginn des Spiels durch, wie du den Einbrecher bzw. die Einbrecherin erkennst.  Merke dir diese Beschreibung.\nBeobachte die Leute, die den Raum betreten, und markiere mit einer Berührung den Einbrecher bzw. die Einbrecherin.
+game_robbery_preloader=Lies dir zu Beginn des Spiels durch, wie du den Einbrecher bzw. die Einbrecherin erkennst. Merke dir diese Beschreibung.\nBeobachte die Leute, die den Raum betreten, und markiere mit einer Berührung den Einbrecher bzw. die Einbrecherin.
 game_kidnapping_title=Entführung
 game_kidnapping_description=Training des Hörgedächtnisses
 game_kidnapping_preloader1=Hör zu und merke dir\u00A0das Geräusch, das du auf der\u00A0Kreuzung gehört hast.
@@ -71,8 +72,8 @@ game_pursuit_description=Training der räumlichen Orientierung
 game_pursuit_preloader=Stelle die\u00A0Karte zusammen, indem du einzelne Teile verschiebst und\u00A0drehst.
 game_night_watch_title=Wache
 game_night_watch_description=Training des Sehgedächtnisses
-game_night_watch_preloader=Pass auf, welche Fenster nach Einbruch der Dunkelheit leuchten und um wieviel Uhr. Stelle nach Tagesanbruch in der Uhr die Zeit ein und markiere die Fenster, die geleuchtet haben.
-game_shooting_range_title=Schießstand
+game_night_watch_preloader=Pass auf, welche Fenster nach Einbruch der Dunkelheit leuchten und um wieviel Uhr. Stelle nach Tageseinbruch in der Uhr die Zeit ein und markiere die Fenster, die geleuchtet haben.
+game_shooting_range_title=Schießwarte
 game_shooting_range_description=Aufmerksamkeitstraining
 game_shooting_range_preloader1=Verfolge aufmerksam die\u00A0Blume im oberen rechten Eck. Versuche, auf dem\u00A0Schießstand Blumen mit gleicher Form und\u00A0Farbe zu treffen.
 game_shooting_range_preloader2=Mit einem Klick auf die\u00A0Kiste mit Stern lassen sich die\u00A0Blumen leichter treffen, mit einem Klick auf die\u00A0Kiste mit Schädel schwieriger.
diff --git a/android/assets/text/application/application_sk.properties b/android/assets/text/application/application_sk.properties
index 83f7a0aa662c606f9dea55b886c75b39caa8df6e..93aa14149ceacffb8fb8f355a4a13256f0592c2d 100644
--- a/android/assets/text/application/application_sk.properties
+++ b/android/assets/text/application/application_sk.properties
@@ -9,6 +9,7 @@ system_confirm=Potvrdiť
 system_decline=Zrušiť
 system_exit=Koniec
 system_retry=Znovu
+system_back=Späť
 
 zipassetloader_error=Chyba: Nemôžem stiahnuť dodatočná dáta! Skontrolujte prosím pripojenie k internetu.
 zipassetloader_download_request: [SK upravit v application_sk.properties] Právě využíváte mobilní připojení k internetu. Tablexia potřebuje stáhnout ~150 MB herních dat. Přejete si je stáhnout nyní ?
diff --git a/android/assets/text/game/inthedarkness/inthedarkness_cs.properties b/android/assets/text/game/inthedarkness/inthedarkness_cs.properties
index fd2ef68b82d55cf6c4bbec16a19c75b1a6b9fa14..6fbd9494feb6223a652fe10b416e7a475f35a3b6 100644
--- a/android/assets/text/game/inthedarkness/inthedarkness_cs.properties
+++ b/android/assets/text/game/inthedarkness/inthedarkness_cs.properties
@@ -4,4 +4,4 @@ score_0=Au au, tolik chyb! To muselo bolet.
 score_1=Krůček za\u00A0krůčkem. To chce klid, soustředit se a úspěchy se brzy dostaví.
 score_2=Chybička se vždycky vloudí, ale dobrému detektivovi by\u00A0se to stávat nemělo.
 score_3=Tak tohle ovšem nemělo chybu. Klidně by sis mohl vykračovat poslepu!
-result_errors_count=Počet chyb:  [BLACK]{0}[]
+result_errors_count=Počet chyb: [BLACK]{0}[]
diff --git a/android/assets/text/game/inthedarkness/inthedarkness_de.properties b/android/assets/text/game/inthedarkness/inthedarkness_de.properties
index 91ce44f64621b96e9f5f549d9fd09674a89de7d4..c418cc87e32f8e639fa4d59b377f5fbd64b80e03 100644
--- a/android/assets/text/game/inthedarkness/inthedarkness_de.properties
+++ b/android/assets/text/game/inthedarkness/inthedarkness_de.properties
@@ -4,4 +4,4 @@ score_0=Oh oh, so viele Fehler! Das muss weh getan haben.
 score_1=Schritt für Schritt. Man braucht nur Ruhe, Konzentration und der Erfolg kommt bald.
 score_2=Ein Fehler schleicht sich immer ein, aber guten Detektiven und Detektivinnen sollte das nicht passieren.
 score_3=Na, das war sehr gut. Du könntest dort auch blind herumspazieren!
-result_errors_count=Fehleranzahl:  [BLACK]{0}[]
+result_errors_count=Fehleranzahl: [BLACK]{0}[]
diff --git a/android/assets/text/game/inthedarkness/inthedarkness_sk.properties b/android/assets/text/game/inthedarkness/inthedarkness_sk.properties
index 0eee2c6e05d2c2260d7bf025f53cf43cac7980fd..27a2caf6594ec9384a40ca37547e13a7cd260a40 100644
--- a/android/assets/text/game/inthedarkness/inthedarkness_sk.properties
+++ b/android/assets/text/game/inthedarkness/inthedarkness_sk.properties
@@ -4,4 +4,4 @@ score_0=Au, au, toľko chýb! To muselo bolieť.
 score_1=Krok za krokom. Chce to kľud, sústrediť sa a výsledky sa skoro dostavia.
 score_2=Chybička sa vždy objaví, ale dobrému detektívovi by sa to stávať nemalo.
 score_3=Tak to nemalo chybu. Kľudne by si si mohol vykračovať poslepiačky!
-result_errors_count=Počet chýb\:  [BLACK]{0}[]
+result_errors_count=Počet chýb\: [BLACK]{0}[]
diff --git a/android/assets/text/game/kidnapping/kidnapping_cs.properties b/android/assets/text/game/kidnapping/kidnapping_cs.properties
index 2d91b398d6be2ef7a1cec2fdd233d5706d04eda2..db356b595820108a09e39fdc2e9c92f0153d7278 100644
--- a/android/assets/text/game/kidnapping/kidnapping_cs.properties
+++ b/android/assets/text/game/kidnapping/kidnapping_cs.properties
@@ -7,7 +7,7 @@ game_kidnapping_result_3=S takovýmhle sluchem si můžeš ve městě vykračova
 
 game_kidnapping_instructions_silence=PÅ¡Å¡Å¡Å¡t!
 game_kidnapping_instructions_pay_attention=Poslouchej pozornÄ›
-game_kidnapping_stats=Počet chyb:  [BLACK]{0}[]
+game_kidnapping_stats=Počet chyb: [BLACK]{0}[]
 game_kidnapping_rule_easy=Najdi ulici se\u00A0stejně znějícím zvukem nebo slovem.
 game_kidnapping_rule_medium=Najdi ulici se\u00A0stejně znějícím zvukem nebo slovem, jehož hláskovaná varianta odpovídá té\u00A0čtené.
 game_kidnapping_rule_hardcore=Najdi ulici se\u00A0stejně znějícím zvukem nebo slovem, kterému chybí předposlední písmeno.
diff --git a/android/assets/text/game/kidnapping/kidnapping_de.properties b/android/assets/text/game/kidnapping/kidnapping_de.properties
index 8025cf551b5390c4d1c16152b85a5a0307360ca9..ec5b59f84176edf9438bfb971e7009c02e58b0b6 100644
--- a/android/assets/text/game/kidnapping/kidnapping_de.properties
+++ b/android/assets/text/game/kidnapping/kidnapping_de.properties
@@ -7,7 +7,7 @@ game_kidnapping_result_3=Mit so einem Gehör kannst du blind durch die Stadt spa
 
 game_kidnapping_instructions_silence=Psssst!
 game_kidnapping_instructions_pay_attention=Hör aufmerksam zu
-game_kidnapping_stats=Fehlerzahl:  [BLACK]{0}[]
+game_kidnapping_stats=Fehlerzahl: [BLACK]{0}[]
 game_kidnapping_rule_easy=Finde die Straße mit\u00A0dem gleich klingenden Geräusch oder Wort.
 game_kidnapping_rule_medium=Finde die Straße mit\u00A0dem gleich klingenden Geräusch oder Wort, dessen buchstabierte Variante der\u00A0gelesenen entspricht.
 game_kidnapping_rule_hardcore=Finde die Straße mit\u00A0dem gleich klingenden Geräusch oder Wort, dem der vorletzte Buchstabe fehlt.
diff --git a/android/assets/text/game/kidnapping/kidnapping_sk.properties b/android/assets/text/game/kidnapping/kidnapping_sk.properties
index b7b1723d21086298e2ec80bcf5d660b7baffb48d..3e92f6ff3667392d38f5b13dd8269aed52a80e1c 100644
--- a/android/assets/text/game/kidnapping/kidnapping_sk.properties
+++ b/android/assets/text/game/kidnapping/kidnapping_sk.properties
@@ -7,7 +7,7 @@ game_kidnapping_result_3=S takým sluchom si môžeš v meste vykračovať posle
 
 game_kidnapping_instructions_silence=PÅ¡Å¡Å¡Å¡t!
 game_kidnapping_instructions_pay_attention=Počúvaj pozorne
-game_kidnapping_stats=Počet chýb:  [BLACK]{0}[]
+game_kidnapping_stats=Počet chýb: [BLACK]{0}[]
 game_kidnapping_rule_easy=Nájdi ulicu s rovnako znejúcim zvukom alebo slovom.
 game_kidnapping_rule_medium=Nájdi ulicu s rovnako znejúcim zvukom alebo slovom, ktorého hláskový variant odpovedá tomu čítanému.
 game_kidnapping_rule_hardcore=Nájdi ulicu s rovnako znejúcim zvukom alebo slovom, ktorému chýba predposledné písmeno.
diff --git a/android/assets/text/game/nightwatch/nightwatch_cs.properties b/android/assets/text/game/nightwatch/nightwatch_cs.properties
index 4377d314c944ec575c50670e7c9558767d4e995f..73967ac2ad692f6b85a877ca122182a9706b7796 100644
--- a/android/assets/text/game/nightwatch/nightwatch_cs.properties
+++ b/android/assets/text/game/nightwatch/nightwatch_cs.properties
@@ -1,6 +1,6 @@
 game_nocnisledovani_btncontinue_text=Hotovo
-victory_text_window_mistakes=Chybně označená okna:  [BLACK]{0}[]
-victory_text_time_mistakes=Chybně nastavený čas:  [BLACK]{0}[]
+victory_text_window_mistakes=Chybně označená okna: [BLACK]{0}[]
+victory_text_time_mistakes=Chybně nastavený čas: [BLACK]{0}[]
 game_nocnisledovani_loadingtext=Dávej pozor, která okna se po setmění rozsvítí  a v kolik hodin. Po rozednění nastav na hodinách čas a označ okna, která byla rozsvícená.
 game_nocnisledovani_victory_text_0=To vypadá, že tady někdo usnul na\u00A0hlídce.
 game_nocnisledovani_victory_text_1=U\u00A0soudu by tyhle důkazy neuspěly. To ale neznamená, že se nemůže zadařit příště!
diff --git a/android/assets/text/game/nightwatch/nightwatch_de.properties b/android/assets/text/game/nightwatch/nightwatch_de.properties
index 713c7a45ec83d8675943b07a8aaebcfcc4c2637c..f58b69ec522a3a8f648de8472df6095531e8039d 100644
--- a/android/assets/text/game/nightwatch/nightwatch_de.properties
+++ b/android/assets/text/game/nightwatch/nightwatch_de.properties
@@ -1,8 +1,8 @@
 game_nocnisledovani_btncontinue_text=Fertig
-victory_text_window_mistakes=Falsch markierte Fenster:  [BLACK]{0}[]
-victory_text_time_mistakes=Falsch eingestellte Zeit:  [BLACK]{0}[]
-game_nocnisledovani_loadingtext=Pass auf, welche Fenster nach Einbruch der Dunkelheit leuchten und um wieviel Uhr. Nach Tagesanbruch stell in der Uhr die Zeit ein und markiere die Fenster, die geleuchtet haben.
+victory_text_window_mistakes=Falsch markierte Fenster: [BLACK]{0}[]
+victory_text_time_mistakes=Falsch eingestellte Zeit: [BLACK]{0}[]
+game_nocnisledovani_loadingtext=Pass auf, welche Fenster nach Einbruch der Dunkelheit leuchten und um wieviel Uhr. Stelle nach Tageseinbruch in der Uhr die Zeit ein und markiere die Fenster, die geleuchtet haben.
 game_nocnisledovani_victory_text_0=Es sieht so aus, als wäre hier jemand bei der Wache eingeschlafen.
 game_nocnisledovani_victory_text_1=Vor Gericht hätten diese Beweise keinen Erfolg. Das heißt aber nicht, dass es nächstes Mal nicht gelingen kann!
-game_nocnisledovani_victory_text_2=Das war Gar nicht schlecht! Es fehlt nicht viel und die Beweise wären bombensicher.
+game_nocnisledovani_victory_text_2=Das war gar nicht schlecht! Es fehlt nicht viel und die Beweise wären bombensicher.
 game_nocnisledovani_victory_text_3=Vor dir muss sich auch der Mond in Acht nehmen, dass er kein Unrecht begeht.
diff --git a/android/assets/text/game/nightwatch/nightwatch_sk.properties b/android/assets/text/game/nightwatch/nightwatch_sk.properties
index ffa6c4d3bb51d51f12669d3ff8a41a167972e861..c5b09e16fb24e461da58dd2488e0ef161aac83c4 100644
--- a/android/assets/text/game/nightwatch/nightwatch_sk.properties
+++ b/android/assets/text/game/nightwatch/nightwatch_sk.properties
@@ -1,6 +1,6 @@
 game_nocnisledovani_btncontinue_text=Hotovo
-victory_text_window_mistakes=Chybne označené okná:  [BLACK]{0}[]
-victory_text_time_mistakes=Chybne nastavený čas:  [BLACK]{0}[]
+victory_text_window_mistakes=Chybne označené okná: [BLACK]{0}[]
+victory_text_time_mistakes=Chybne nastavený čas: [BLACK]{0}[]
 game_nocnisledovani_loadingtext=Dávaj pozor, ktoré okná sa po\u00A0zotmení rozsvietia a o\u00A0ktorej. Po\u00A0svitaní nastav na\u00A0hodinách čas a označ okná, ktoré boli rozsvietené.
 game_nocnisledovani_victory_text_0=Vyzerá to tak, že tu niekto zaspal na\u00A0hliadke.
 game_nocnisledovani_victory_text_1=Na súde by tieto dôkazy neuspeli. To ale neznamená, že sa to nemôže podariť!
diff --git a/android/assets/text/game/pursuit/pursuit_cs.properties b/android/assets/text/game/pursuit/pursuit_cs.properties
index 9104ac92a289b59d611293b171f25897157a4389..576452ec9775b3ed3f03f3d664ad4a314cc3561f 100644
--- a/android/assets/text/game/pursuit/pursuit_cs.properties
+++ b/android/assets/text/game/pursuit/pursuit_cs.properties
@@ -1,8 +1,8 @@
 victory_text_hours= {0}h
 victory_text_minutes= {0}min
 victory_text_seconds= {0}s
-victory_text_time=ÄŒas:  [BLACK]{0}[]
-victory_text_moves=Počet tahů:  [BLACK]{0}[]
+victory_text_time=ÄŒas: [BLACK]{0}[]
+victory_text_moves=Počet tahů: [BLACK]{0}[]
 game_pronasledovani_loadingtext=Sestav mapu přemisťováním a otáčením jednotlivých dílků.
 game_pronasledovani_victorytext_threestars=Počkat si na\u00A0lupiče v\u00A0jejich doupěti, tak to je vydařený kousek!
 game_pronasledovani_victorytext_twostars=Začínající dektiv by se za\u00A0takový výkon nemusel stydět!
diff --git a/android/assets/text/game/pursuit/pursuit_de.properties b/android/assets/text/game/pursuit/pursuit_de.properties
index 00b7cccea2b75557904e6c132a849dab8acda790..c3ead1e41564834f36b19d0e55e389bffc48df1c 100644
--- a/android/assets/text/game/pursuit/pursuit_de.properties
+++ b/android/assets/text/game/pursuit/pursuit_de.properties
@@ -1,10 +1,10 @@
 victory_text_hours= {0}h
 victory_text_minutes= {0}min
 victory_text_seconds= {0}s
-victory_text_time=Zeit:  [BLACK]{0}[]
-victory_text_moves=Anzahl der Züge:  [BLACK]{0}[]
+victory_text_time=Zeit: [BLACK]{0}[]
+victory_text_moves=Anzahl der Züge: [BLACK]{0}[]
 game_pronasledovani_loadingtext=Stelle die Karte zusammen, indem du einzelne Teile verschiebst und drehst.
 game_pronasledovani_victorytext_threestars=Auf die Einbrecher in ihrem Unterschlupf warten, das ist ein Meisterstück!
-game_pronasledovani_victorytext_twostars=Ein angehender Detektiv muss sich für eine solche Leistung nicht schämen!
+game_pronasledovani_victorytext_twostars=Angehende Detektive und Detektivinnen müssen sich für eine solche Leistung nicht schämen!
 game_pronasledovani_victorytext_onestar=Das war aber in letzter Sekunde! Du musst noch an dir arbeiten.
 game_pronasledovani_victorytext_gameover=Die Einbrecher teilen die Beute auf und du legst noch die Karte zusammen. Da ist noch Training nötig!
diff --git a/android/assets/text/game/pursuit/pursuit_sk.properties b/android/assets/text/game/pursuit/pursuit_sk.properties
index 8bbb8bff40c78d885987a01b96da56e9589aff67..1512bd7acf7d8c69e84f059402c4c78c473dd2aa 100644
--- a/android/assets/text/game/pursuit/pursuit_sk.properties
+++ b/android/assets/text/game/pursuit/pursuit_sk.properties
@@ -1,8 +1,8 @@
 victory_text_hours= {0}h
 victory_text_minutes= {0}min
 victory_text_seconds= {0}s
-victory_text_time=ÄŒas:  [BLACK]{0}[]
-victory_text_moves=Počet ťahov:  [BLACK]{0}[]
+victory_text_time=ÄŒas: [BLACK]{0}[]
+victory_text_moves=Počet ťahov: [BLACK]{0}[]
 game_pronasledovani_loadingtext=Zostav mapu premiestňovania a otáčania jednotlivých dielcov.
 game_pronasledovani_victorytext_threestars=Počkať si na\u00A0lupiča v\u00A0jeho skrýši, tak to sa ti podarilo!
 game_pronasledovani_victorytext_twostars=Začínajúci detektív by sa za\u00A0taký výkon nemusel hanbiť!
diff --git a/android/assets/text/game/robbery/robbery_cs.properties b/android/assets/text/game/robbery/robbery_cs.properties
index 27243adb34d3b00f96890184f41d2adc6770ec8c..570ad2630a0704bd6be15e858bf0d2d81b60f4a1 100644
--- a/android/assets/text/game/robbery/robbery_cs.properties
+++ b/android/assets/text/game/robbery/robbery_cs.properties
@@ -5,7 +5,7 @@ game_robbery_victorytext_threestars=S takovouhle ostrahou nepotřebuje banka ani
 game_robbery_victorytext_twostar=Tvoje jméno si už začínají štěbetat i straky na střechách.
 game_robbery_victorytext_onestar=Otázka je, jestli zůstal trezor poloplný, nebo poloprázdný.
 game_robbery_victorytext_nostar=U lupičů jsi rozhodně nejoblíbenější hlídač. Když budeš trénovat, určitě se tě budou brzy bát.
-game_robbery_victorytext_summary=Správně jsi {0}  [BLACK]{1}/{2}[] návštěvníků.
+game_robbery_victorytext_summary=Správně jsi {0} [BLACK]{1}/{2}[] návštěvníků.
 game_robbery_victorytext_summary_identification=identifikoval/a
 game_robbery_victorytext_summary_identification_male=identifikoval
 game_robbery_victorytext_summary_identification_female=identifikovala
@@ -49,27 +49,37 @@ game_robbery_attribute_mscarfattribute=ý pánský šátek
 game_robbery_attribute_mtieattribute=ou kravatu
     
     
-game_robbery_rule_ca0cc0t=Pokud přijde člověk, který bude mít na sobě nějaké  [BLACK]{0}é oblečení[] a\u00A0po něm člověk, který bude mít  [BLACK]{1}{2}[], tak  [BLACK]další v pořadí je zloděj[].
-game_robbery_rule_cc0cc0t=Pokud přijde člověk, který bude mít  [BLACK]{0}{1}[] a\u00A0po něm člověk, který bude mít  [BLACK]{2}{3}[], tak  [BLACK]další v pořadí je zloděj[].
-game_robbery_rule_cccc=Lupič bude mít  [BLACK]{0}{1}[] a  [BLACK]{2}{3}[].
-game_robbery_rule_cacc=Lupič bude mít na sobě něco  [BLACK]{0}ého[] a\u00A0 bude mít  [BLACK]{1}{2}[].
-game_robbery_rule_caca=Lupič bude mít na sobě něco  [BLACK]{0}ého[] a\u00A0 něco  [BLACK]{1}ého[].
-game_robbery_rule_bx0bx=Lupič bude mít  [BLACK]stejný {0}[] jako člověk, který přijde před ním.
-game_robbery_rule_bc1bc=Lupič bude mít  [BLACK]stejn{0}[] jako člověk, který přijde  [BLACK]ob\u00A0jednoho člověka před ním[].
-game_robbery_rule_cc0notcc=Lupič  [BLACK]nebude[] mít  [BLACK]{0}{1}[] a\u00A0člověk, který přijde před ním,  [BLACK]bude[] mít na sobě  [BLACK]{2}{3}[].
+game_robbery_rule_ca0cc0t=Pokud přijde člověk, který bude mít na sobě nějaké [BLACK]{0}é oblečení[] a\u00A0po něm člověk, který bude mít [BLACK]{1}{2}[], tak [BLACK]další v pořadí je zloděj[].
+game_robbery_rule_cc0cc0t=Pokud přijde člověk, který bude mít [BLACK]{0}{1}[] a\u00A0po něm člověk, který bude mít [BLACK]{2}{3}[], tak [BLACK]další v pořadí je zloděj[].
+game_robbery_rule_cccc=Lupič bude mít [BLACK]{0}{1}[] a [BLACK]{2}{3}[].
+game_robbery_rule_cacc=Lupič bude mít na sobě něco [BLACK]{0}ého[] a\u00A0 bude mít [BLACK]{1}{2}[].
+game_robbery_rule_caca=Lupič bude mít na sobě něco [BLACK]{0}ého[] a\u00A0 něco [BLACK]{1}ého[].
+game_robbery_rule_bx0bx=Lupič bude mít [BLACK]stejný {0}[] jako člověk, který přijde před ním.
+game_robbery_rule_bc1bc=Lupič bude mít [BLACK]stejn{0}[] jako člověk, který přijde [BLACK]ob\u00A0jednoho člověka před ním[].
+game_robbery_rule_cc0notcc=Lupič [BLACK]nebude[] mít [BLACK]{0}{1}[] a\u00A0člověk, který přijde před ním, [BLACK]bude[] mít na sobě [BLACK]{2}{3}[].
     
-game_robbery_rule_cc1cc=Lupič bude mít  [BLACK]{0}{1}[] a\u00A0přijde  [BLACK]ob jednoho člověka[] po člověku, který bude mít  [BLACK]{2}{3}[].
-game_robbery_rule_ca1cc=Lupič bude mít  [BLACK]{0}{1}[] a\u00A0člověk, který přijde ob jednoho člověka před ním, bude mít na sobě nějaké  [BLACK]{2}é oblečení[].
-game_robbery_rule_bc2bc=Lupič bude mít  [BLACK]stejn{0}[] jako člověk, který přijde  [BLACK]ob\u00A0dva lidi před ním[].
-game_robbery_rule_cc1notcc=Lupič  [BLACK]nebude[] mít  [BLACK]{0}{1}[] a\u00A0člověk, který přijde ob jednoho člověka před ním,  [BLACK]bude[] mít na sobě  [BLACK]{2}{3}[].
-game_robbery_rule_cc1notca=Lupič  [BLACK]nebude[] mít na sobě  [BLACK]nic {0}ého[] a\u00A0člověk, který přijde ob jednoho člověka před ním,  [BLACK]bude[] mít na sobě  [BLACK]{1}{2}[].
-game_robbery_rule_cccccc=Lupič bude mít  [BLACK]{0}{1}[],  [BLACK]{2}{3}[] a  [BLACK]{4}{5}[].
+game_robbery_rule_cc1cc=Lupič bude mít [BLACK]{0}{1}[] a\u00A0přijde [BLACK]ob jednoho člověka[] po člověku, který bude mít [BLACK]{2}{3}[].
+game_robbery_rule_ca1cc=Lupič bude mít [BLACK]{0}{1}[] a\u00A0člověk, který přijde ob jednoho člověka před ním, bude mít na sobě nějaké [BLACK]{2}é oblečení[].
+game_robbery_rule_bc2bc=Lupič bude mít [BLACK]stejn{0}[] jako člověk, který přijde [BLACK]ob\u00A0dva lidi před ním[].
+game_robbery_rule_cc1notcc=Lupič [BLACK]nebude[] mít [BLACK]{0}{1}[] a\u00A0člověk, který přijde ob jednoho člověka před ním, [BLACK]bude[] mít na sobě [BLACK]{2}{3}[].
+game_robbery_rule_cc1notca=Lupič [BLACK]nebude[] mít na sobě [BLACK]nic {0}ého[] a\u00A0člověk, který přijde ob jednoho člověka před ním, [BLACK]bude[] mít na sobě [BLACK]{1}{2}[].
+game_robbery_rule_cccccc=Lupič bude mít [BLACK]{0}{1}[], [BLACK]{2}{3}[] a [BLACK]{4}{5}[].
     
-game_robbery_rule_cc2cc=Lupič bude mít  [BLACK]{0}{1}[] a\u00A0přijde  [BLACK]ob dva lidi[] po člověku, který bude mít  [BLACK]{2}{3}[].
-game_robbery_rule_cc0notcc0t=Pokud přijde člověk, který bude mít  [BLACK]{0}{1}[] a\u00A0po něm člověk, který  [BLACK]nebude[] mít  [BLACK]{2}{3}[], tak  [BLACK]další v pořadí je zloděj[].
-game_robbery_rule_cc0notca0t=Pokud přijde člověk, který bude mít  [BLACK]{0}{1}[] a\u00A0po něm člověk, který  [BLACK]nebude[] mít  [BLACK]nic {2}ého[], tak  [BLACK]další v pořadí je zloděj[].
-game_robbery_rule_cc0cc0cc=Pokud přijde člověk, který bude mít  [BLACK]{0}{1}[] a\u00A0po něm člověk, který bude mít  [BLACK]{2}{3}[], tak další v pořadí je zloděj, pokud má na sobě  [BLACK]{4}{5}[].
-game_robbery_rule_ccccnotcc=Lupič bude mít  [BLACK]{0}{1}[] a  [BLACK]{2}{3}[] a  [BLACK]nebude[] mít  [BLACK]{4}{5}[].
-game_robbery_rule_bx1bx=Lupič bude mít  [BLACK]stejný {0}[] jako člověk, který přijde ob jednoho člověka před ním.
+game_robbery_rule_cc2cc=Lupič bude mít [BLACK]{0}{1}[] a\u00A0přijde [BLACK]ob dva lidi[] po člověku, který bude mít [BLACK]{2}{3}[].
+game_robbery_rule_cc0notcc0t=Pokud přijde člověk, který bude mít [BLACK]{0}{1}[] a\u00A0po něm člověk, který [BLACK]nebude[] mít [BLACK]{2}{3}[], tak [BLACK]další v pořadí je zloděj[].
+game_robbery_rule_cc0notca0t=Pokud přijde člověk, který bude mít [BLACK]{0}{1}[] a\u00A0po něm člověk, který [BLACK]nebude[] mít [BLACK]nic {2}ého[], tak [BLACK]další v pořadí je zloděj[].
+game_robbery_rule_cc0cc0cc=Pokud přijde člověk, který bude mít [BLACK]{0}{1}[] a\u00A0po něm člověk, který bude mít [BLACK]{2}{3}[], tak další v pořadí je zloděj, pokud má na sobě [BLACK]{4}{5}[].
+game_robbery_rule_ccccnotcc=Lupič bude mít [BLACK]{0}{1}[] a [BLACK]{2}{3}[] a [BLACK]nebude[] mít [BLACK]{4}{5}[].
+game_robbery_rule_bx1bx=Lupič bude mít [BLACK]stejný {0}[] jako člověk, který přijde ob jednoho člověka před ním.
     
 game_robbery_rulemessage_understand=Rozumím
+
+constituent1_m=
+constituent1_f=
+constituent1_n=
+constituent2_m=
+constituent2_f=
+constituent2_n=
+constituent3_m=
+constituent3_f=
+constituent3_n=
\ No newline at end of file
diff --git a/android/assets/text/game/robbery/robbery_de.properties b/android/assets/text/game/robbery/robbery_de.properties
index 8a5462db843d7d23f27e4b4830bf79d2bdcd8d72..4bd574e8392d2e51cc963b50fb039c2f88fc28bc 100644
--- a/android/assets/text/game/robbery/robbery_de.properties
+++ b/android/assets/text/game/robbery/robbery_de.properties
@@ -3,9 +3,9 @@ game_robbery_averagescore=Durchschnittlich identifiziert:
 game_robbery_loadingtext=Lies dir zu Beginn des Spiels durch, wie du den Räuber erkennst. Merke ihn dir. Beobachte di leute, die den Raum betreten, und markiere mit einer Berührung den Räuber.
 game_robbery_victorytext_threestars=Mit einer solchen Wache braucht die Bank nicht einmal einen Tresor.
 game_robbery_victorytext_twostar=Deinen Namen pfeifen langsam schon die Elstern von den Dächern.
-game_robbery_victorytext_onestar=Die Frage ist, ob der Tresor halb voll, oder halb leer geblieben ist.
-game_robbery_victorytext_nostar=Du bist bei den Räubern eindeutig der beliebteste Wächter. Wenn du trainierst, werden sie bald Angst vor dir haben.
-game_robbery_victorytext_summary=Du hast {0} Besucher richtig  [BLACK]{1}/{2}[].
+game_robbery_victorytext_onestar=Nicht schlecht! Einige Einbrecher hast du jedoch entwischen lassen!
+game_robbery_victorytext_nostar=Du bist bei den Einbrechern zurzeit eindeutig am Beliebtesten. Wenn du aber trainierst, werden sie bald Angst vor dir haben!
+game_robbery_victorytext_summary=Du hast [BLACK]{1}/{2}[] Besuchern richtig {0}.
 game_robbery_victorytext_summary_identification=identifiziert
 game_robbery_victorytext_summary_identification_male=identifiziert
 game_robbery_victorytext_summary_identification_female=identifiziert
@@ -20,56 +20,66 @@ game_robbery_color_pink=pink
 game_robbery_color_yellow=gelb
 game_robbery_color_black=schwarz
 game_robbery_color_white=weiß
-game_robbery_attribute_topattribute=Kleidung oben
-game_robbery_attribute_bottomattribute=Kleidung unten
-game_robbery_attribute_fpantsattribute=e Damenhose
-game_robbery_attribute_fskirtattribute=en Rock
-game_robbery_attribute_mpantsattribute=e Herrenhose
-game_robbery_attribute_mshortsattribute=e kurze Hose
-game_robbery_attribute_fhatattribute=en Damenhut
-game_robbery_attribute_mhatattribute=en Herrenhut
-game_robbery_attribute_fshirtattribute=es Damenhemd
-game_robbery_attribute_fsweaterattribute=en Damenpullover
-game_robbery_attribute_fvestattribute=es Damenunterhemd
-game_robbery_attribute_fcoatattribute=en Damenmantel
-game_robbery_attribute_msweaterattribute=en Herrenpullover
-game_robbery_attribute_mvestattribute=es Herrenunterhemd
-game_robbery_attribute_mcoatattribute=en Herrenmantel
-game_robbery_attribute_mshirtattribute=es Herrenhemd
+game_robbery_attribute_topattribute=Oberteil
+game_robbery_attribute_bottomattribute=Unterteil
+game_robbery_attribute_fpantsattribute=Damenhose
+game_robbery_attribute_fskirtattribute=Rock
+game_robbery_attribute_mpantsattribute=Herrenhose
+game_robbery_attribute_mshortsattribute=kurze Hose
+game_robbery_attribute_fhatattribute=Damenhut
+game_robbery_attribute_mhatattribute=Herrenhut
+game_robbery_attribute_fshirtattribute=Damenhemd
+game_robbery_attribute_fsweaterattribute=Damenpullover
+game_robbery_attribute_fvestattribute=Damenunterhemd
+game_robbery_attribute_fcoatattribute=Damenmantel
+game_robbery_attribute_msweaterattribute=Herrenpullover
+game_robbery_attribute_mvestattribute=Herrenunterhemd
+game_robbery_attribute_mcoatattribute=Herrenmantel
+game_robbery_attribute_mshirtattribute=Herrenhemd
 game_robbery_attribute_fglassesattribute=Damenbrille
-game_robbery_attribute_fglassesattribute_forced=e Damenbrille
+game_robbery_attribute_fglassesattribute_forced=Damenbrille
 game_robbery_attribute_mglassesattribute=Herrenbrille
-game_robbery_attribute_mglassesattribute_forced=e Herrenbrille
-game_robbery_attribute_fbraidshairattribute=en Zopf
-game_robbery_attribute_flonghairattribute=e lange Haare
-game_robbery_attribute_mhairattribute=e kurze Haare
-game_robbery_attribute_fbeadsattribute=e Halskette
-game_robbery_attribute_fscarfattribute=es Damentuch
-game_robbery_attribute_mscarfattribute=es Herrentuch
-game_robbery_attribute_mtieattribute=e Krawatte
+game_robbery_attribute_mglassesattribute_forced=Herrenbrille
+game_robbery_attribute_fbraidshairattribute=Zopf
+game_robbery_attribute_flonghairattribute=lange Haare
+game_robbery_attribute_mhairattribute=kurze Haare
+game_robbery_attribute_fbeadsattribute=Halskette
+game_robbery_attribute_fscarfattribute=Damentuch
+game_robbery_attribute_mscarfattribute=Herrentuch
+game_robbery_attribute_mtieattribute=Krawatte
     
     
-game_robbery_rule_ca0cc0t=Wenn ein Mensch kommt, der irgendein  [BLACK]{0}es Kleidungsstück[] trägt und nach ihm ein Mensch, der  [BLACK]{1}{2}[] hat, dann  [BLACK]ist der nächste in der Reihe der Verbrecher[].
-game_robbery_rule_cc0cc0t=Wenn ein Mensch kommt, der  [BLACK]{0}{1}[] hat und nach ihm ein Mensch, der  [BLACK]{2}{3}[] hat, dann  [BLACK]ist der nächste in der Reihe der Verbrecher[].
-game_robbery_rule_cccc=Der Einbrecher hat  [BLACK]{0}{1}[] und  [BLACK]{2}{3}[].
-game_robbery_rule_cacc=Der Einbrecher trägt etwas  [BLACK]{0}es[] und hat  [BLACK]{1}{2}[].
-game_robbery_rule_caca=Der Einbrecher trägt etwas  [BLACK]{0}es[] und etwas  [BLACK]{1}es[].
-game_robbery_rule_bx0bx=Der Einbrecher hat  [BLACK]den gleichen {0}[] wie der Mensch, der vor ihm kommt.
-game_robbery_rule_bc1bc=Der Einbrecher hat XXX  [BLACK]gleich{0}[] wie der Mensch, der  [BLACK]um einen vor ihm[] kommt.
-game_robbery_rule_cc0notcc=Der Einbrecher hat  [BLACK]kein {0}{1}[] und der Mensch, der vor ihm kommt,  [BLACK]trägt {2}{3}[].
+game_robbery_rule_ca0cc0t=Wenn ein Mensch kommt, der ein [BLACK]{0}es Kleidungsstück[] trägt und nach ihm ein Mensch, der [BLACK]ein<SFIX>{1}<SFIX>{2}[] trägt, dann [BLACK]ist der nächste in der Reihe der Einbrecher bzw. die Einbrecherin[].
+game_robbery_rule_cc0cc0t=Wenn ein Mensch kommt, der [BLACK]ein<SFIX>{0}<SFIX>{1}[] trägt und nach ihm ein Mensch, der [BLACK]ein<SFIX>{2}<SFIX>{3}[] trägt, dann [BLACK]ist der nächste in der Reihe der Einbrecher bzw. die Einbrecherin[].
+game_robbery_rule_cccc=Der Einbrecher bzw. die Einbrecherin trägt [BLACK]ein<SFIX>{0}<SFIX>{1}[] und [BLACK]ein<SFIX>{2}<SFIX>{3}[].
+game_robbery_rule_cacc=Der Einbrecher bzw. die Einbrecherin trägt etwas [BLACK]<BIG>{0}es[] und [BLACK]ein<SFIX>{1}<SFIX>{2}[].
+game_robbery_rule_caca=Der Einbrecher bzw. die Einbrecherin trägt etwas [BLACK]<BIG>{0}es[] und etwas [BLACK]<BIG>{1}es[].
+game_robbery_rule_bx0bx=Der Einbrecher bzw. die Einbrecherin trägt [BLACK]<SFIX>{0}[] wie der Mensch, der vor ihm kommt.
+game_robbery_rule_bc1bc=Der Einbrecher bzw. die Einbrecherin trägt [BLACK]<SFIX>{0}[] wie der Mensch, der [BLACK]vor der vorherigen Person[] kommt.
+game_robbery_rule_cc0notcc=Der Einbrecher bzw. die Einbrecherin trägt [BLACK]kein<SFIX>{0}<SFIX>{1}[] und der Mensch, der vor ihm kommt, [BLACK]trägt ein<SFIX>{2}<SFIX>{3}[].
     
-game_robbery_rule_cc1cc=Der Einbrecher hat  [BLACK]{0}{1}[] und kommt  [BLACK]einen[] nach dem Menschen, der  [BLACK]{2}{3}[] hat.
-game_robbery_rule_ca1cc=Der Einbrecher hat  [BLACK]{0}{1}[] und der Mensch, der vor dem Menschen vor ihm kommt, trägt irgendein  [BLACK]{2}es Kleidungsstück[].
-game_robbery_rule_bc2bc=Der Einbrecher hat  [BLACK]gleich{0}[] wie der Mensch, der  [BLACK]ob zwei Leute vor ihm[] kommt.
-game_robbery_rule_cc1notcc=Der Einbrecher  [BLACK]hat kein {0}{1}[] und der Mensch, der vor dem Menschen vor ihm kommt,  [BLACK]trägt {2}{3}[].
-game_robbery_rule_cc1notca=Der Einbrecher  [BLACK]trägt nichts {0}es[] und der Mensch, der vor dem Menschen vor ihm kommt,  [BLACK]trägt {1}{2}[].
-game_robbery_rule_cccccc=Der Einbrecher hat  [BLACK]{0}{1}[],  [BLACK]{2}{3}[] und  [BLACK]{4}{5}[].
+game_robbery_rule_cc1cc=Der Einbrecher bzw. die Einbrecherin trägt [BLACK]ein<SFIX>{0}<SFIX>{1}[] und kommt als zweite Person nach dem Menschen, der [BLACK]ein<SFIX>{2}<SFIX>{3}[] trägt.
+game_robbery_rule_ca1cc=Der Einbrecher bzw. die Einbrecherin trägt [BLACK]ein<SFIX>{0}<SFIX>{1}[] und der Mensch, der vor dem Menschen vor ihm kommt, trägt ein [BLACK]{2}es Kleidungsstück[].
+game_robbery_rule_bc2bc=Der Einbrecher bzw. die Einbrecherin trägt [BLACK]<SFIX>{0}[] wie der Mensch, der [BLACK]zwei Leute davor[] kommt.
+game_robbery_rule_cc1notcc=Der Einbrecher bzw. die Einbrecherin [BLACK]trägt kein<SFIX>{0}<SFIX>{1}[] und der Mensch, der vor dem Menschen vor ihm kommt, [BLACK]trägt ein<SFIX>{2}<SFIX>{3}[].
+game_robbery_rule_cc1notca=Der Einbrecher bzw. die Einbrecherin [BLACK]trägt nichts <BIG>{0}es[] und der Mensch, der vor dem Menschen vor ihm kommt, [BLACK]trägt ein<SFIX>{1}<SFIX>{2}[].
+game_robbery_rule_cccccc=Der Einbrecher bzw. die Einbrecherin trägt [BLACK]ein<SFIX>{0}<SFIX>{1}[], [BLACK]ein<SFIX>{2}<SFIX>{3}[] und [BLACK]ein<SFIX>{4}<SFIX>{5}[].
     
-game_robbery_rule_cc2cc=Der Einbrecher hat  [BLACK]{0}{1}[] und kommt  [BLACK]zwei Leute[] vor einem Menschen, der  [BLACK]{2}{3}[] hat.
-game_robbery_rule_cc0notcc0t=Wenn ein Mensch kommt, der  [BLACK]{0}{1}[] hat und nach ihm ein Mensch, der  [BLACK]kein {2}{3}[] hat, dann  [BLACK]ist der nächste in der Reihe der Dieb[].
-game_robbery_rule_cc0notca0t=Wenn ein Mensch kommt, der  [BLACK]{0}{1}[] hat und nach ihm ein Mensch kommt, der  [BLACK]nichts {2}es[] hat, dann  [BLACK]ist der nächste in der Reihe der Dieb[].
-game_robbery_rule_cc0cc0cc=Wenn ein Mensch kommt, der  [BLACK]{0}{1}[] hat und nach ihm ein Mensch kommt, der  [BLACK]{2}{3}[] hat, dann ist der nächste in der Reihe der Einbrecher, falls er  [BLACK]{4}{5}[] trägt.
-game_robbery_rule_ccccnotcc=Der Einbrecher hat  [BLACK]{0}{1}[] und  [BLACK]{2}{3}[] und  [BLACK]hat kein {4}{5}[].
-game_robbery_rule_bx1bx=Der Einbrecher hat  [BLACK]den gleichen {0}[] wie der Mensch, der vor dem Menschen vor ihm kommt.
+game_robbery_rule_cc2cc=Der Einbrecher bzw. die Einbrecherin trägt [BLACK]ein<SFIX>{0}<SFIX>{1}[] und kommt [BLACK]zwei Leute[] nach einem Menschen, der [BLACK]ein<SFIX>{2}<SFIX>{3}[] trägt.
+game_robbery_rule_cc0notcc0t=Wenn ein Mensch kommt, der [BLACK]ein<SFIX>{0}<SFIX>{1}[] trägt und nach ihm ein Mensch, der [BLACK]kein<SFIX>{2}<SFIX>{3}[] trägt, dann [BLACK]ist der nächste in der Reihe der Einbrecher bzw. die Einbrecherin[].
+game_robbery_rule_cc0notca0t=Wenn ein Mensch kommt, der [BLACK]ein<SFIX>{0}<SFIX>{1}[] trägt und nach ihm ein Mensch kommt, der [BLACK]nichts <BIG>{2}es[] trägt, dann [BLACK]ist der nächste in der Reihe der Einbrecher bzw. die Einbrecherin[].
+game_robbery_rule_cc0cc0cc=Wenn ein Mensch kommt, der [BLACK]ein<SFIX>{0}<SFIX>{1}[] trägt und nach ihm ein Mensch kommt, der [BLACK]ein<SFIX>{2}<SFIX>{3}[] trägt, dann ist der nächste in der Reihe der Einbrecher bzw. die Einbrecherin, falls er [BLACK]ein<SFIX>{4}<SFIX>{5}[] trägt.
+game_robbery_rule_ccccnotcc=Der Einbrecher bzw. die Einbrecherin trägt [BLACK]ein<SFIX>{0}<SFIX>{1}[] und [BLACK]ein<SFIX>{2}<SFIX>{3}[] und [BLACK]kein<SFIX>{4}<SFIX>{5}[].
+game_robbery_rule_bx1bx=Der Einbrecher bzw. die Einbrecherin trägt [BLACK]<SFIX>{0}[] wie der Mensch, der vor dem Menschen vor ihm kommt.
     
 game_robbery_rulemessage_understand=Ich verstehe
+
+constituent1_m=en\u0020
+constituent1_f=e\u0020
+constituent1_n=\u0020
+constituent2_m=en\u0020
+constituent2_f=e\u0020
+constituent2_n=es\u0020
+constituent3_m=den gleichen\u0020
+constituent3_f=die gleiche\u0020
+constituent3_n=das gleiche\u0020
diff --git a/android/assets/text/game/robbery/robbery_sk.properties b/android/assets/text/game/robbery/robbery_sk.properties
index 7352d835405f8302ec0216cfd3ab3d74edadb110..283f18ce62fc44d08e627ef6803034b607003217 100644
--- a/android/assets/text/game/robbery/robbery_sk.properties
+++ b/android/assets/text/game/robbery/robbery_sk.properties
@@ -5,7 +5,7 @@ game_robbery_victorytext_threestars=S takou ochranou banka nepotrebuje ani trezo
 game_robbery_victorytext_twostar=Tvoje meno si začínajú štebotať aj straky na strechách.
 game_robbery_victorytext_onestar=Otázka je, či ostal trezor poloplný alebo poloprázdný.
 game_robbery_victorytext_nostar=U lupičov si rozhodne najobľúbenejší strážca. Ak budeš trénovať, určite sa ťa budú čo skoro báť.
-game_robbery_victorytext_summary=Správne si {0}  [BLACK]{1}/{2}[] návštevníkov.
+game_robbery_victorytext_summary=Správne si {0} [BLACK]{1}/{2}[] návštevníkov.
 game_robbery_victorytext_summary_identification=identifikoval/a
 game_robbery_victorytext_summary_identification_male=identifikoval
 game_robbery_victorytext_summary_identification_female=identifikovala
@@ -37,37 +37,49 @@ game_robbery_attribute_mvestattribute=é pánské tielko
 game_robbery_attribute_mcoatattribute=ý pánský kabát
 game_robbery_attribute_mshirtattribute=ú pánsku košeľu
 game_robbery_attribute_fglassesattribute=dámské okuliare
+game_robbery_attribute_fglassesattribute_forced=é dámské okuliare
 game_robbery_attribute_mglassesattribute=pánské okuliare
+game_robbery_attribute_mglassesattribute_forced=é pánské okuliare
 game_robbery_attribute_fbraidshairattribute=é vlasy do copu
 game_robbery_attribute_flonghairattribute=é dlhé vlasy
 game_robbery_attribute_mhairattribute=é krátke vlasy
 game_robbery_attribute_fbeadsattribute=é korále
-game_robbery_attribute_fscarfattribute=ý dámska šatka
+game_robbery_attribute_fscarfattribute=ú dámskú šatku
 game_robbery_attribute_mscarfattribute=ý pánský šál
 game_robbery_attribute_mtieattribute=ou kravatu
     
     
-game_robbery_rule_ca0cc0t=Ak príde človek, ktorý bude mať na sebe  [BLACK]nejaké {0}é[] oblečenie a\u00A0po ňom človek, ktorý bude mať  [BLACK]{1}{2}[], tak  [BLACK]ďalší v poradí je zlodej[].
-game_robbery_rule_cc0cc0t=Ak príde človek, ktorý bude mať  [BLACK]{0}{1}[] a  [BLACK]po ňom[] človek, ktorý bude mať  [BLACK]{2}{3}[], tak  [BLACK]ďalší v poradí[] je zlodej.
-game_robbery_rule_cccc=Zlodej bude mať  [BLACK]{0}{1}[] a  [BLACK]{2}{3}[].
-game_robbery_rule_cacc=Zlodej bude mať na sebe niečo  [BLACK]{0}ého[] a\u00A0bude mať  [BLACK]{1}{2}[].
-game_robbery_rule_caca=Zlodej bude mať na sebe niečo  [BLACK]{0}ého[] a\u00A0niečo  [BLACK]{1}ého[].
-game_robbery_rule_bx0bx=Zlodej bude mať  [BLACK]rovnaké {0}[] ako človek, ktorý príde  [BLACK]pred ním[].
-game_robbery_rule_bc1bc=Zlodej bude mať  [BLACK]rovnak{0}[] ako človek, ktorý príde  [BLACK]ob\u00A0jedného človeka pred ním[].
-game_robbery_rule_cc0notcc=Zlodej nebude mať  [BLACK]{0}{1}[] a\u00A0človek, ktorý príde  [BLACK]pred ním[], bude mať na sebe  [BLACK]{2}{3}[].
+game_robbery_rule_ca0cc0t=Ak príde človek, ktorý bude mať na sebe [BLACK]nejaké {0}é[] oblečenie a\u00A0po ňom človek, ktorý bude mať [BLACK]{1}{2}[], tak [BLACK]ďalší v poradí je zlodej[].
+game_robbery_rule_cc0cc0t=Ak príde človek, ktorý bude mať [BLACK]{0}{1}[] a [BLACK]po ňom[] človek, ktorý bude mať [BLACK]{2}{3}[], tak [BLACK]ďalší v poradí[] je zlodej.
+game_robbery_rule_cccc=Zlodej bude mať [BLACK]{0}{1}[] a [BLACK]{2}{3}[].
+game_robbery_rule_cacc=Zlodej bude mať na sebe niečo [BLACK]{0}ého[] a\u00A0bude mať [BLACK]{1}{2}[].
+game_robbery_rule_caca=Zlodej bude mať na sebe niečo [BLACK]{0}ého[] a\u00A0niečo [BLACK]{1}ého[].
+game_robbery_rule_bx0bx=Zlodej bude mať [BLACK]rovnaký {0}[] ako človek, ktorý príde [BLACK]pred ním[].
+game_robbery_rule_bc1bc=Zlodej bude mať [BLACK]rovnak{0}[] ako človek, ktorý príde [BLACK]ob\u00A0jedného človeka pred ním[].
+game_robbery_rule_cc0notcc=Zlodej nebude mať [BLACK]{0}{1}[] a\u00A0človek, ktorý príde [BLACK]pred ním[], bude mať na sebe [BLACK]{2}{3}[].
     
-game_robbery_rule_cc1cc=Zlodej bude mať  [BLACK]{0}{1}[] a\u00A0príde  [BLACK]ob jedného[] človeka po človeku, ktorý bude mať  [BLACK]{2}{3}[].
-game_robbery_rule_ca1cc=Zlodej bude mať  [BLACK]{0}{1}[] a\u00A0človek, ktorý príde  [BLACK]ob jedného človeka pred ním[], bude mať na sebe  [BLACK]{2}é oblečenie[].
-game_robbery_rule_bc2bc=Zlodej bude mať  [BLACK]rovnaké {0}[] ako človek, který príde  [BLACK]ob\u00A0dva ľudí pred ním[].
-game_robbery_rule_cc1notcc=Zlodej nebude mať  [BLACK]{0}{1}[] a\u00A0človek, ktorý príde  [BLACK]ob jedného[] človeka pred ním, bude mať na sebe  [BLACK]{2}{3}[].
-game_robbery_rule_cc1notca=Zlodej nebude mať na sebe nič  [BLACK]{0}ého[] a\u00A0človek, který príde  [BLACK]ob jednoho[] človeka pred ním, bude mať na sebe  [BLACK]{1}{2}[].
-game_robbery_rule_cccccc=Zlodej bude mať  [BLACK]{0}{1}[],  [BLACK]{2}{3}[] a  [BLACK]{4}{5}[].
+game_robbery_rule_cc1cc=Zlodej bude mať [BLACK]{0}{1}[] a\u00A0príde [BLACK]ob jedného[] človeka po človeku, ktorý bude mať [BLACK]{2}{3}[].
+game_robbery_rule_ca1cc=Zlodej bude mať [BLACK]{0}{1}[] a\u00A0človek, ktorý príde [BLACK]ob jedného človeka pred ním[], bude mať na sebe [BLACK]{2}é oblečenie[].
+game_robbery_rule_bc2bc=Zlodej bude mať [BLACK]rovnak{0}[] ako človek, který príde [BLACK]ob\u00A0dva ľudí pred ním[].
+game_robbery_rule_cc1notcc=Zlodej nebude mať [BLACK]{0}{1}[] a\u00A0človek, ktorý príde [BLACK]ob jedného[] človeka pred ním, bude mať na sebe [BLACK]{2}{3}[].
+game_robbery_rule_cc1notca=Zlodej nebude mať na sebe nič [BLACK]{0}ého[] a\u00A0človek, který príde [BLACK]ob jednoho[] človeka pred ním, bude mať na sebe [BLACK]{1}{2}[].
+game_robbery_rule_cccccc=Zlodej bude mať [BLACK]{0}{1}[], [BLACK]{2}{3}[] a [BLACK]{4}{5}[].
 
-game_robbery_rule_cc2cc=Zlodej bude mať  [BLACK]{0}{1}[] a\u00A0príde  [BLACK]ob dva lidi[] po človeku, který bude mať  [BLACK]{2}{3}[].
-game_robbery_rule_cc0notcc0t=Ak príde človek, který bude mať  [BLACK]{0}{1}[] a  [BLACK]po ňom[] človek, který  [BLACK]nebude[] mať  [BLACK]{2}{3}[], tak  [BLACK]ďalší v poradí[] je zlodej.
-game_robbery_rule_cc0notca0t=Ak príde človek, ktorý bude mať  [BLACK]{0}{1}[] a  [BLACK]po ňom[] človek, ktorý  [BLACK]nebude[] mať nič  [BLACK]{2}ého[], tak  [BLACK]ďalší v poradí[] je zlodej.
-game_robbery_rule_cc0cc0cc=Ak príde človek, ktorý bude mať  [BLACK]{0}{1}[] a  [BLACK]po ňom[] človek, který bude mať  [BLACK]{2}{3}[], tak  [BLACK]ďalší v poradí[] je zlodej, ak má na sebe  [BLACK]{4}{5}[].
-game_robbery_rule_ccccnotcc=Zlodej bude mať  [BLACK]{0}{1}[] a  [BLACK]{2}{3}[] a  [BLACK]nebude[] mať  [BLACK]{4}{5}[].
-game_robbery_rule_bx1bx=Zlodej bude mať  [BLACK]rovnaký {0}[] ako človek, ktorý príde  [BLACK]ob jedného človeka pred ním[].
+game_robbery_rule_cc2cc=Zlodej bude mať [BLACK]{0}{1}[] a\u00A0príde [BLACK]ob dva lidi[] po človeku, který bude mať [BLACK]{2}{3}[].
+game_robbery_rule_cc0notcc0t=Ak príde človek, který bude mať [BLACK]{0}{1}[] a [BLACK]po ňom[] človek, který [BLACK]nebude[] mať [BLACK]{2}{3}[], tak [BLACK]ďalší v poradí[] je zlodej.
+game_robbery_rule_cc0notca0t=Ak príde človek, ktorý bude mať [BLACK]{0}{1}[] a [BLACK]po ňom[] človek, ktorý [BLACK]nebude[] mať nič [BLACK]{2}ého[], tak [BLACK]ďalší v poradí[] je zlodej.
+game_robbery_rule_cc0cc0cc=Ak príde človek, ktorý bude mať [BLACK]{0}{1}[] a [BLACK]po ňom[] človek, který bude mať [BLACK]{2}{3}[], tak [BLACK]ďalší v poradí[] je zlodej, ak má na sebe [BLACK]{4}{5}[].
+game_robbery_rule_ccccnotcc=Zlodej bude mať [BLACK]{0}{1}[] a [BLACK]{2}{3}[] a [BLACK]nebude[] mať [BLACK]{4}{5}[].
+game_robbery_rule_bx1bx=Zlodej bude mať [BLACK]rovnaký {0}[] ako človek, ktorý príde [BLACK]ob jedného človeka pred ním[].
     
 game_robbery_rulemessage_understand=Rozumiem
+
+constituent1_m=
+constituent1_f=
+constituent1_n=
+constituent2_m=
+constituent2_f=
+constituent2_n=
+constituent3_m=
+constituent3_f=
+constituent3_n=
\ No newline at end of file
diff --git a/android/assets/text/game/shootingrange/shootingrange_cs.properties b/android/assets/text/game/shootingrange/shootingrange_cs.properties
index 96614450efb25a691a5ef962d8e6e72d6c2ceaf3..a748067938626f0ab12d99b5c2cb57bbbfc7feee 100644
--- a/android/assets/text/game/shootingrange/shootingrange_cs.properties
+++ b/android/assets/text/game/shootingrange/shootingrange_cs.properties
@@ -6,4 +6,4 @@ game_shootingrange_result_3=Na divokém západě by\u00A0se před tebou všem kl
 
 game_shootingrange_plus=+5
 game_shootingrange_minus=-5
-game_shootingrange_stats=Tvoje skóre:  [BLACK]{0}[]
+game_shootingrange_stats=Tvoje skóre: [BLACK]{0}[]
diff --git a/android/assets/text/game/shootingrange/shootingrange_de.properties b/android/assets/text/game/shootingrange/shootingrange_de.properties
index 219a94598cd9f3985066e39cf2679e38c15d8574..91feadea2aef3ce6f9a2d3a191c7c1fda06f2a2d 100644
--- a/android/assets/text/game/shootingrange/shootingrange_de.properties
+++ b/android/assets/text/game/shootingrange/shootingrange_de.properties
@@ -4,8 +4,8 @@ game_shootingrange_result_1=Zum Glück\u00A0musst du die\u00A0Munition nicht bez
 game_shootingrange_result_2=Eine schöne Reihe an Treffern, aber ein bisschen mehr Konzentration ist noch nötig.
 game_shootingrange_result_3=Im wilden Westen würden\u00A0allen vor Angst die Knie zittern.
 
-game_shootingrange_loadingtext_1=Verfolge aufmerksam die Blume im\u00A0oberen rechten Eck. Versuch, auf dem\u00A0Schießstand Blumen von gleicher Form und\u00A0Farbe zu treffen.
+game_shootingrange_loadingtext_1=Verfolge aufmerksam die Blume im\u00A0oberen rechten Eck. Versuch, auf dem\u00A0Schießstand Blumen mit gleicher Form und\u00A0Farbe zu treffen.
 game_shootingrange_loadingtext_2=Mit einem Klick auf die Kiste mit\u00A0Stern lassen sich die\u00A0Blumen leichter treffen, mit einem Klick auf\u00A0 die Kiste mit\u00A0Schädel schwieriger.
 game_shootingrange_plus=+5
 game_shootingrange_minus=-5
-game_shootingrange_stats=Deine Punktzahl:  [BLACK]{0}[]
+game_shootingrange_stats=Deine Punktzahl: [BLACK]{0}[]
diff --git a/android/assets/text/game/shootingrange/shootingrange_sk.properties b/android/assets/text/game/shootingrange/shootingrange_sk.properties
index feca7e574bea07a3a03788bcaeb37a26eef192b9..9e08a2824f5356c3319a977859973f6311d40103 100644
--- a/android/assets/text/game/shootingrange/shootingrange_sk.properties
+++ b/android/assets/text/game/shootingrange/shootingrange_sk.properties
@@ -8,5 +8,5 @@ game_shootingrange_loadingtext_1=Pozorne sleduj kvet v\u00A0pravom hornom rohu.
 game_shootingrange_loadingtext_2=Kliknutie na\u00A0bedňu s\u00A0hviezdičkou ti triafanie kvetov uľahčí, kliknutie na\u00A0bedňu s\u00A0lebkou naopak sťaží.
 game_shootingrange_plus=+5
 game_shootingrange_minus=-5
-game_shootingrange_stats=Tvoje skóre:  [BLACK]{0}[]
+game_shootingrange_stats=Tvoje skóre: [BLACK]{0}[]
 
diff --git a/android/assets/text/screen/encyclopedia/encyclopedia_de.properties b/android/assets/text/screen/encyclopedia/encyclopedia_de.properties
index d248955dc5ed7d1d5c6be73fa3fd3b24a94ce28d..ac7813524fb24025fd2a8c31c3084d3c223ad92c 100644
--- a/android/assets/text/screen/encyclopedia/encyclopedia_de.properties
+++ b/android/assets/text/screen/encyclopedia/encyclopedia_de.properties
@@ -1,10 +1,10 @@
-play=Spielen
+play=Wiedergabe
 pause=Pause
 
 hint_header=Tipp:
 #    <!-- Dysgraphia -->
 dysgraphia=Dysgraphie
-dysgraphia_definition=Dysgraphie oder Schreibschwäche bezeichnet eine spezifische Lernschwäche, für die Probleme beim Schreiben, insbesondere in der grafischen Form, charakteristisch sind.
+dysgraphia_definition=Dysgraphie oder Schreibschwäche bezeichnet eine spezifische Lernschwäche, für die Probleme beim Schreiben, insbesondere in der grafischen Form.
 
 dysgraphia_paragraph_1=Betroffene brauchen in der Grundschule oft sehr lange, bis sie Schreiben lernen und häufig bereiten ihnen alle Striche und Bögen in den Buchstaben Schwierigkeiten. Die Schrift eines Menschen mit Dysgraphie ist in der Regel sehr schlecht lesbar. Vor allem beim schnellen Notieren von Informationen kann es leicht passieren, dass die Schrift zittrig und unleserlich wird (manchmal nur für andere Leute, aber manchmal kann auch die schreibende Person selbst die eigene Schrift nicht mehr lesen).
 
@@ -16,11 +16,11 @@ dysgraphia_hint_text=Wenn du deine Schrift selbst nicht lesen kannst und auch an
 
 #    <!-- Dyslexia -->
 dyslexia=Dyslexie
-dyslexia_definition=Bei Dyslexie bzw. Leseschwäche handelt es sich, die, trotz gutem Unterricht, Übungen zu Hause und ausreichendem (manchmal sogar überdurchschnittlichem!) Intellekt, Schwierigkeiten beim Lesen verursacht.
+dyslexia_definition=Bei Dyslexie oder Leseschwäche handelt es sich um eine spezifische Lernschwäche, die, trotz gutem Unterricht, Übungen zu Hause und ausreichendem (manchmal sogar überdurchschnittlichem!) Intellekt, Schwierigkeiten beim Lesen verursacht. Aktuelle Forschungsergebnisse zeigen, dass es sich um (wahrscheinlich erbliche) Schwierigkeiten handelt, die durch Probleme in der Informationsverarbeitung im Gehirn verursacht werden.
 
-dyslexia_paragraph_1=Aktuelle Forschungsergebnisse zeigen, dass es sich um (wahrscheinlich erbliche) Schwierigkeiten handelt, die durch Probleme in der Informationsverarbeitung im Gehirn verursacht werden. Probleme mit Dyslexie können ein Leben lang bestehen bleiben, wobei dies auch von ihrer Intensität und dem Umfang therapeutischer Unterstützung abhängt. Bei manchen Menschen sind sie irgendwann gar nicht mehr vorhanden, bei anderen bis ins hohe Alter. Gerade in der heutigen "Informationsgesellschaft", in der ständig mittels Schreiben und Lesen Informationen ausgetauscht werden, ist Dyslexie für manche zu einem größeren Problem im Vergleich zu früher geworden. Zum Glück gibt es aber viele Möglichkeiten, diesem Problem entgegenzuwirken!
+dyslexia_paragraph_1=Probleme mit Dyslexie können ein Leben lang bestehen bleiben, wobei dies auch von ihrer Intensität und dem Umfang therapeutischer Unterstützung abhängt. Bei manchen Menschen sind sie irgendwann gar nicht mehr vorhanden, bei anderen bis ins hohe Alter. Gerade in der heutigen „Informationsgesellschaft“, in der ständig mittels Schreiben und Lesen Informationen ausgetauscht werden, ist Dyslexie für manche zu einem größeren Problem im Vergleich zu früher geworden. Zum Glück gibt es aber viele Möglichkeiten, diesem Problem entgegenzuwirken!
 
-dyslexia_paragraph_2=Dabei ist es wichtig, sich bewusst zu machen, unter welchen Bedingungen man am besten liest, um diese nutzen zu können. Eine Rolle können z.B. die Tageszeit, aber auch Ruhe und genügend Zeit zum Lesen sowie das Nutzen verschiedener moderner Technologien (wie zum Beispiel elektronische Lesegeräte, Stimmausgabe am Computer, Einstellungen des Computers, die die Texte möglichst überschaubar machen, und so weiter) spielen. Betroffene können generell gut lernen und auch Experten bzw. Expertinnen in ihrem Fachbereich werden. Wie bei vielen anderen Lernstörungen gilt auch bei der Dyslexie, dass Betroffene Anspruch auf Anpassung an ihre Lernbedürfnisse in der Schule haben. Aus diesem Grund ist es gut zu wissen, was genau sie brauchen, damit die Anpassungen wirklich effektiv sind.
+dyslexia_paragraph_2=Dabei ist es wichtig, sich bewusst zu machen, unter welchen Bedingungen man am besten liest, um diese nutzen zu können. Eine Rolle spielen können z.B. die Tageszeit, aber auch Ruhe und genügend Zeit zum Lesen sowie das Nutzen verschiedener moderner Technologien (wie zum Beispiel elektronische Lesegeräte, Stimmausgabe am Computer, Einstellungen des Computers, die die Texte möglichst überschaubar machen). Betroffene können generell gut lernen und auch Experten bzw. Expertinnen in ihrem Fachbereich werden. Wie bei vielen anderen Lernstörungen gilt auch bei der Dyslexie, dass Betroffene Anspruch auf Anpassung an ihre Lernbedürfnisse in der Schule haben. Aus diesem Grund ist es gut zu wissen, was genau sie brauchen, damit die Anpassungen wirklich effektiv sind.
 
 dyslexia_hint_text=Wenn du dir nicht sicher bist, wie man etwas schreibt, benutze Ãœbersichtstabellen in Rechtschreibregeln. Du kannst sie dir selbst auf dem Computer basteln, dann findest du dich darin besser zurecht.
 
@@ -29,13 +29,13 @@ dysorthographia=Dysorthographie
 
 dysorthographia_definition=Bei der Dysorthographie oder Rechtschreibschwäche stehen Schwierigkeiten beim, wie der Name schon sagt, Rechtschreiben, im Mittelpunkt. Texte von Betroffenen enthalten oft viele Fehler und Ungenauigkeiten, die wiederholt passieren.
 
-dysorthographia_paragraph_1=Zu typischen Fehlern gehören das Auslassen von Wörtern, das Verwechseln ähnlich klingender Buchstaben und Laute oder das Vertauschen von Lauten in Wörtern, sodass sie nicht mehr erkennbar sind. Betroffene können manchmal den richtigen Laut "nicht hören" oder haben Probleme dabei, sich bewusst zu machen, aus welchen Lauten sich ein Wort zusammensetzt, obwohl das Wort als Ganzes gehört und verstanden wird. Ein weiteres Symptom der Rechtschreibschwäche ist die fehlerhafte Anwendung der Rechtschreibregeln. Betroffene können die Regel oftmals genau erklären, wenn es jedoch darum geht einen komplexen Satz zu schreiben, werden bei der Anwendung der eben noch korrekt erklärten Regel Fehler gemacht. Wie auch bei den anderen beschriebenen Lernschwächen hängen auch die im Rahmen einer Rechtschreibschwäche auftretenden Probleme nicht mit dem Intellekt zusammen. Um Verbesserungen zu erzielen ist es auch hier wichtig, sich bewusst zu machen, welche Bedingungen für die betroffene Person am förderlichsten sind. Oft hilft genügend Zeit und Ruhe für die Arbeit, manchmal auch Schreiben am Computer mit aktivierter Autokorrektur. Man sollte auch lernen, die eigenen Texte sorgfältig kontrollieren zu können und wissen, welchem Bereich man größere Aufmerksamkeit widmen muss. In Fällen, in denen der Inhalt der Mitteilung sehr wichtig ist, lohnt es sich den Text von einer anderen Person auf Fehler kontrollieren zu lassen, weil Betroffene diese oft "nicht sehen". Ein anderer Trick ist, den Text von hinten zu lesen, sodass man die Wörter liest wie sie geschrieben sind, beginnend vom Ende des Satzes. Diese Methode ermöglicht es, sich anstatt auf den Inhalt der Mitteilung auf jedes einzelne Wort zu konzentrieren.
+dysorthographia_paragraph_1=Zu typischen Fehlern gehören das Auslassen von Wörtern, das Verwechseln ähnlich klingender Buchstaben und Laute oder das Vertauschen von Lauten in Wörtern, sodass sie nicht mehr erkennbar sind. Betroffene können manchmal den richtigen Laut „nicht hören“ oder haben Probleme dabei, sich bewusst zu machen, aus welchen Lauten sich ein Wort zusammensetzt, obwohl das Wort als Ganzes gehört und verstanden wird. Ein weiteres Symptom der Rechtschreibschwäche ist die fehlerhafte Anwendung der Rechtschreibregeln. Betroffene können die Regel oftmals genau erklären, wenn es jedoch darum geht einen komplexen Satz zu schreiben, werden bei der Anwendung der eben noch korrekt erklärten Regel Fehler gemacht. Wie auch bei den anderen beschriebenen Lernschwächen hängen auch die im Rahmen einer Rechtschreibschwäche auftretenden Probleme nicht mit dem Intellekt zusammen. Um Verbesserungen zu erzielen ist es auch hier wichtig, sich bewusst zu machen, welche Bedingungen für die betroffene Person am förderlichsten sind. Oft hilft genügend Zeit und Ruhe für die Arbeit, manchmal auch Schreiben am Computer mit aktivierter Autokorrektur. Man sollte auch lernen, die eigenen Texte sorgfältig kontrollieren zu können und wissen, welchem Bereich man größere Aufmerksamkeit widmen muss. In Fällen, in denen der Inhalt der Mitteilung sehr wichtig ist, lohnt es sich den Text von einer anderen Person auf Fehler kontrollieren zu lassen, weil Betroffene diese oft „nicht sehen“. Ein anderer Trick ist, den Text von hinten zu lesen, sodass man die Wörter liest wie sie geschrieben sind, beginnend vom Ende des Satzes. Diese Methode ermöglicht es, sich anstatt auf den Inhalt der Mitteilung auf jedes einzelne Wort zu konzentrieren.
 
 dysorthographia_hint_text=Lass wichtige Texte, die du geschrieben hast, immer von jemandem Korrektur lesen!
 
 #    <!-- Memory -->
 memory=Gedächtnis
-memory_definition=Das Gedächtnis setzt sich aus verschiedenen Gedächtnisarten zusammen, die unterschiedliche Aufgaben haben. Es sind z.B. andere Strukturen beim Erinnern von Urlaubserlebnissen, als beim Lernen wie man Fahrrad fährt, oder beim Einprägen von Vokabeln im Einsatz.
+memory_definition=Das Gedächtnis setzt sich aus verschiedenen Gedächtnisarten zusammen, die unterschiedliche Aufgaben haben. Es sind z.B. andere Strukturen im Einsatz beim Erinnern von Urlaubserlebnissen, als beim Lernen wie man Fahrrad fährt, oder beim Einprägen von Vokabeln.
 
 memory_paragraph_1=Bei Menschen mit Lese- und Rechtschreibschwäche sind manchmal eine oder mehrere Gedächtnisarten geschwächt. Glücklicherweise können wir schwächere Gedächtnisformen mit der Leistung besser funktionierender ausgleichen! Zusätzlich gibt es einige nützliche Tipps und Tricks, die man anwenden kann, um sich das Merken und Erinnern zu erleichtern (z.B. sich Notizen auf Post-its zu machen, um Wichtiges nicht zu vergessen). \n\nSchauen wir uns einige Gedächtnisarten genauer an:
 Schauen wir uns einige Gedächtnisarten genauer an:
@@ -44,33 +44,33 @@ memory_short_term=Kurzzeitgedächtnis
 
 memory_short_term_definition=Im Kurzzeitgedächtnis speichern wir frisch aufgenommene Informationen kurzzeitig ab.
 
-memory_short_term_paragraph_1=Kinder und Jugendliche brauchen es beispielsweise um sich während der Stunde zu merken, welche Seite im Lehrbuch sie aufschlagen und welche Übung sie bearbeiten sollen. Bei manchen Menschen, auch bei einigen die nicht unter einer Lese- und Rechtschreibschwäche leiden, ist das Kurzzeitgedächtnis geschwächt. Sie vergessen die darin gespeicherten Informationen schnell wieder, in der Regel noch bevor sie sie benutzen konnten. Ein Beispiel wäre, dass sie, bevor sie das Lehrbuch aufschlagen, nicht mehr wissen, welche Übung sie machen sollen. Das Funktionieren des Kurzzeitgedächtnisses ist auch deshalb so wichtig, da nur Informationen, die wir hier aufnehmen konnten, später in das Langzeitgedächtnis, welches dem Speichern von Informationen für eine (lebens-) lange Zeit dient, übergeführt werden können.
+memory_short_term_paragraph_1=Kinder und Jugendliche brauchen es beispielsweise um sich während der Stunde zu merken, welche Seite im Lehrbuch sie aufschlagen und welche Übung sie bearbeiten sollen. Bei einigen Menschen, auch bei manchen die nicht unter einer Lese- und Rechtschreibschwäche leiden, ist das Kurzzeitgedächtnis geschwächt. Sie vergessen die darin gespeicherten Informationen schnell wieder, in der Regel noch bevor sie sie benutzen konnten. Ein Beispiel wäre, dass sie, bevor sie das Lehrbuch aufschlagen, nicht mehr wissen, welche Übung sie machen sollen. Das Funktionieren des Kurzzeitgedächtnisses ist auch deshalb so wichtig, da nur Informationen, die wir hier aufnehmen konnten, später in das Langzeitgedächtnis, welches dem Speichern von Informationen über eine (lebens-) lange Zeit dient, übergeführt werden können.
 
 memory_short_term_paragraph_2=Wir können Techniken erlernen, die es uns ermöglichen, die Menge an Informationen, die im Kurzzeitgedächtnis aufgenommen wird, zu erhöhen. Als Stütze ist es auch ratsam, sich wichtige Informationen aufzuschreiben, sie öfter zu wiederholen oder sie sich so oft anzusehen, bis man sie sich gemerkt hat.
 
-memory_short_term_hint_text=Schreibe dir Dinge, die du dir schwer merken kannst, gleich auf! (benutze ein "externes Gedächtnis").
+memory_short_term_hint_text=Schreibe dir Dinge, die du dir schwer merken kannst, gleich auf! (benutze ein „externes Gedächtnis“).
 
 memory_working=Arbeitsgedächtnis
 
 memory_working_definition=Das Arbeitsgedächtnis brauchen wir, wenn wir eine Tätigkeit oder, wie schon der Begriff sagt, Arbeit, ausführen wollen.
 
-memory_working_paragraph_1=Es werden darin Informationen aus dem Lang- und Kurzzeitgedächtnis kombiniert. Ein Beispiel für eine Aufgabe, bei der das Arbeitsgedächtnis zum Einsatz kommt, ist die Berechnung eines etwas komplizierteren mathematischen Beispiels wie (35x7). Wir müssen die Rechnung in mehrere Schritte teilen und uns dabei die ursprüngliche Aufgabenstellung, sowie Zwischenergebnisse merken. Außerdem müssen wir uns das Einmaleins und die benötigten Rechenschritte ins Gedächtnis rufen. Einem Menschen mit geschwächtem Arbeitsgedächtnis kann es z.B. passieren, dass er das Ergebnis der vorherigen Teilrechnung von 7x30 vergisst, bevor er dazu kommt 5x7 auszurechnen. Ein weiteres Beispiel ist das Aufschreiben von Notizen während die Lehrperson etwas erklärt. Wir müssen uns merken, was sie gesagt hat und zur selben Zeit wahrnehmen, was sie im Moment sagt. Gleichzeitig müssen wir beim Schreiben auch noch darauf achten, die Rechtschreibregeln richtig anzuwenden.
+memory_working_paragraph_1=Es werden darin Informationen aus dem Lang- und Kurzzeitgedächtnis kombiniert. Ein Beispiel für eine Aufgabe, bei der das Arbeitsgedächtnis zum Einsatz kommt, ist die Berechnung eines etwas komplizierteren mathematischen Beispiels wie 35 mal 7. Wir müssen die Rechnung in mehrere Schritte teilen und uns dabei die ursprüngliche Aufgabenstellung, sowie Zwischenergebnisse merken. Außerdem müssen wir uns das Einmaleins und die benötigten Rechenschritte ins Gedächtnis rufen. Einem Menschen mit geschwächtem Arbeitsgedächtnis kann es z.B. passieren, dass er das Ergebnis der vorherigen Teilrechnung von 7 mal 30 vergisst, bevor er dazu kommt 5 mal 7 auszurechnen. Ein weiteres Beispiel ist das Aufschreiben von Notizen während die Lehrperson etwas erklärt. Wir müssen uns merken, was sie gesagt hat und zur selben Zeit wahrnehmen, was sie im Moment sagt. Gleichzeitig müssen wir beim Schreiben auch noch darauf achten, die Rechtschreibregeln richtig anzuwenden.
 
 memory_working_paragraph_2=Da einige von einer Lese- und Rechtschreibschwäche betroffene Personen Schwierigkeiten mit diesem Gedächtnisbereich haben, ist es für sie wichtig, das Arbeitsgedächtnis gezielt zu trainieren (siehe Aktivitäten im Spiel). Zusätzlich dazu ist es erleichternd und sinnvoll, Hilfsmittel zu benützen, z.B. sich Zwischenschritte beim Abarbeiten einer komplizierten Aufgabe zu notieren.
 
-memory_working_hint_text=Trainiere schrittweise zu arbeiten! Bevor du beginnst etwas zu machen, sage und schreibe dir auf, was du alles machen musst. Ordne die Schritte mit: "Erstens…", "Zweitens…", "Drittens…" usw.
+memory_working_hint_text=Trainiere schrittweise zu arbeiten! Bevor du beginnst etwas zu machen, sage und schreibe dir auf, was du alles machen musst. Ordne die Schritte mit: „Erstens…“, „Zweitens…“, „Drittens…“ usw.
 
 memory_auditory=Auditives Kurzzeitgedächtnis
 
 memory_auditory_definition=Hierbei handelt es sich um eine Art des Kurzzeitgedächtnisses, in der gehörte Informationen aufgenommen und abgespeichert werden.
 
-memory_auditory_paragraph_1=Bei einigen Personen mit "Lese- und Rechtschreibschwäche" ist diese Art des Kurzzeitgedächtnisses geschwächt. Wie bei den anderen Gedächtnisformen ist auch hier gezieltes Training möglich, das sinnvoll durch Stützen im Alltag ergänzt werden kann, wie z.B. dem Aufschreiben gehörter Informationen, damit diese gleichzeitig auch visuell aufgenommen werden können. Man nennt dies "Visualisierung des Gehörten", wobei man hierbei Informationen durch Aufzeichnen oder Aufschreiben für die Augen wahrnehmbar macht, oder sie sich einfach bildlich vorstellt. Ein weiterer Tipp sich das Merken zu erleichtern ist, Zusammenhänge zwischen den Inhalten zu bilden. So können wir die gehörten Informationen miteinander verbinden, indem wir sie z.B. in Gruppen ordnen. Beim Auswendiglernen von Informationen, die nicht miteinander in Verbindung gebracht wurden, wie beispielsweise einer Einkaufsliste oder einer Telefonnummer, treten oft größere Merkprobleme auf.
+memory_auditory_paragraph_1=Bei einigen Personen mit Lese- und Rechtschreibschwäche ist diese Art des Kurzzeitgedächtnisses geschwächt. Wie bei den anderen Gedächtnisformen ist auch hier gezieltes Training möglich, das sinnvoll durch Stützen im Alltag ergänzt werden kann, wie z.B. dem Aufschreiben gehörter Informationen, damit diese gleichzeitig auch visuell aufgenommen werden können. Man nennt dies „Visualisierung des Gehörten“, wobei man hierbei Informationen durch Aufzeichnen oder Aufschreiben für die Augen wahrnehmbar macht, oder sie sich einfach bildlich vorstellt. Ein weiterer Tipp sich das Merken zu erleichtern ist, Zusammenhänge zwischen den Inhalten zu bilden. So können wir die gehörten Informationen miteinander verbinden, indem wir sie z.B. in Gruppen ordnen. Beim Auswendiglernen von Informationen, die nicht miteinander in Verbindung gebracht wurden, wie beispielsweise einer Einkaufsliste oder einer Telefonnummer, treten oft größere Merkprobleme auf.
 
-memory_auditory_hint_text=Wenn du dir Wörter nicht merken kannst, versuche dir die Informationen auch als Bilder, Zeichen, Farben o. Ä. einzuprägen - vielleicht kannst du sie dir dann besser merken.
+memory_auditory_hint_text=Wenn du dir Wörter nicht merken kannst, versuche dir die Informationen auch als Bilder, Zeichen, Farben oder Ähnliches einzuprägen vielleicht kannst du sie dir dann besser merken.
 
 memory_visual=Visuelles Kurzzeitgedächtnis
 
-memory_visual_definition=Hierbei handelt es sich um die Art des Kurzzeitgedächtnisses, die gesehene Informationen aufnimmt und verarbeitet.
+memory_visual_definition=Hierbei handelt es sich um eine Art des Kurzzeitgedächtnisses, die gesehene Informationen aufnimmt und verarbeitet.
 
 memory_visual_paragraph_1=Sie ist bei Menschen mit Lese- und Rechtschreibschwäche nicht so häufig geschwächt wie das auditive Gedächtnis, kann jedoch auch beeinträchtigt sein. Es ist deshalb hilfreich, alles, was wir uns merken müssen, nicht nur zu hören, sondern auch in irgendeiner Form veranschaulicht zu sehen, egal ob es sich um Bilder, einen zusammenhängenden Text, Grafiken, Tabellen, Skizzen, Symbole oder etwas Ähnliches handelt.
 
@@ -81,9 +81,9 @@ spatial_orientation=Raumorientierung
 
 spatial_orientation_definition=Sich im Raum orientieren zu können bedeutet, sich bewusst zu sein, wo links, rechts, oben und unten ist.
 
-spatial_orientation_paragraph_1=Manche Menschen, die unter einer Lese-und Rechtschreibschwäche leiden, haben in diesem Bereich Schwierigkeiten. Diese können sich auf verschiedene Weise äußern, z.B. in Problemen, schnell die Richtung zu bestimmen, im Vergessen wo man das Auto geparkt hat oder in Zuspätkommen, weil man sich den Weg nicht gemerkt und sich verlaufen hat. Die räumliche Orientierung ist aber nicht nur wichtig, um sich in der eigenen Umgebung zurechtzufinden; man braucht sie auch um sich beim Lesen eines Texts (wir lesen immer von links nach rechts, nicht von rechts nach links!) und beim Schreiben (wir schreiben von links nach rechts) orientieren zu können. Eine geschwächte Raumwahrnehmung kann man aber zum Glück trainieren, egal wie schlecht sie ausgeprägt sein mag! Mit etwas Fleiß, Übung und dem gezielten Nachdenken über den Raum um uns herum, ist dies auf jeden Fall schaffbar! Allerdings muss man sich auch dafür entscheiden, etwas machen zu wollen; wenn man aufgibt und zu dem Entschluss kommt eben "keine Raumorientierung zu haben" oder "sich eben nicht orientieren zu können", wird sich nicht viel ändern.
+spatial_orientation_paragraph_1=Einige Menschen, die unter einer Lese- und Rechtschreibschwäche leiden, haben in diesem Bereich Schwierigkeiten. Diese können sich auf verschiedene Weise äußern, z.B. in Problemen, schnell die Richtung zu bestimmen, im Vergessen wo man das Auto geparkt hat oder in Zuspätkommen, weil man sich den Weg nicht gemerkt und sich verlaufen hat. Die räumliche Orientierung ist aber nicht nur wichtig, um sich in der eigenen Umgebung zurechtzufinden; man braucht sie auch um sich beim Lesen eines Texts (wir lesen immer von links nach rechts, nicht von rechts nach links!) und beim Schreiben (wir schreiben von links nach rechts) orientieren zu können. Eine geschwächte Raumwahrnehmung kann man aber zum Glück trainieren, egal wie schlecht sie ausgeprägt sein mag! Mit etwas Fleiß, Übung und dem gezielten Nachdenken über den Raum um uns herum, ist dies auf jeden Fall schaffbar! Allerdings muss man sich auch dafür entscheiden, etwas machen zu wollen; wenn man aufgibt und zu dem Entschluss kommt eben „keine Raumorientierung zu haben“ oder „sich eben nicht orientieren zu können“, wird sich nicht viel ändern.
 
-spatial_orientation_paragraph_2=Zu den einfachsten Trainingsmethoden gehört eine gezielte Suche nach Punkten und Orten in der Umgebung, die es ermöglicht, sich zu merken wohin man  geht und was in der Umgebung war. Es ist allerdings wichtig, die Aufmerksamkeit gezielt auf diese Punkte zu richten! Ein hilfreicher Trick zur Richtungsbestimmung (links, rechts) ist es, ein Armband oder eine Uhr immer am rechten (oder linken) Arm zu tragen, so weiß man immer welches die rechte (bzw. die linke) Seite ist.
+spatial_orientation_paragraph_2=Zu den einfachsten Trainingsmethoden gehört eine gezielte Suche nach Punkten und Orten in der Umgebung, die es ermöglicht, sich zu merken wohin man geht und was in der Umgebung war. Es ist allerdings wichtig, die Aufmerksamkeit gezielt auf diese Punkte zu richten! Ein hilfreicher Trick zur Richtungsbestimmung (links, rechts) ist es, ein Armband oder eine Uhr immer am rechten (oder linken) Arm zu tragen, so weiß man immer welches die rechte (bzw. die linke) Seite ist.
 
 spatial_orientation_hint_text=Wenn du irgendwohin gehst, achte immer auf die Orientierungspunkte, die du dir ausgesucht hast. Das kann zum Beispiel der Supermarkt an der Ecke oder ein bestimmtes Haus sein.
 
@@ -94,7 +94,7 @@ seriality_definition=Als Serialität bezeichnen wir die Fähigkeit, eine Reihenf
 
 seriality_paragraph_1=Wir verwenden sie z.B. beim Festlegen von Arbeitsschritten, beim Lösen bestimmter Aufgaben oder wenn wir jemandem einen Vorgang beschreiben. Die Fähigkeit zur Serialität ist wichtig für eine genaue Arbeitsweise und sorgt dafür, dass wir beim Planen nichts vergessen und eine Arbeit bis zum Ende abschließen können.
 
-seriality_paragraph_2=Von visueller Serialität spricht man, wenn es darum geht sich eine Reihe von sichtbaren Informationen merken und beschreiben zu können (z.B. jemandem eine vorgezeigte Turnübung nachmachen zu können, ohne einen Schritt zu vergessen).
+seriality_paragraph_2=Von visueller Serialität spricht man, wenn es darum geht sich eine Reihe von sichtbaren Informationen merken und beschreiben zu können (z.B. jemandem eine vorgezeigte Turnübung nachmachen zu können, ohne dabei etwas zu vergessen).
 
 seriality_paragraph_3=Von akustischer Serialität spricht man hingegen, wenn es darum geht, gehörte Informationen über eine Reihenfolge wahrzunehmen. Diese beiden Formen werden oft gleichzeitig gebraucht. Es gibt auch andere, sehr anspruchsvolle, Formen von Serialität, bei denen es darum geht, gedankliche Prozesse, die weder sicht- noch hörbar sind, zu beschreiben.
 
@@ -107,30 +107,30 @@ auditory_distinction=Phonologische Bewusstheit
 
 auditory_distinction_definition=Akustische Unterscheidung beschreibt die Fähigkeit, sich die Unterschiede ähnlich klingender Laute, Wörter und weiterer Geräusche bewusst zu machen.
 
-auditory_distinction_paragraph_1=Diese Fähigkeit wird schrittweise schon im Vorschulalter entwickelt und ist essentiell um Laute in den Wörtern richtig bestimmen zu können, was eine Voraussetzung für das Lesen Lernen ist. Kinder sollten am Anfang der ersten Klasse die Wörter in Einzelsilben aussprechen, die ersten und die letzten Laute der Wörter bestimmen, die Länge der Laute erkennen und ähnlich klingende Wörter unterscheiden können. Das alles gehört zur Kategorie der sogenannten phonologischen Bewusstheit. Diese Fähigkeit stellt eine wesentliche Voraussetzung für den Erwerb der sprachlichen Kulturtechniken, dem Lesen und Schreiben, dar.  Zu Beginn des Lese- und Rechtschreiblernprozesses bereitet sie Kindern oft noch große Schwierigkeiten und ist bei Personen mit Lese-und Rechtschreibschwäche häufig geschwächt. Deshalb lernen Kinder mit Lese- und Rechtschreibschwäche in der Grundschule Worte zu buchstabieren und auf verschiedene Arten mit den Lauten zu arbeiten.
+auditory_distinction_paragraph_1=Diese Fähigkeit wird schrittweise schon im Vorschulalter entwickelt und ist essentiell um Laute in den Wörtern richtig bestimmen zu können, was eine Voraussetzung für das Lesen Lernen ist. Kinder sollten am Anfang der ersten Klasse die Wörter in Einzelsilben aussprechen, die ersten und die letzten Laute der Wörter bestimmen, die Länge der Laute erkennen und ähnlich klingende Wörter unterscheiden können. Das alles gehört zur Kategorie der sogenannten phonologischen Bewusstheit. Diese Fähigkeit stellt eine wesentliche Voraussetzung für den Erwerb der sprachlichen Kulturtechniken, dem Lesen und Schreiben, dar. Zu Beginn des Lese- und Rechtschreiblernprozesses bereitet sie Kindern oft noch große Schwierigkeiten und ist bei Personen mit Lese- und Rechtschreibschwäche häufig geschwächt. Deshalb lernen Kinder mit Lese- und Rechtschreibschwäche in der Grundschule Worte zu buchstabieren und auf verschiedene Arten mit den Lauten zu arbeiten.
 
-auditory_distinction_paragraph_2=Probleme äußern sich oft so, dass Betroffene, obwohl sie völlig fehlerfrei hören, den Unterschied nicht automatisch erkennen können, wenn es auf die genaue Bestimmung ähnlich klingender Klänge und Töne ankommt. Das Gleiche passiert beim Bewusstmachen von Lauten in Worten - das Wort als Ganzes wird perfekt wahrgenommen und verstanden, aber die genaue Bestimmung jedes einzelnen Lautes wird zum Problem. Die phonologische Bewusstheit lässt sich meist gut durch Training verbessern. Wenn sie jedoch noch nicht völlig für schnelles Lesen und Schreiben automatisiert wurde, können immer noch Fehler auftreten.  Eine wichtige Maßnahme, die die Arbeit erleichtern kann, ist, sich genügend Zeit zu nehmen, damit man in Ruhe überlegen kann, wie ein Wort gelesen oder geschrieben wird.
+auditory_distinction_paragraph_2=Probleme äußern sich oft so, dass Betroffene, obwohl sie völlig fehlerfrei hören, den Unterschied nicht automatisch erkennen können, wenn es auf die genaue Bestimmung ähnlich klingender Klänge und Töne ankommt. Das Gleiche passiert beim Bewusstmachen von Lauten in Worten - das Wort als Ganzes wird perfekt wahrgenommen und verstanden, aber die genaue Bestimmung jedes einzelnen Lautes wird zum Problem. Die phonologische Bewusstheit lässt sich meist gut durch Training verbessern. Wenn sie jedoch noch nicht völlig für schnelles Lesen und Schreiben automatisiert wurde, können immer noch Fehler auftreten. Eine wichtige Maßnahme, die die Arbeit erleichtern kann, ist, sich genügend Zeit zu nehmen, damit man in Ruhe überlegen kann, wie ein Wort gelesen oder geschrieben wird.
 
 auditory_distinction_hint_text=Beobachte dich selbst! Beobachte, wann du am besten lernst (je nach Tageszeit, Lernstoff, Anwesenheit anderer Personen oder Ähnlichem) Nutze ein solches Vorgehen dann bei der Vorbereitung für die Schule so viel wie möglich.
 
 #    <!--Specific learning disabilities-->
 specific_learning_disabilities=Lernstörungen
 
-specific_learning_disabilities_definition=Der Begriff "Lernstörungen" fasst verschiedene spezifische Lernstörungen, wie Dyslexie, Dysgraphie, Dysorthographie, Dyskalkulie  und einige weitere, seltenere Formen von Bildungsschwierigkeiten wie zum Beispiel Dyspraxie, also Bewegungsschwierigkeiten, zusammen.
+specific_learning_disabilities_definition=Der Begriff „Lernstörungen“ fasst verschiedene spezifische Lernstörungen, wie Dyslexie, Dysgraphie, Dysorthographie, Dyskalkulie und einige weitere, seltenere Formen von Bildungsschwierigkeiten wie zum Beispiel Dyspraxie, also Bewegungsschwierigkeiten, zusammen.
 
-specific_learning_disabilities_paragraph_1=Im Alltag werden für diese Störungen oft andere Bezeichnungen verwendet, wie Leseschwäche für Dyslexie, Schreibschwäche für Dysgraphie, Rechtschreibschwäche für Dysorthographie, und Rechenschwäche für Dyskalkulie. \n\nMenschen, die unter einer dieser Schwächen leiden, haben manchmal auch Symptome anderer Lernschwächen. Es kann zum Beispiel  sein, dass eine Person, die Dyslexie hat, auch eine Schreib- oder Rechtschreibschwäche hat. Eine Kombination dieser beiden Lernstörungen nennt man im Alltag "Legasthenie" beziehungsweise  "Lese-Rechtschreibschwäche". Um wirklich von einer diagnostizierten "Störung" sprechen zu können, werden von Psychologinnen und Psychologen Tests durchgeführt und Fragen zur Beschulung, Lernmöglichkeiten und so weiter gestellt. Sind die Kriterien laut ICD-10, dem internationalen Klassifikationssystem für  Krankheiten und Gesundheitsprobleme der Weltgesundheitsorganisation erfüllt, spricht man von einer bestimmten "Störung". Eine ärztliche und psychologische Abklärung bei vorhandenen Problemen ist sinnvoll, um das Problem konkret benennen und andere Ursachen (wie zum Beispiel eingeschränkte Seh- oder Hörleistung oder unzureichende Beschulung) ausschließen zu können. In weiterer Folge wird in diesem Text somit nicht mehr der Begriff "Störung" (zum Beispiel Lese-Rechtschreibstörung) verwendet, sondern der Begriff "Schwäche", da für das Vorhandensein von Lernstörungen, wie erwähnt, bestimmte Kriterien erfüllt sein müssen. \n\nAußerdem ist ein Nachteil des Begriffes "Lernstörung", dass er meist eine negative Etikettierung der Betroffenen mit sich bringt. Wir legen jedoch Wert darauf, Menschen mit Lernschwierigkeiten nicht als "gestört" zu klassifizieren, sondern sie in ihren Bedürfnissen unter anderen Arbeitsbedingungen zu lernen, wahrzunehmen. Jeder Mensch lernt auf unterschiedliche Art, hat individuelle Stärken und Schwächen. Eine "Lernstörung" hat außerdem nichts mit verminderter Intelligenz zu tun. Betroffene Menschen verfügen über eine normale, manchmal auch überdurchschnittlich hohe Intelligenz! Ein weiterer Nachteil des Begriffs "Lernstörung" ist, dass er oft zu sehr mit dem schulischen Umfeld assoziiert wird. Das kann dazu führen, dass die Tatsache, dass sich die Probleme auch auf außerschulische Tätigkeiten auswirken und bis ins Erwachsenenalter andauern können, aus dem Bewusstsein gerät.
+specific_learning_disabilities_paragraph_1=Im Alltag werden für diese Störungen oft andere Bezeichnungen verwendet, wie Leseschwäche für Dyslexie, Schreibschwäche für Dysgraphie, Rechtschreibschwäche für Dysorthographie, und Rechenschwäche für Dyskalkulie. \n\nMenschen, die unter einer dieser Schwächen leiden, haben manchmal auch Symptome anderer Lernschwächen. Es kann zum Beispiel sein, dass eine Person die Dyslexie hat, auch eine Rechtschreibschwäche hat. Eine Kombination dieser beiden Lernstörungen nennt man im Alltag „Legasthenie“ beziehungsweise Lese- und Rechtschreibschwäche. Um wirklich von einer diagnostizierten Störung sprechen zu können, werden von Psychologinnen und Psychologen Tests durchgeführt und Fragen zur Beschulung, Lernmöglichkeiten und so weiter gestellt. Sind die Kriterien laut ICD-10, dem internationalen Klassifikationssystem für Krankheiten und Gesundheitsprobleme der Weltgesundheitsorganisation erfüllt, spricht man von einer bestimmten Störung. Eine ärztliche und psychologische Abklärung bei vorhandenen Problemen ist sinnvoll, um das Problem konkret benennen und andere Ursachen (wie zum Beispiel eingeschränkte Seh- oder Hörleistung oder unzureichende Beschulung) ausschließen zu können. In weiterer Folge wird in diesem Text somit nicht mehr der Begriff Störung (zum Beispiel Lese-Rechtschreibstörung) verwendet, sondern der Begriff Schwäche, da für das Vorhandensein von Lernstörungen, wie erwähnt, bestimmte Kriterien erfüllt sein müssen. \n\nAußerdem ist ein Nachteil des Begriffes „Lernstörung“, dass er meist eine negative Etikettierung der Betroffenen mit sich bringt. Wir legen jedoch Wert darauf, Menschen mit Lernschwierigkeiten nicht als „gestört“ zu klassifizieren, sondern sie in ihren Bedürfnissen nach für sie passenden Arbeitsbedingungen wahrzunehmen. Jeder Mensch lernt auf unterschiedliche Art und Weisen, und hat individuelle Stärken und Schwächen. Eine „Lernstörung“ hat außerdem nichts mit verminderter Intelligenz zu tun. Betroffene Menschen verfügen über eine normale, manchmal auch überdurchschnittlich hohe Intelligenz! Ein weiterer Nachteil des Begriffs „Lernstörung“ ist, dass er oft zu sehr mit dem schulischen Umfeld assoziiert wird. Das kann dazu führen, dass die Tatsache, dass sich die Probleme auch auf außerschulische Tätigkeiten auswirken und bis ins Erwachsenenalter andauern können, aus dem Bewusstsein gerät.
 
-specific_learning_disabilities_hint_text=Hast du im Deutschunterricht eine Pflichtlektüre? Lies das Buch als E-Book auf einem E-Reader (da kannst du einfach die Schriftgröße und die Textmenge auf der Seite einstellen) oder hol es dir als Audiobuch und "lies mit den Ohren" über MP3.
+specific_learning_disabilities_hint_text=Hast du im Deutschunterricht eine Pflichtlektüre? Lies das Buch als E-Book auf einem E-Reader (da kannst du einfach die Schriftgröße und die Textmenge auf der Seite einstellen) oder hol es dir als Audiobuch und „lies mit den Ohren“ über MP3.
 
 #    <!--Introduction-->
 introduction=Einleitung
-introduction_paragraph_1=In der Enzyklopädie werden der Begriff "Lese- und Rechtschreibschwäche", sowie ähnliche Lernschwierigkeiten, beschrieben und erklärt. Bei jedem Begriff sind ein bis zwei Sätze fett markiert. Wenn du nicht den ganzen Text lesen möchtest, lies einfach diese Zusammenfassungen. Wenn du mehr Informationen haben möchtest, lies auch den Rest des Textes, der dabei steht. Du kannst dir den Text auch von jemandem vorlesen lassen und ihr könnt die Bedeutung der Begriffe gemeinsam besprechen!
+introduction_paragraph_1=In der Enzyklopädie werden der Begriff Lese- und Rechtschreibschwäche, sowie ähnliche Lernschwierigkeiten, beschrieben und erklärt. Bei jedem Begriff sind ein bis zwei Sätze fett markiert. Wenn du nicht den ganzen Text lesen möchtest, lies einfach diese Zusammenfassungen. Wenn du mehr Informationen haben möchtest, lies auch den Rest des Textes, der dabei steht. Du kannst dir den Text auch von jemandem vorlesen lassen und ihr könnt die Bedeutung der Begriffe gemeinsam besprechen!
 
 #    <!--Famous dyslectics-->
-famous_dyslectics=Berühmte Menschen mit Lese-und Rechtschreibschwäche
+famous_dyslectics=Berühmte Menschen mit Lese- und Rechtschreibschwäche
 famous_dyslectics_paragraph_1=Wie alle Menschen haben auch Menschen mit Lese- und/oder Rechtschreibschwäche Stärken und Schwächen. Wichtig ist es, sich diese bewusst zu machen und sich nicht nur auf seine Schwächen zu konzentrieren. Viele berühmte Persönlichkeiten haben es trotz ihrer Lernschwäche zu beachtlichen Leistungen gebracht. Es ist wichtig, an seinen Schwächen zu arbeiten. Genauso wichtig ist es aber auch, über seine Stärken Bescheid zu wissen und diese Fähigkeiten zu nutzen.
 
-famous_dyslectics_paragraph_2=Zur Inspiration führen wir eine Liste einiger berühmter Menschen mit Lese-und Rechtschreibschwäche an:
+famous_dyslectics_paragraph_2=Zur Inspiration führen wir eine Liste einiger berühmter Menschen mit Lese- und Rechtschreibschwäche an:
 
 famous_dyslectics_person_1=Albert Einstein (Entdecker der Relativitätstheorie)
 famous_dyslectics_person_2=Bill Gates (Gründer von Microsoft und drittreichster Mensch der Welt)
@@ -149,10 +149,9 @@ visual_distinction=Visuelle Unterscheidung
 
 visual_distinction_definition=Bei visueller Unterscheidung handelt es sich um das Gegenstück zur akustischen Unterscheidung. Sie bezeichnet die Fähigkeit, ähnlich aussehende Symbole und Merkmale zu unterscheiden.
 
-visual_distinction_paragraph_1=Bereits im Vorschulalter werden wesentliche Entwicklungsschritte vollzogen, die eine normale Entwicklung dieser Fähigkeit ermöglichen. Bei gelungener Entwicklung können Kinder sie nach der Einschulung gut benutzen, wenn sie Lesen, Schreiben und Rechnen lernen. Eine geschwächte visuelle Unterscheidung kann zur Verwechslung ähnlicher Zeichen oder Bilder führen und damit auch zur Verwechslung ähnlicher Buchstaben, wie z.B. b/d/p, u/n, a/e/o, s/z u.a. Bei den Verwechslungen geht es immer nur um ein geringes Detail das anders dargestellt oder an anderer Stelle platziert ist, dennoch machen sie einen grundlegenden Unterschied aus.
+visual_distinction_paragraph_1=Bereits im Vorschulalter werden wesentliche Entwicklungsschritte vollzogen, die eine normale Entwicklung dieser Fähigkeit ermöglichen. Bei gelungener Entwicklung können Kinder sie nach der Einschulung gut benutzen, wenn sie Lesen, Schreiben und Rechnen lernen. Eine geschwächte visuelle Unterscheidung kann zur Verwechslung ähnlicher Zeichen oder Bilder führen und damit auch zur Verwechslung ähnlicher Buchstaben, wie z.B. b/d/p, u/n, a/e/o, s/z. Bei den Verwechslungen geht es immer nur um ein geringes Detail das anders dargestellt oder an anderer Stelle platziert ist, dennoch machen sie einen grundlegenden Unterschied aus.
 
-visual_distinction_paragraph_2=Ähnliche Probleme können z.B. bei der Bestimmung der Fahrtrichtung auftreten wenn es um die Unterscheidung von sehr ähnlich aussehenden Pfeilen geht, die in verschiedene Richtungen zeigen, oder bei der Bestimmung ähnlicher Produktmarken im Geschäft.
-Genau wie die akustische Unterscheidung kann die visuelle Unterscheidung trainiert werden, was meist bereits in der Grundschule passiert.
+visual_distinction_paragraph_2=Ähnliche Probleme können z.B. bei der Bestimmung der Fahrtrichtung auftreten wenn es um die Unterscheidung von sehr ähnlich aussehenden Pfeilen geht, die in verschiedene Richtungen zeigen, oder bei der Bestimmung ähnlicher Produktmarken im Geschäft. Genau wie die akustische Unterscheidung kann die visuelle Unterscheidung trainiert werden, was meist bereits in der Grundschule passiert.
 
 visual_distinction_hint_text=Nutze beim Lernen so viele Sinne wie möglich! Finde von dem, worüber man spricht, ein Bild. Wenn möglich, fasse es an, bewege es, schreibe es selbst auf oder zeichne es.
 
@@ -161,10 +160,10 @@ verbal_skills=Sprachliche Ausdrucksfähigkeit
 
 verbal_skills_definition=Das Ausdrücken von Gedanken, das Sprechen in ganzen zusammenhängenden Sätzen, die Fertigkeit, anderen ein Problem oder Arbeitsvorgehen zu erklären, das Vortragen vor anderen Menschen – all das gehört zur sprachlichen Ausdrucksfähigkeit.
 
-verbal_skills_paragraph_1=Menschen unterscheiden sich in ihren sprachlichen Fähigkeiten - einige haben einen sehr reichen Wortschatz und können lange und in sehr komplexen Sätzen reden. Wenn solche Menschen eine Rede halten, kann man dieser oft gut folgen, weil sie fließend ist, Wörter und Sätze angenehm betont sowie unterschiedliche Wortwendungen benutzt werden. Andere Menschen können einen sehr reichen Wortschatz haben und ihre Worte sehr gut zu Papier bringen, beim Sprechen vor anderen kommen sie jedoch ins Stocken. Wieder andere sind im Reden sehr unerfahren und schaffen das Zusammenfassen der Wörter zu kohärenten Sätzen nur mit Schwierigkeiten.
+verbal_skills_paragraph_1=Menschen unterscheiden sich in ihren sprachlichen Fähigkeiten - einige haben einen sehr reichen Wortschatz und können lange und in sehr komplexen Sätzen reden. Wenn solche Menschen eine Rede halten, kann man dieser oft gut folgen, weil sie fließend ist, Wörter und Sätze angenehm betont sowie unterschiedliche Wortwendungen benutzt werden. Andere Menschen können einen sehr reichen Wortschatz haben und ihre Worte sehr gut zu Papier bringen, beim Sprechen vor anderen kommen sie jedoch ins Stocken. Wieder andere sind im Reden sehr unerfahren und schaffen das Zusammenfassen der Wörter zu kohärenten (zusammenhängenden) Sätzen nur mit Schwierigkeiten.
 
 verbal_skills_paragraph_2=Ein wichtiger Ausgangspunkt für gute sprachliche Fähigkeiten ist ein reicher Wortschatz. Diesen gewinnen wir, wenn wir lesen (auch mit Audiobüchern oder E-Readern), ins Theater gehen, Filme anschauen und uns mit anderen Menschen unterhalten.
 
-verbal_skills_paragraph_3=Bei Menschen mit einer Lese-und Rechtschreibschwäche sind die sprachlichen Fähigkeiten manchmal nicht optimal ausgeprägt und zwar insbesondere dann, wenn ihre Probleme beim Lesen sich mit Schwierigkeiten beim Sprechen verbinden. Aber! - eine ziemlich große Anzahl von Menschen mit Lese-und Rechtschreibschwäche verfügt über sehr gut ausgeprägte sprachliche Fähigkeiten! Getreu dem Motto "Wenn man nicht lesen und schreiben kann, muss man eben reden", wurden ihre verbalen (also sprachlichen) Fähigkeiten ihre starke Seite. Sie können ausgezeichnet Reden halten, sich sehr genau äußern und werden von ihren Mitmenschen oft um diese Fähigkeiten beneidet. Für all jene, die verbale Probleme haben, gilt jedoch, dass sich, wie alle anderen in der Enzyklopädie beschriebenen Fähigkeiten, auch die verbalen trainieren lassen und trainiert werden sollten!
+verbal_skills_paragraph_3=Bei Menschen mit einer Lese- und Rechtschreibschwäche sind die sprachlichen Fähigkeiten manchmal nicht optimal ausgeprägt und zwar insbesondere dann, wenn ihre Probleme beim Lesen sich mit Schwierigkeiten beim Sprechen verbinden. Aber! - eine ziemlich große Anzahl von Menschen mit Lese- und Rechtschreibschwäche verfügt über sehr gut ausgeprägte sprachliche Fähigkeiten! Getreu dem Motto „Wenn man nicht lesen und schreiben kann, muss man eben reden“, wurden ihre verbalen (also sprachlichen) Fähigkeiten ihre starke Seite. Sie können ausgezeichnet Reden halten, sich sehr genau äußern und werden von ihren Mitmenschen oft um diese Fähigkeiten beneidet. Für all jene, die verbale Probleme haben, gilt jedoch, dass sich, wie alle anderen in der Enzyklopädie beschriebenen Fähigkeiten, auch die verbalen trainieren lassen und trainiert werden sollten!
 
-verbal_skills_hint_text=Wenn du dir beim Reden in der Öffentlichkeit nicht sicher bist (zum Beispiel bei einem Referat in der Klasse), trainiere es zu Hause vor dem Spiegel. Über deine Rede mehrmals, benutzen verschiedene Wörter und Redewendungen. Lerne vor allem nicht jedes Wort auswendig! Trage Anderen etwas vor, z.B. deinen Freunden, Eltern, Geschwistern oder Haustieren. Wenn du lernst, erkläre dir den Stoff laut oder erzähle jemandem davon.
+verbal_skills_hint_text=Wenn du dir beim Reden in der Öffentlichkeit nicht sicher bist (zum Beispiel bei einem Referat in der Klasse), trainiere es zu Hause vor dem Spiegel. Übe deine Rede mehrmals, benutze verschiedene Wörter und Redewendungen. Lerne vor allem nicht jedes Wort auswendig! Trage Anderen etwas vor, z.B. deinen Freunden, Eltern, Geschwistern oder Haustieren. Wenn du lernst, erkläre dir den Stoff laut oder erzähle jemandem davon.
diff --git a/android/assets/text/screen/encyclopedia/encyclopedia_sk.properties b/android/assets/text/screen/encyclopedia/encyclopedia_sk.properties
index 2d6fe0479a95c2d1d952eb5a4b1a9508c1a2e885..17bad7b6ac7449bdf562bf310c0db5ec92e617c1 100644
--- a/android/assets/text/screen/encyclopedia/encyclopedia_sk.properties
+++ b/android/assets/text/screen/encyclopedia/encyclopedia_sk.properties
@@ -113,7 +113,7 @@ specific_learning_disabilities_definition=Slovné spojenie, ktoré zahŕňa dysl
 
 specific_learning_disabilities_paragraph_1=Výhodou tohto označenia je, že spája všetky typy ťažkostí do jednej kategórie. Veľmi často sa totiž stáva, že človek, ktorý má dyslexiu, má tiež dysortografiu a dysgrafiu. Preto, keď v bežnej reči hovoríme o človeku s dyslexiou či o dyslektikovi, obvykle máme na mysli človeka, ktorý má problémy s čítaním a písaním.
 
-specific_learning_disabilities_paragraph_2=Nevýhodou tohto pojmu však je, že slovo učenie až príliš často asociuje školské prostredie a niekedy si preto neuvedomíme, že ťažkosti sa premietajú aj do mimoškolských, každodenných činností a pretrvávajú aj v dospelosti, keď už do žiadnej školy nechodíme. Okrem toho, označenie porucha neznie príliš pekne. O mnoho dôležitejšie je pristupovať k ľuďom s dyslexiou, dysgrafiou či dysortografiou ako k tým, ktorým sa učia sa pracujú inak. Nie sú "porušení" , iba potrebujú odlišné podmienky na prácu. A je predsa normálne, že každý sme iný.
+specific_learning_disabilities_paragraph_2=Nevýhodou tohto pojmu však je, že slovo učenie až príliš často asociuje školské prostredie a niekedy si preto neuvedomíme, že ťažkosti sa premietajú aj do mimoškolských, každodenných činností a pretrvávajú aj v dospelosti, keď už do žiadnej školy nechodíme. Okrem toho, označenie porucha neznie príliš pekne. O mnoho dôležitejšie je pristupovať k ľuďom s dyslexiou, dysgrafiou či dysortografiou ako k tým, ktorým sa učia sa pracujú inak. Nie sú "porušení", iba potrebujú odlišné podmienky na prácu. A je predsa normálne, že každý sme iný.
 
 specific_learning_disabilities_hint_text=Máš v slovenčine povinnú literatúru? Prečítaj si povinnú knihu ako e-knihu s použitím čítačky (ľahko si v nej nastavíš veľkosť písma aj množstvo textu na stránku) alebo si ju zožeň ako audioknihu a "čítaj ušami" pomocou MP3.
 
diff --git a/android/assets/text/screen/form/form_cs.properties b/android/assets/text/screen/form/form_cs.properties
index d6a6998ae1c422f3783172049f60124ae1bfaf21..a083803501b867f4c1e73e11c90f1790bb38c615 100644
--- a/android/assets/text/screen/form/form_cs.properties
+++ b/android/assets/text/screen/form/form_cs.properties
@@ -11,4 +11,5 @@ validation_signature=Podepiš se pomocí pera
 validation_age=Zadej svůj věk
 validation_stamp=Orazítkuj dokument
 validation_username_exists=Krycí jméno detektiva již existuje\! Zadejte jiné krycí jméno.
-user_uuid_description=Číslo průkazu
\ No newline at end of file
+user_uuid_description=Číslo průkazu
+user_uuid_error=Pro získání čísla průkazu je nutné se připojit k internetu.
diff --git a/android/assets/text/screen/form/form_de.properties b/android/assets/text/screen/form/form_de.properties
index 0b95b2dc7d4ece1141c3cf97ba04e1be08e92128..7fa0fd70385be087ba1204064fcac9bf309db63a 100644
--- a/android/assets/text/screen/form/form_de.properties
+++ b/android/assets/text/screen/form/form_de.properties
@@ -11,4 +11,5 @@ validation_signature=Unterschreibe dies mit dem Stift
 validation_age=Gib dein Alter ein
 validation_stamp=Stemple das Dokument ab
 validation_username_exists=Detective Decknamen existiert bereits\! Geben Sie einen anderen Decknamen.
-user_uuid_description=Ausweisnummer
\ No newline at end of file
+user_uuid_description=Ausweisnummer
+user_uuid_error=Um Zugriff auf die Ausweisnummer zu haben, ist eine Internetverbindung erforderlich.
diff --git a/android/assets/text/screen/form/form_sk.properties b/android/assets/text/screen/form/form_sk.properties
index 53da23eeaddb4b3edfa2188ca971a3a275e69013..4aa9028c3505930778a6a1aa47101f65cb2c6332 100644
--- a/android/assets/text/screen/form/form_sk.properties
+++ b/android/assets/text/screen/form/form_sk.properties
@@ -11,4 +11,5 @@ validation_signature=Podpíš sa pomocou pera
 validation_age=Zadaj svoj ​​vek
 validation_stamp=Opečiatkuj dokument
 validation_username_exists=Krycie meno detektíva už existuje\! Zadajte iné krycie meno.
-user_uuid_description=Číslo preukazu
\ No newline at end of file
+user_uuid_description=Číslo preukazu
+user_uuid_error=Pre získanie čísla preukazu je potrebné pripojiť sa k internetu.
diff --git a/android/assets/text/screen/panorama/panorama_de.properties b/android/assets/text/screen/panorama/panorama_de.properties
index f2378fe3b27ea294cad4a53a20743cf9a08c82f5..f1c8d14afba139e6673b7d324628754139e5bebe 100644
--- a/android/assets/text/screen/panorama/panorama_de.properties
+++ b/android/assets/text/screen/panorama/panorama_de.properties
@@ -1,8 +1,8 @@
 createuser_detective_1=Du glaubst also, du kannst meinen Platz einnehmen?
 createuser_detective_2=Dich erwartet harte Arbeit, jahrelanges Schuften, Training und\u00A0Kampf gegen das Verbrechen.
-createuser_detective_3=Wenn du die Herausforderung annimmst, fülle den Detektivausweis aus und\u00A0 geh in die Straßen.
+createuser_detective_3=Wenn du die Herausforderung annimmst, fülle den Detektivausweis aus und\u00A0geh in die Straßen.
 createuser_detective_4=Denk daran, dass noch kein Profi vom\u00A0Himmel gefallen ist.
-newuseranim_topic_1=Ich warte lieber, bis\u00A0sie selbst zu wachsen anfangen, und\u00A0 spare mir\u00A0 das Geld für die\u00A0 Creme und\u00A0 Rasierklingen.
+newuseranim_topic_1=Ich warte lieber, bis\u00A0sie selbst zu wachsen anfangen, und\u00A0spare mir\u00A0 das Geld für die\u00A0Creme und\u00A0 Rasierklingen.
 newuseranim_topic_2=Der landet erst morgen.
 newuseranim_topic_3=Hübsch, aber woher soll ich das Geld dafür nehmen?
 newuseranim_topic_4=Zum Baden ist es bald zu kalt, und\u00A0was, wenn sie über den Winter aus\u00A0 der\u00A0 Mode kommen?
diff --git a/android/assets/text/screen/statistics/statistics_sk.properties b/android/assets/text/screen/statistics/statistics_sk.properties
index 322473d6a65cdc2055efa7462c5d667b104e4b79..d4b6e8d729785a32b025bd2225aa06c5f21ef952 100644
--- a/android/assets/text/screen/statistics/statistics_sk.properties
+++ b/android/assets/text/screen/statistics/statistics_sk.properties
@@ -1,3 +1,3 @@
-statistics_label=Statistiky
+statistics_label=Å tatistiky
 statistics_average=Priemer
-statistics_games=Hry
\ No newline at end of file
+statistics_games=Hry
diff --git a/android/build.gradle b/android/build.gradle
index 56121a336580a03c61bf7538f181219e287def13..64d3d94fe1e8ab66b32ad3f5fdccd34fbabdd021 100644
--- a/android/build.gradle
+++ b/android/build.gradle
@@ -11,8 +11,10 @@ android {
         exclude 'META-INF/NOTICE'
         exclude 'META-INF/LICENSE'
     }
-    
 
+    lintOptions {
+        abortOnError false
+    }
 
     defaultConfig {
         targetSdkVersion 17
@@ -44,6 +46,7 @@ android {
             res.srcDirs = ['res/main']
             assets.srcDirs = ['assets']
             java.srcDir file('src/main/java')
+            jniLibs.srcDirs = ['libs']
         }
         androidTest {
             java.srcDir file('src/androidTest/java')
@@ -156,11 +159,6 @@ tasks.whenTaskAdded { compileTask ->
     }
 }
 
-// needed to add JNI shared libraries to APK when compiling on CLI
-tasks.withType(com.android.build.gradle.tasks.PackageApplication) { pkgTask ->
-    pkgTask.jniFolders = new HashSet<File>()
-    pkgTask.jniFolders.add(new File(projectDir, 'libs'))
-}
 // called every time gradle gets executed, takes the native dependencies of
 // the natives configuration, and extracts them to the proper libs/ folders
 // so they get packed with the APK.
diff --git a/build.gradle b/build.gradle
index e7647719bb2e2938842af322eb38bc2350c96349..53da063f28b974efe3a47138b6cb13719217d5a5 100644
--- a/build.gradle
+++ b/build.gradle
@@ -4,16 +4,14 @@ import com.badlogic.gdx.tools.texturepacker.TexturePacker
 buildscript {
     repositories {
         //mavenCentral()
-        jcenter{
-            url "http://jcenter.bintray.com/"
-        }
+        maven { url 'https://jitpack.io' }
+        jcenter{ url "http://jcenter.bintray.com/" }
     }
     dependencies {
-        classpath 'de.richsource.gradle.plugins:gwt-gradle-plugin:0.6'
-        classpath 'com.android.tools.build:gradle:1.2.3'
-        classpath 'org.robovm:robovm-gradle-plugin:1.2.0'
+        classpath 'com.android.tools.build:gradle:2.0.0'
+        classpath 'org.robovm:robovm-gradle-plugin:1.12.0'
         classpath 'de.felixschulze.gradle:gradle-spoon-plugin:2.1'
-        classpath 'com.jakewharton.sdkmanager:gradle-plugin:0.12.0'
+        classpath 'com.github.JakeWharton:sdk-manager-plugin:220bf7a88a7072df3ed16dc8466fb144f2817070'
         classpath 'com.novoda:gradle-android-command-plugin:1.3.0'
         classpath "com.badlogicgames.gdx:gdx-tools:1.6.1"
     }
@@ -56,13 +54,10 @@ allprojects {
         applicationIdDevelSuffix = '.devel'
         applicationIdDevel = applicationIdRelease + applicationIdDevelSuffix
 
-        gdxVersion = '1.6.1'
-		gdxUtilsVersion = '0.13.1'
+        gdxVersion = '1.9.2'
+		gdxUtilsVersion = '0.13.2'
 	    mbassadorVersion = '1.2.0'
-        roboVMVersion = '1.2.0'
-        box2DLightsVersion = '1.3'
-        ashleyVersion = '1.3.1'
-        aiVersion = '1.4.0'
+        roboVMVersion = '1.12.0'
         sqlDroidVersion = '1.0.3'
         sqlLiteJdbcVersion = '3.8.10.1'
         guavaVersion = '18.0'
@@ -123,7 +118,7 @@ task prepareSoundAssets(dependsOn: prepareAssets) {
                         include '**/*.mp3'
                         includeEmptyDirs false
                         eachFile { FileCopyDetails fcd ->
-                            fcd.setPath(fcd.getRelativePath().toString().replace(File.separator, '.'))
+                            fcd.setPath(fcd.getRelativePath().toString().replace('/', '.'))
                         }
                         outputs.upToDateWhen { false }
                     }.execute()
@@ -149,7 +144,7 @@ task prepareJsonAssets(dependsOn: prepareAssets) {
                         include '**/*.json'
                         includeEmptyDirs false
                         eachFile { FileCopyDetails fcd ->
-                            fcd.setPath(fcd.getRelativePath().toString().replace(File.separator, '.'))
+                            fcd.setPath(fcd.getRelativePath().toString().replace('/', '.'))
                         }
                         outputs.upToDateWhen { false }
                     }.execute()
diff --git a/core/assets/common/_global/application/avatar/1.jpg b/core/assets/common/_global/application/avatar/1.jpg
index 3409e14994c0fc23a51d4a6d4af4cede4356d5fc..49fb2a90f3c136606d56713a6bb64e57fba52a2c 100644
Binary files a/core/assets/common/_global/application/avatar/1.jpg and b/core/assets/common/_global/application/avatar/1.jpg differ
diff --git a/core/assets/common/_global/application/avatar/10.jpg b/core/assets/common/_global/application/avatar/10.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..7c273790d5bf0f44293ea0e973cca46ea66e52d7
Binary files /dev/null and b/core/assets/common/_global/application/avatar/10.jpg differ
diff --git a/core/assets/common/_global/application/avatar/11.jpg b/core/assets/common/_global/application/avatar/11.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..72a02d4820d698d0122302c3325f10349e9cc1ec
Binary files /dev/null and b/core/assets/common/_global/application/avatar/11.jpg differ
diff --git a/core/assets/common/_global/application/avatar/12.jpg b/core/assets/common/_global/application/avatar/12.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..a2bb0246e825d82a5adef7c428b97e7493c84187
Binary files /dev/null and b/core/assets/common/_global/application/avatar/12.jpg differ
diff --git a/core/assets/common/_global/application/avatar/2.jpg b/core/assets/common/_global/application/avatar/2.jpg
index 3cdfe5698f3f90d7bc7bd466b06eff664b46dce3..72785878613de75929a0a51cb604cf28fe7367e6 100644
Binary files a/core/assets/common/_global/application/avatar/2.jpg and b/core/assets/common/_global/application/avatar/2.jpg differ
diff --git a/core/assets/common/_global/application/avatar/3.jpg b/core/assets/common/_global/application/avatar/3.jpg
index e68c84ab3231d758071a8b61a98bfa8af020c4de..e7cd270783b4caeb5242540d1e63b9f7de398bba 100644
Binary files a/core/assets/common/_global/application/avatar/3.jpg and b/core/assets/common/_global/application/avatar/3.jpg differ
diff --git a/core/assets/common/_global/application/avatar/4.jpg b/core/assets/common/_global/application/avatar/4.jpg
index df34c7f0eb54c1d7b60e70253025371638b47fe4..e2378d9c452bfa52bfc528098e646c76372aad58 100644
Binary files a/core/assets/common/_global/application/avatar/4.jpg and b/core/assets/common/_global/application/avatar/4.jpg differ
diff --git a/core/assets/common/_global/application/avatar/5.jpg b/core/assets/common/_global/application/avatar/5.jpg
index 11d27fdf3da7466a3292dae323a1d62c115c1516..33032f9799024145663d8213dd587178bf06cfe4 100644
Binary files a/core/assets/common/_global/application/avatar/5.jpg and b/core/assets/common/_global/application/avatar/5.jpg differ
diff --git a/core/assets/common/_global/application/avatar/6.jpg b/core/assets/common/_global/application/avatar/6.jpg
index 49fd4ee5d7b9e473370a55b1907340245c0e931a..44bfdb58beb32fcd092bfc40e16ab5380538d3f4 100644
Binary files a/core/assets/common/_global/application/avatar/6.jpg and b/core/assets/common/_global/application/avatar/6.jpg differ
diff --git a/core/assets/common/_global/application/avatar/7.jpg b/core/assets/common/_global/application/avatar/7.jpg
index 92780b09bae2bab38edff11674a9cf45701be676..d06cb97a97c05738455464398ad8f56fe19e40c7 100644
Binary files a/core/assets/common/_global/application/avatar/7.jpg and b/core/assets/common/_global/application/avatar/7.jpg differ
diff --git a/core/assets/common/_global/application/avatar/8.jpg b/core/assets/common/_global/application/avatar/8.jpg
index 3ab38fc4261a91c08124e19571bbc35a36998e79..2017a5f02e2674fd92f900c42210f8b048b50ed8 100644
Binary files a/core/assets/common/_global/application/avatar/8.jpg and b/core/assets/common/_global/application/avatar/8.jpg differ
diff --git a/core/assets/common/_global/application/avatar/9.jpg b/core/assets/common/_global/application/avatar/9.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..dcf9cb7fbf6f99919a9a05a66f7d85a2c7033fab
Binary files /dev/null and b/core/assets/common/_global/application/avatar/9.jpg differ
diff --git a/core/assets/common/_global/application/screenloader/mouse_0.png b/core/assets/common/_global/application/screenloader/mouse_0.png
new file mode 100644
index 0000000000000000000000000000000000000000..20a67af2d336901b3c5800164f41424db7c5e3ad
Binary files /dev/null and b/core/assets/common/_global/application/screenloader/mouse_0.png differ
diff --git a/core/assets/common/_global/application/screenloader/mouse_1.png b/core/assets/common/_global/application/screenloader/mouse_1.png
new file mode 100644
index 0000000000000000000000000000000000000000..8443ec9bf3dcefb454dc3db338d8112ef1083613
Binary files /dev/null and b/core/assets/common/_global/application/screenloader/mouse_1.png differ
diff --git a/core/assets/common/_global/application/screenloader/mouse_2.png b/core/assets/common/_global/application/screenloader/mouse_2.png
new file mode 100644
index 0000000000000000000000000000000000000000..ef2bd5d83812cdb6c1972d8a143ee0a9b545f543
Binary files /dev/null and b/core/assets/common/_global/application/screenloader/mouse_2.png differ
diff --git a/core/assets/common/_global/application/screenloader/mouse_3.png b/core/assets/common/_global/application/screenloader/mouse_3.png
new file mode 100644
index 0000000000000000000000000000000000000000..d5e0f5ccc60b37d758d30f79bb66f5784077c1d8
Binary files /dev/null and b/core/assets/common/_global/application/screenloader/mouse_3.png differ
diff --git a/core/assets/common/_global/application/screenloader/mouse_4.png b/core/assets/common/_global/application/screenloader/mouse_4.png
new file mode 100644
index 0000000000000000000000000000000000000000..5fd0c094820732a0f5c87b81838acf22d81e8d8b
Binary files /dev/null and b/core/assets/common/_global/application/screenloader/mouse_4.png differ
diff --git a/core/assets/common/_global/application/screenloader/mouse_5.png b/core/assets/common/_global/application/screenloader/mouse_5.png
new file mode 100644
index 0000000000000000000000000000000000000000..603f7f25cf5f05bab0e5aeb65965ae18f9cd23ba
Binary files /dev/null and b/core/assets/common/_global/application/screenloader/mouse_5.png differ
diff --git a/core/assets/common/_global/application/screenloader/mouse_6.png b/core/assets/common/_global/application/screenloader/mouse_6.png
new file mode 100644
index 0000000000000000000000000000000000000000..9a6d75ba9062c8510c61987570ffcd1bb899a448
Binary files /dev/null and b/core/assets/common/_global/application/screenloader/mouse_6.png differ
diff --git a/core/assets/common/_global/application/screenloader/mouse_7.png b/core/assets/common/_global/application/screenloader/mouse_7.png
new file mode 100644
index 0000000000000000000000000000000000000000..046939de2a113a32ab76762fe985cab204a75540
Binary files /dev/null and b/core/assets/common/_global/application/screenloader/mouse_7.png differ
diff --git a/core/assets/common/_global/application/screenloader/mouse_8.png b/core/assets/common/_global/application/screenloader/mouse_8.png
new file mode 100644
index 0000000000000000000000000000000000000000..80b4d5e4c1b010077293fa503515a47076ac1f2a
Binary files /dev/null and b/core/assets/common/_global/application/screenloader/mouse_8.png differ
diff --git a/core/assets/common/game/kidnapping/common/gfx/arrow-left-down-pressed.png b/core/assets/common/game/kidnapping/common/gfx/arrow-left-down-pressed.png
index d83ef8ae558dc2052cc3fab7b87012f44509a4f7..df74742e3f768e1c8fe4d324f46e37ebf83761c0 100644
Binary files a/core/assets/common/game/kidnapping/common/gfx/arrow-left-down-pressed.png and b/core/assets/common/game/kidnapping/common/gfx/arrow-left-down-pressed.png differ
diff --git a/core/assets/common/game/kidnapping/common/gfx/arrow-left-down-unpressed.png b/core/assets/common/game/kidnapping/common/gfx/arrow-left-down-unpressed.png
index 4db53acebdfbdfd778a563b01b92b1d793304699..c65a614520124d1f4486fa4cd2a6f2296b9137c2 100644
Binary files a/core/assets/common/game/kidnapping/common/gfx/arrow-left-down-unpressed.png and b/core/assets/common/game/kidnapping/common/gfx/arrow-left-down-unpressed.png differ
diff --git a/core/assets/common/game/kidnapping/common/gfx/arrow-left-top-pressed.png b/core/assets/common/game/kidnapping/common/gfx/arrow-left-top-pressed.png
index a6184f4d27e03a2ef21238c189c078ac6aa3c434..366fed7aee6ca35a0800c94cf0f2c64975c04f00 100644
Binary files a/core/assets/common/game/kidnapping/common/gfx/arrow-left-top-pressed.png and b/core/assets/common/game/kidnapping/common/gfx/arrow-left-top-pressed.png differ
diff --git a/core/assets/common/game/kidnapping/common/gfx/arrow-left-top-unpressed.png b/core/assets/common/game/kidnapping/common/gfx/arrow-left-top-unpressed.png
index d9a9e7f1c47350f4ca0e61baf84c6c6fb69966d2..3b1875d8742b8fd5fb746d8ab1533e0e36c777a9 100644
Binary files a/core/assets/common/game/kidnapping/common/gfx/arrow-left-top-unpressed.png and b/core/assets/common/game/kidnapping/common/gfx/arrow-left-top-unpressed.png differ
diff --git a/core/assets/common/game/kidnapping/common/gfx/arrow-right-down-pressed.png b/core/assets/common/game/kidnapping/common/gfx/arrow-right-down-pressed.png
index b6ddd2677eb50177d4c4308d553abae0236a2379..f7ee241e407a19ebe524a57df64fde6a78c4cd11 100644
Binary files a/core/assets/common/game/kidnapping/common/gfx/arrow-right-down-pressed.png and b/core/assets/common/game/kidnapping/common/gfx/arrow-right-down-pressed.png differ
diff --git a/core/assets/common/game/kidnapping/common/gfx/arrow-right-down-unpressed.png b/core/assets/common/game/kidnapping/common/gfx/arrow-right-down-unpressed.png
index 11e5b195b8bbb0eac268995605b56499a7bec09c..f02b435d1ac5797b9db012b60d56068dd3491370 100644
Binary files a/core/assets/common/game/kidnapping/common/gfx/arrow-right-down-unpressed.png and b/core/assets/common/game/kidnapping/common/gfx/arrow-right-down-unpressed.png differ
diff --git a/core/assets/common/game/kidnapping/common/gfx/arrow-right-top-pressed.png b/core/assets/common/game/kidnapping/common/gfx/arrow-right-top-pressed.png
index c5f307632c022b995ac840fecd396774be667bae..fd4cf5cf4b81e6115dc4be8267db1e5da9fade80 100644
Binary files a/core/assets/common/game/kidnapping/common/gfx/arrow-right-top-pressed.png and b/core/assets/common/game/kidnapping/common/gfx/arrow-right-top-pressed.png differ
diff --git a/core/assets/common/game/kidnapping/common/gfx/arrow-right-top-unpressed.png b/core/assets/common/game/kidnapping/common/gfx/arrow-right-top-unpressed.png
index c147e50ef9e52f0e0428ea505e88365c70bd86a8..e32a953528f90c5e85f9bf6818e120e395ba8f4e 100644
Binary files a/core/assets/common/game/kidnapping/common/gfx/arrow-right-top-unpressed.png and b/core/assets/common/game/kidnapping/common/gfx/arrow-right-top-unpressed.png differ
diff --git a/core/assets/common/game/kidnapping/common/gfx/dobre.png b/core/assets/common/game/kidnapping/common/gfx/correct.png
similarity index 100%
rename from core/assets/common/game/kidnapping/common/gfx/dobre.png
rename to core/assets/common/game/kidnapping/common/gfx/correct.png
diff --git a/core/assets/common/game/kidnapping/common/gfx/lineNESW-2.png b/core/assets/common/game/kidnapping/common/gfx/lineNESW.png
similarity index 100%
rename from core/assets/common/game/kidnapping/common/gfx/lineNESW-2.png
rename to core/assets/common/game/kidnapping/common/gfx/lineNESW.png
diff --git a/core/assets/common/game/kidnapping/common/gfx/lineNWSE-2.png b/core/assets/common/game/kidnapping/common/gfx/lineNWSE.png
similarity index 100%
rename from core/assets/common/game/kidnapping/common/gfx/lineNWSE-2.png
rename to core/assets/common/game/kidnapping/common/gfx/lineNWSE.png
diff --git a/core/assets/common/game/kidnapping/common/gfx/zde-jsi.png b/core/assets/common/game/kidnapping/common/gfx/position-current.png
similarity index 100%
rename from core/assets/common/game/kidnapping/common/gfx/zde-jsi.png
rename to core/assets/common/game/kidnapping/common/gfx/position-current.png
diff --git a/core/assets/common/game/kidnapping/common/gfx/papir-pravidla.png b/core/assets/common/game/kidnapping/common/gfx/rules-background.png
similarity index 100%
rename from core/assets/common/game/kidnapping/common/gfx/papir-pravidla.png
rename to core/assets/common/game/kidnapping/common/gfx/rules-background.png
diff --git a/core/assets/common/game/kidnapping/common/gfx/tiles/domek1.png b/core/assets/common/game/kidnapping/common/gfx/tiles/house1.png
similarity index 100%
rename from core/assets/common/game/kidnapping/common/gfx/tiles/domek1.png
rename to core/assets/common/game/kidnapping/common/gfx/tiles/house1.png
diff --git a/core/assets/common/game/kidnapping/common/gfx/tiles/domek2.png b/core/assets/common/game/kidnapping/common/gfx/tiles/house2.png
similarity index 100%
rename from core/assets/common/game/kidnapping/common/gfx/tiles/domek2.png
rename to core/assets/common/game/kidnapping/common/gfx/tiles/house2.png
diff --git a/core/assets/common/game/kidnapping/common/gfx/tiles/domek3.png b/core/assets/common/game/kidnapping/common/gfx/tiles/house3.png
similarity index 100%
rename from core/assets/common/game/kidnapping/common/gfx/tiles/domek3.png
rename to core/assets/common/game/kidnapping/common/gfx/tiles/house3.png
diff --git a/core/assets/common/game/kidnapping/common/gfx/tiles/domek4.png b/core/assets/common/game/kidnapping/common/gfx/tiles/house4.png
similarity index 100%
rename from core/assets/common/game/kidnapping/common/gfx/tiles/domek4.png
rename to core/assets/common/game/kidnapping/common/gfx/tiles/house4.png
diff --git a/core/assets/common/game/kidnapping/common/gfx/tiles/domek5.png b/core/assets/common/game/kidnapping/common/gfx/tiles/house5.png
similarity index 100%
rename from core/assets/common/game/kidnapping/common/gfx/tiles/domek5.png
rename to core/assets/common/game/kidnapping/common/gfx/tiles/house5.png
diff --git a/core/assets/common/game/kidnapping/common/gfx/tiles/domek6.png b/core/assets/common/game/kidnapping/common/gfx/tiles/house6.png
similarity index 100%
rename from core/assets/common/game/kidnapping/common/gfx/tiles/domek6.png
rename to core/assets/common/game/kidnapping/common/gfx/tiles/house6.png
diff --git a/core/assets/common/game/kidnapping/common/gfx/tiles/domek7.png b/core/assets/common/game/kidnapping/common/gfx/tiles/house7.png
similarity index 100%
rename from core/assets/common/game/kidnapping/common/gfx/tiles/domek7.png
rename to core/assets/common/game/kidnapping/common/gfx/tiles/house7.png
diff --git a/core/assets/common/game/kidnapping/common/gfx/tiles/domek8.png b/core/assets/common/game/kidnapping/common/gfx/tiles/house8.png
similarity index 100%
rename from core/assets/common/game/kidnapping/common/gfx/tiles/domek8.png
rename to core/assets/common/game/kidnapping/common/gfx/tiles/house8.png
diff --git a/core/assets/common/game/kidnapping/common/gfx/tiles/hriste.png b/core/assets/common/game/kidnapping/common/gfx/tiles/playground.png
similarity index 100%
rename from core/assets/common/game/kidnapping/common/gfx/tiles/hriste.png
rename to core/assets/common/game/kidnapping/common/gfx/tiles/playground.png
diff --git a/core/assets/common/game/kidnapping/common/gfx/tiles/posta.png b/core/assets/common/game/kidnapping/common/gfx/tiles/post.png
similarity index 100%
rename from core/assets/common/game/kidnapping/common/gfx/tiles/posta.png
rename to core/assets/common/game/kidnapping/common/gfx/tiles/post.png
diff --git a/core/assets/common/game/kidnapping/common/gfx/tiles/skola.png b/core/assets/common/game/kidnapping/common/gfx/tiles/school.png
similarity index 100%
rename from core/assets/common/game/kidnapping/common/gfx/tiles/skola.png
rename to core/assets/common/game/kidnapping/common/gfx/tiles/school.png
diff --git a/core/assets/common/game/kidnapping/common/gfx/tiles/vila1.png b/core/assets/common/game/kidnapping/common/gfx/tiles/villa1.png
similarity index 100%
rename from core/assets/common/game/kidnapping/common/gfx/tiles/vila1.png
rename to core/assets/common/game/kidnapping/common/gfx/tiles/villa1.png
diff --git a/core/assets/common/game/kidnapping/common/gfx/tiles/vila2.png b/core/assets/common/game/kidnapping/common/gfx/tiles/villa2.png
similarity index 100%
rename from core/assets/common/game/kidnapping/common/gfx/tiles/vila2.png
rename to core/assets/common/game/kidnapping/common/gfx/tiles/villa2.png
diff --git a/core/assets/common/game/kidnapping/common/gfx/tiles/vila3.png b/core/assets/common/game/kidnapping/common/gfx/tiles/villa3.png
similarity index 100%
rename from core/assets/common/game/kidnapping/common/gfx/tiles/vila3.png
rename to core/assets/common/game/kidnapping/common/gfx/tiles/villa3.png
diff --git a/core/assets/common/game/kidnapping/common/gfx/tiles/vila4.png b/core/assets/common/game/kidnapping/common/gfx/tiles/villa4.png
similarity index 100%
rename from core/assets/common/game/kidnapping/common/gfx/tiles/vila4.png
rename to core/assets/common/game/kidnapping/common/gfx/tiles/villa4.png
diff --git a/core/assets/common/game/kidnapping/common/gfx/spatne.png b/core/assets/common/game/kidnapping/common/gfx/wrong.png
similarity index 100%
rename from core/assets/common/game/kidnapping/common/gfx/spatne.png
rename to core/assets/common/game/kidnapping/common/gfx/wrong.png
diff --git a/core/assets/common/game/kidnapping/common/gfx/znovu-pressed.png b/core/assets/common/game/kidnapping/common/gfx/znovu-pressed.png
deleted file mode 100644
index 7be563dd996efb3da6e368c983d7ab8413075eb3..0000000000000000000000000000000000000000
Binary files a/core/assets/common/game/kidnapping/common/gfx/znovu-pressed.png and /dev/null differ
diff --git a/core/assets/common/game/kidnapping/common/gfx/znovu.png b/core/assets/common/game/kidnapping/common/gfx/znovu.png
deleted file mode 100644
index 7f95a7d5016f10996099306b0c3bb9dd0cbb9d39..0000000000000000000000000000000000000000
Binary files a/core/assets/common/game/kidnapping/common/gfx/znovu.png and /dev/null differ
diff --git a/core/assets/common/game/robbery/hard/gamescreen/background_bank.png b/core/assets/common/game/robbery/hard/gamescreen/background_bank.png
index b34e721522f1ff7fa18321012a5977ebcd80831e..b7bebd818e13b9bfe0118e05f3cc243532ac9251 100644
Binary files a/core/assets/common/game/robbery/hard/gamescreen/background_bank.png and b/core/assets/common/game/robbery/hard/gamescreen/background_bank.png differ
diff --git a/core/assets/common/screen/encyclopedia/gfx/pause_icon.png b/core/assets/common/screen/encyclopedia/gfx/pause_icon.png
index 405297e17724830e9e8941ea6ac1513deb45a6c2..381cbc0b77ed86f89191bff3f127b62e47711db9 100644
Binary files a/core/assets/common/screen/encyclopedia/gfx/pause_icon.png and b/core/assets/common/screen/encyclopedia/gfx/pause_icon.png differ
diff --git a/core/assets/common/screen/encyclopedia/gfx/play_icon.png b/core/assets/common/screen/encyclopedia/gfx/play_icon.png
index e9ecd3d33d1393139590d65afd5b1ae7528df9d1..9bc867ec660158b964084d81611e72721fcb2087 100644
Binary files a/core/assets/common/screen/encyclopedia/gfx/play_icon.png and b/core/assets/common/screen/encyclopedia/gfx/play_icon.png differ
diff --git a/core/assets/common/screen/gamemenu/gfx/bankovniloupez_back.png b/core/assets/common/screen/gamemenu/gfx/bankovniloupez_back.png
index 8523838e09a239ec8eca40cc7db55e8b636499d1..429c67a6a6b496e9ae16adcdbce4ccdaed344234 100644
Binary files a/core/assets/common/screen/gamemenu/gfx/bankovniloupez_back.png and b/core/assets/common/screen/gamemenu/gfx/bankovniloupez_back.png differ
diff --git a/core/assets/common/screen/gamemenu/gfx/nocnisledovani_back.png b/core/assets/common/screen/gamemenu/gfx/nocnisledovani_back.png
index acb8020fb937d010e11e4d200372102fb3ff76e7..7e1c827f7e3eec017fafbc5a26f21736f6c52b19 100644
Binary files a/core/assets/common/screen/gamemenu/gfx/nocnisledovani_back.png and b/core/assets/common/screen/gamemenu/gfx/nocnisledovani_back.png differ
diff --git a/core/assets/common/screen/gamemenu/gfx/overscroll_left.png b/core/assets/common/screen/gamemenu/gfx/overscroll_left.png
new file mode 100644
index 0000000000000000000000000000000000000000..ac8e4d8a2421cbe728f5092435f2b382987af723
Binary files /dev/null and b/core/assets/common/screen/gamemenu/gfx/overscroll_left.png differ
diff --git a/core/assets/common/screen/gamemenu/gfx/overscroll_right.png b/core/assets/common/screen/gamemenu/gfx/overscroll_right.png
new file mode 100644
index 0000000000000000000000000000000000000000..8d7c0fb1a25417698dd1f9e4a61ccec745df0870
Binary files /dev/null and b/core/assets/common/screen/gamemenu/gfx/overscroll_right.png differ
diff --git a/core/assets/common/screen/gamemenu/gfx/potme_back.png b/core/assets/common/screen/gamemenu/gfx/potme_back.png
index ef4501aaa8275b8f517558813abcf716017b377e..cad5eb7936f746d60e58248c95a285d4d45bfdb3 100644
Binary files a/core/assets/common/screen/gamemenu/gfx/potme_back.png and b/core/assets/common/screen/gamemenu/gfx/potme_back.png differ
diff --git a/core/assets/common/screen/gamemenu/gfx/pronasledovani_back.png b/core/assets/common/screen/gamemenu/gfx/pronasledovani_back.png
index 73453e3b46247e6e1e13ef0cbd0856d07c3d9a72..9d46fb3d78a9d65e50711e5c9ad0bbb1fcbeaf23 100644
Binary files a/core/assets/common/screen/gamemenu/gfx/pronasledovani_back.png and b/core/assets/common/screen/gamemenu/gfx/pronasledovani_back.png differ
diff --git a/core/assets/common/screen/gamemenu/gfx/strelnice_back.png b/core/assets/common/screen/gamemenu/gfx/strelnice_back.png
index 18c32833f31a1daa2184c4e77cfe3dcd351b7db2..6167680ddeceb60fc3c73ec22806aa42c1fcebc6 100644
Binary files a/core/assets/common/screen/gamemenu/gfx/strelnice_back.png and b/core/assets/common/screen/gamemenu/gfx/strelnice_back.png differ
diff --git a/core/assets/common/screen/gamemenu/gfx/unos_back.png b/core/assets/common/screen/gamemenu/gfx/unos_back.png
index eb63750c9e70cbcac1eabea142fe8abbe392c806..7faca7bdf3acfec30d66fbb4bc4eafa27191d9be 100644
Binary files a/core/assets/common/screen/gamemenu/gfx/unos_back.png and b/core/assets/common/screen/gamemenu/gfx/unos_back.png differ
diff --git a/core/assets/common/screen/gamemenu/gfx/wall_back.png b/core/assets/common/screen/gamemenu/gfx/wall_back.png
index e1e5303fbca2f5d8d413e2657c773585ce6e7520..a2f54b72a6de59fb95b3e20919c6e72dfbaac3f2 100644
Binary files a/core/assets/common/screen/gamemenu/gfx/wall_back.png and b/core/assets/common/screen/gamemenu/gfx/wall_back.png differ
diff --git a/core/assets/common/screen/halloffame/screen_halloffame_wall.png b/core/assets/common/screen/halloffame/screen_halloffame_wall.png
new file mode 100644
index 0000000000000000000000000000000000000000..ac8e4d8a2421cbe728f5092435f2b382987af723
Binary files /dev/null and b/core/assets/common/screen/halloffame/screen_halloffame_wall.png differ
diff --git a/core/assets/common/screen/panorama/gfx/swipe/overscroll_right.png b/core/assets/common/screen/panorama/gfx/swipe/overscroll_right.png
new file mode 100644
index 0000000000000000000000000000000000000000..e859c84b4dd17bcc1db51960867c9c8a9454cc21
Binary files /dev/null and b/core/assets/common/screen/panorama/gfx/swipe/overscroll_right.png differ
diff --git a/core/assets/cs/screen/gamemenu/gfx/helplayer.png b/core/assets/cs/screen/gamemenu/gfx/helplayer.png
index fc232b9110a067e0c1d7a3319b22c5fd825783a8..e80e7d822d5f8b261af3288d652abe94b1f83af1 100644
Binary files a/core/assets/cs/screen/gamemenu/gfx/helplayer.png and b/core/assets/cs/screen/gamemenu/gfx/helplayer.png differ
diff --git a/core/assets/cs/screen/gamemenu/gfx/pronasledovani_title.png b/core/assets/cs/screen/gamemenu/gfx/pronasledovani_title.png
index cb9fc13c546361b2b32930e6c9205f78147c871f..03d9d7dd419db4b50199a68bd8abe8b62cf3c200 100644
Binary files a/core/assets/cs/screen/gamemenu/gfx/pronasledovani_title.png and b/core/assets/cs/screen/gamemenu/gfx/pronasledovani_title.png differ
diff --git a/core/assets/cs/screen/panorama/gfx/balcony_news_title.png b/core/assets/cs/screen/panorama/gfx/balcony_news_title.png
index fe233a7101279e2e494f7dcba9247574376ed118..6a0f6357734678d4c47e8831c48d02f513d66c92 100644
Binary files a/core/assets/cs/screen/panorama/gfx/balcony_news_title.png and b/core/assets/cs/screen/panorama/gfx/balcony_news_title.png differ
diff --git a/core/assets/cs/screen/panorama/gfx/swipe/tile2_title.png b/core/assets/cs/screen/panorama/gfx/swipe/tile2_title.png
index 95fa2d79722b22e4e7e4405f73240baf952984e7..9cc493e8d5629ed37bd4bebd376e9de4d6b5595c 100644
Binary files a/core/assets/cs/screen/panorama/gfx/swipe/tile2_title.png and b/core/assets/cs/screen/panorama/gfx/swipe/tile2_title.png differ
diff --git a/core/assets/cs/screen/panorama/gfx/swipe/tile3_door_sign.png b/core/assets/cs/screen/panorama/gfx/swipe/tile3_door_sign.png
new file mode 100644
index 0000000000000000000000000000000000000000..ef786db738960c2a35cbeaef079cbd723fd9a3cf
Binary files /dev/null and b/core/assets/cs/screen/panorama/gfx/swipe/tile3_door_sign.png differ
diff --git a/core/assets/cs/screen/panorama/gfx/swipe/tile3_plate_title.png b/core/assets/cs/screen/panorama/gfx/swipe/tile3_plate_title.png
new file mode 100644
index 0000000000000000000000000000000000000000..bd982ab6049741041ee44deedab26dc4feb119ba
Binary files /dev/null and b/core/assets/cs/screen/panorama/gfx/swipe/tile3_plate_title.png differ
diff --git a/core/assets/cs/screen/panorama/gfx/swipe/tile3_title.png b/core/assets/cs/screen/panorama/gfx/swipe/tile3_title.png
deleted file mode 100644
index ed8da8f1e1ff9410dd8617ea7434ef9923571c22..0000000000000000000000000000000000000000
Binary files a/core/assets/cs/screen/panorama/gfx/swipe/tile3_title.png and /dev/null differ
diff --git a/core/assets/de/_preloader/inthedarkness/help.mp3 b/core/assets/de/_preloader/inthedarkness/help.mp3
index ece36d3278f150ea4e53cb59c0cdf8cb65fc3aaa..68419c12a08e723a8f00f27814da58f6625d9c76 100644
Binary files a/core/assets/de/_preloader/inthedarkness/help.mp3 and b/core/assets/de/_preloader/inthedarkness/help.mp3 differ
diff --git a/core/assets/de/_preloader/kidnapping/help.mp3 b/core/assets/de/_preloader/kidnapping/help.mp3
index 1767d3cc4d7b289faf9d092b02159a8155756ac5..f5b75c158aeaf303e160ee37ecfd1a7f7a4c8bb4 100644
Binary files a/core/assets/de/_preloader/kidnapping/help.mp3 and b/core/assets/de/_preloader/kidnapping/help.mp3 differ
diff --git a/core/assets/de/_preloader/nightwatch/help.mp3 b/core/assets/de/_preloader/nightwatch/help.mp3
index 2f5d16aad3ceb04ba69a1020d4ab86fa27c50003..becd6187c9b0fcd2c13a363ef07823e431ddc018 100644
Binary files a/core/assets/de/_preloader/nightwatch/help.mp3 and b/core/assets/de/_preloader/nightwatch/help.mp3 differ
diff --git a/core/assets/de/_preloader/pursuit/help.mp3 b/core/assets/de/_preloader/pursuit/help.mp3
index 1109a1a9bed3a4c2d221bf86e09cdc6e86f7a868..eb6d83a9adc688d4525038118312df81157ea52c 100644
Binary files a/core/assets/de/_preloader/pursuit/help.mp3 and b/core/assets/de/_preloader/pursuit/help.mp3 differ
diff --git a/core/assets/de/_preloader/robbery/help.mp3 b/core/assets/de/_preloader/robbery/help.mp3
index 6b689eab8366b3741295fa2d69ea1812d6e6a407..2e60b91788e545265f7c2d267636b865895fbdb2 100644
Binary files a/core/assets/de/_preloader/robbery/help.mp3 and b/core/assets/de/_preloader/robbery/help.mp3 differ
diff --git a/core/assets/de/_preloader/shootingrange/help.mp3 b/core/assets/de/_preloader/shootingrange/help.mp3
index c43d106861437e19e4098ed0db82437c18248f56..f08e3f8f56e5e2b77f353f3f38d23901e1db03ee 100644
Binary files a/core/assets/de/_preloader/shootingrange/help.mp3 and b/core/assets/de/_preloader/shootingrange/help.mp3 differ
diff --git a/core/assets/de/game/_global/resultsbanner.png b/core/assets/de/game/_global/resultsbanner.png
index 5cd6793f8fed5d96cea45c5bc16ebd3ffd68b2b9..0f0853a1893d4afc0ff27b79ed3d8a35bb076a41 100644
Binary files a/core/assets/de/game/_global/resultsbanner.png and b/core/assets/de/game/_global/resultsbanner.png differ
diff --git a/core/assets/de/game/inthedarkness/common/sfx/score_0.mp3 b/core/assets/de/game/inthedarkness/common/sfx/score_0.mp3
index 28207e8b7bb1259084262f1d6dfdf315bd3d4668..ea1862236580df92908516038805dd277836fd3e 100644
Binary files a/core/assets/de/game/inthedarkness/common/sfx/score_0.mp3 and b/core/assets/de/game/inthedarkness/common/sfx/score_0.mp3 differ
diff --git a/core/assets/de/game/inthedarkness/common/sfx/score_1.mp3 b/core/assets/de/game/inthedarkness/common/sfx/score_1.mp3
index ea6c1595ca5b537f2fc335419f1f9e623c81a91c..b72be969e941092980bbb639cabcad48ab48226a 100644
Binary files a/core/assets/de/game/inthedarkness/common/sfx/score_1.mp3 and b/core/assets/de/game/inthedarkness/common/sfx/score_1.mp3 differ
diff --git a/core/assets/de/game/inthedarkness/common/sfx/score_2.mp3 b/core/assets/de/game/inthedarkness/common/sfx/score_2.mp3
index 9edda75de148df104164853baf322b87976661b2..7a1c77ff47235a0a801b62a82ec7d440b662db3a 100644
Binary files a/core/assets/de/game/inthedarkness/common/sfx/score_2.mp3 and b/core/assets/de/game/inthedarkness/common/sfx/score_2.mp3 differ
diff --git a/core/assets/de/game/inthedarkness/common/sfx/score_3.mp3 b/core/assets/de/game/inthedarkness/common/sfx/score_3.mp3
index c741930d38fe59a965bf273e8353ff42408f97a2..0788b8f8d69be729b8a2da81e3a59403ff410c4d 100644
Binary files a/core/assets/de/game/inthedarkness/common/sfx/score_3.mp3 and b/core/assets/de/game/inthedarkness/common/sfx/score_3.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/help/loading.mp3 b/core/assets/de/game/kidnapping/common/mfx/help/loading.mp3
index 1767d3cc4d7b289faf9d092b02159a8155756ac5..f5b75c158aeaf303e160ee37ecfd1a7f7a4c8bb4 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/help/loading.mp3 and b/core/assets/de/game/kidnapping/common/mfx/help/loading.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/help/rulehelp_easy.mp3 b/core/assets/de/game/kidnapping/common/mfx/help/rulehelp_easy.mp3
index 217ba50a99ba3ab26a69dabcc97c20e6be907680..7df246f61ae04c5403c69c9ed58f547f8b425942 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/help/rulehelp_easy.mp3 and b/core/assets/de/game/kidnapping/common/mfx/help/rulehelp_easy.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/help/rulehelp_hard.mp3 b/core/assets/de/game/kidnapping/common/mfx/help/rulehelp_hard.mp3
index 42ae7e29aef251dd7d3051c5177dfb5837b0f6f1..683b8205f79f3ea440f44e14a6339a7b387ea3db 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/help/rulehelp_hard.mp3 and b/core/assets/de/game/kidnapping/common/mfx/help/rulehelp_hard.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/help/rulehelp_medium.mp3 b/core/assets/de/game/kidnapping/common/mfx/help/rulehelp_medium.mp3
index 0cfc0d7c764a4f09a989dac3bbf567a4a850c7cb..3a4c5cd4d93f1d86087bb4bd0e7650f1923bfc97 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/help/rulehelp_medium.mp3 and b/core/assets/de/game/kidnapping/common/mfx/help/rulehelp_medium.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level1/1-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level1/1-A.mp3
index 958384dfdf2d88d7777ba783c2b317950a894148..09a89b1cfc8ae6468645afe517eeea32484a4a69 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level1/1-A.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level1/1-A.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level1/1-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level1/1-B.mp3
index d4454e00ffd3c013bf319258d094215e85caceb8..f7bb788105b38e4a3997e5245391732767899e00 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level1/1-B.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level1/1-B.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level1/1-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level1/1-C.mp3
index 003797f07086b55edde27ad61a2042f7c4ee9e7b..01a1b386b7288452fa3754063446a4d2c70972e4 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level1/1-C.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level1/1-C.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level1/10-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level1/10-A.mp3
index eba762419e70137b5388e61f7de89a29a9dad083..f4f7aa733f40aeb17f299f5e2e1cf2db628e2ec6 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level1/10-A.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level1/10-A.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level1/10-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level1/10-B.mp3
index cbb95b216ea3f11c20f65899304f40eb3e84e9e8..de85819d578bf8eecd37300beff3dd2fd7233d3d 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level1/10-B.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level1/10-B.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level1/10-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level1/10-C.mp3
index ad4ddb701b80fea9938d0fdbeb90a7c93addfff3..b64771e216105ff0448611ed846907446322c149 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level1/10-C.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level1/10-C.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level1/11-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level1/11-A.mp3
index ad9c84dfc5b452cb09727730930b1713e88dca24..28b69937766d54769cd4fc55c90b6222cb2a3798 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level1/11-A.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level1/11-A.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level1/11-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level1/11-B.mp3
index 0239e3ab742b298339e9337ea10e9ea132d85836..e150b28768832fad99bbdd6dedc6c930fcd34d23 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level1/11-B.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level1/11-B.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level1/11-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level1/11-C.mp3
index e5e3af4874e10231d227131fb0ee95bcc8ec3920..b41ffc62f7b2b1e653d12097a9390b758650b96c 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level1/11-C.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level1/11-C.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level1/12-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level1/12-A.mp3
index c863a6fb12d8fd7ef1b5d3b135eb57613126a9f4..18af59b033ebf662db4bda1305ec1edfb14b742f 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level1/12-A.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level1/12-A.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level1/12-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level1/12-B.mp3
index 8a607e03d1fc3ca0f6779ada353e5886742e56ec..d2d0b87132fa4ac8bbbedf7a31c6b608a230ab7a 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level1/12-B.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level1/12-B.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level1/12-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level1/12-C.mp3
index a622339e50d338fd057052bb1839b402b14a3050..4483abf491bff786a4233dd346d7bf5dcdad06f9 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level1/12-C.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level1/12-C.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level1/13-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level1/13-A.mp3
index 5c34b9bfabe9eeac88936375744874410033b484..4d6d297071fa7550796a3365a6c0c8b18c1307bb 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level1/13-A.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level1/13-A.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level1/13-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level1/13-B.mp3
index c26a8a828120826b9181e97d511d0ca34e0c5135..7c65644f7ea7183f50678b04aeff993bfae6c66b 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level1/13-B.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level1/13-B.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level1/13-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level1/13-C.mp3
index 8ba085c4c5b90075417a9164dda82f369fad5709..4239b594112265db383aef90c0a24c2003f8d0e0 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level1/13-C.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level1/13-C.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level1/14-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level1/14-A.mp3
index 2db65bf28cfc31e5ec4941ce06fa316992e9e84a..1f78d31a91da99585448c930589cfacdfeac6af6 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level1/14-A.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level1/14-A.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level1/14-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level1/14-B.mp3
index 9c187975279bb8d4ab85b8b7bd0984b48b100094..3066aed8f6ef2d39953d9631f5737e25c4a40830 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level1/14-B.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level1/14-B.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level1/14-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level1/14-C.mp3
index c2c3ba3b7efe0c0daa41a114e610091b7ce5d149..994f4334ef14181a98fe8dda062efe284adc9091 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level1/14-C.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level1/14-C.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level1/15-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level1/15-A.mp3
index 1c6a4664d31905545af4cd9f52ad01303d61a8c4..83fe7e84fccd3eef6c5a2a2330f9a0e2a102d778 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level1/15-A.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level1/15-A.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level1/15-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level1/15-B.mp3
index ca45dbb7f563988a4925805bdcc67733177fe8fb..69404f7ec8b603c56c6464b5db2bc0c7ff6fdcf2 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level1/15-B.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level1/15-B.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level1/15-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level1/15-C.mp3
index ad5053eb7f3bc3c3339b13190afaf31c7074cef9..eaa39750bca60838ed6538d0a2aea794c04720d5 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level1/15-C.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level1/15-C.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level1/16-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level1/16-A.mp3
index ade35f0ebf6d50148121deed65e0463ce7c9a6c2..8112cc55d2b6f3c52d201fbe5dfff7acd8c3a0d2 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level1/16-A.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level1/16-A.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level1/16-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level1/16-B.mp3
index a60ef854841d546462a0d92b1663e8cab5426dac..e4160dee779e13e1fb9421b760d4de82f0d707fb 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level1/16-B.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level1/16-B.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level1/16-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level1/16-C.mp3
index 774de955a0bc0cde42648c4e0d8d041812d83f9a..5a0eb4983830bc8db3c2dd826cbdd4998c54353e 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level1/16-C.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level1/16-C.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level1/17-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level1/17-A.mp3
index 76b9401cfa20e86852fc208125be27b605e2303d..d2e5e1e5dda13e421eb67635891014a3ea88930a 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level1/17-A.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level1/17-A.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level1/17-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level1/17-B.mp3
index f0a678d726580adeeb020c9b2ea86b8e2b352e58..23ce2ff71020304a64e655787755f024d95ec904 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level1/17-B.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level1/17-B.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level1/17-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level1/17-C.mp3
index 1fd50a10274568cd9a08b5e21bcd467cfb60086b..de48e398bdaf38a17339ae9cb4f5def69659592b 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level1/17-C.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level1/17-C.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level1/18-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level1/18-A.mp3
index dc00994ff6b6310c259f5bafc2b7457736fa4c1e..da2332b2d53c72aabfb5633a88566ff3a2d6420d 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level1/18-A.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level1/18-A.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level1/18-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level1/18-B.mp3
index f77fdb0bcc081a7047830cde8942d750c3eeae3f..2d6fee498fcbcd24be3cfc3b987d2222d7e9abaa 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level1/18-B.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level1/18-B.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level1/18-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level1/18-C.mp3
index 85de13e332436371ce04d8d408c75121ed0f5648..8f72a00278b59d13484a3024dbb0b3df7a0c434a 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level1/18-C.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level1/18-C.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level1/19-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level1/19-A.mp3
index f837ac5328ce1e49b18981292205b743836562c3..d8c1e236559fe5fe10dee549e2ed2cdae43fa243 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level1/19-A.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level1/19-A.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level1/19-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level1/19-B.mp3
index 11f49779d245f91269fd043c7b2722b993027aac..b3e5fe1cae360bbda65b088bba62e85d11810cd6 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level1/19-B.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level1/19-B.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level1/19-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level1/19-C.mp3
index 7ef6b527c4609fd07a8862b61d552042a375ad41..5bb084539a11b06d79cda21eca5ad9f0813fd3de 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level1/19-C.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level1/19-C.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level1/2-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level1/2-A.mp3
index 3c7641c9ad5485d10be310fd9167c083da8a0ae5..aba64781490dab083869b977995716f758a1d438 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level1/2-A.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level1/2-A.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level1/2-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level1/2-B.mp3
index 28fe41429e0367e73af042d34b79a53bfc179479..90ce5490adc9facf9d825fff065b4cf593146c17 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level1/2-B.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level1/2-B.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level1/2-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level1/2-C.mp3
index d86a5328d3c25ebb862431aaf0fb6e16d11145b7..7378a63c073110b78675ba9a97d14c1ce54aa7f6 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level1/2-C.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level1/2-C.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level1/20-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level1/20-A.mp3
index 329d323055e6c636559101336a9b2291821f428b..0d155da5defaef515915253a07971811ed4f454e 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level1/20-A.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level1/20-A.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level1/20-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level1/20-B.mp3
index 741fc20974e315aa91e6a4a137ec82dd6a8aa1f3..087151cc4ce037dc7df78f0dcbcf2f2b7515c4e9 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level1/20-B.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level1/20-B.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level1/20-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level1/20-C.mp3
index 69a552518b1c503388888a03ea4bd75d07ce403c..245f14576af2ee3ab69bf1ea7da37aa10e375c40 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level1/20-C.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level1/20-C.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level1/3-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level1/3-A.mp3
index 1610a85d38dbc646f54719e118959b9b6b895c6d..5aa14fa269c0eae45433be2d2e3ae4ee7dbc7372 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level1/3-A.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level1/3-A.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level1/3-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level1/3-B.mp3
index 966e70d77d9e23f230f1d3b8c4bf7507535853b2..916789487576be544ce0bd259ca6a4f1d74a61f9 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level1/3-B.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level1/3-B.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level1/3-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level1/3-C.mp3
index 4fd86bc60cb9c89c79ab86662c56ff95ad47afcf..db4a122c2bc94918efe991f97f40bb562d734289 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level1/3-C.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level1/3-C.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level1/4-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level1/4-A.mp3
index 8f148049786b2bb6d5207e18e408354d7a68c9bf..357631c2245a7f437d8ea66f9ed094f0b46e911d 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level1/4-A.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level1/4-A.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level1/4-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level1/4-B.mp3
index 6d43bc57b863071c0d810d57f172768d08f3d109..050643d0e2419ca215c0ad0be992731ca64b1c26 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level1/4-B.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level1/4-B.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level1/4-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level1/4-C.mp3
index 3051cea0f961044f39d8c7faabd8d6a6281d1261..64740a7060824799d6e1fb7a853a76581263c2a7 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level1/4-C.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level1/4-C.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level1/5-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level1/5-A.mp3
index 62b79faf61093c3766d8d30e0c16e0a1675f0831..ce77ea41315bd3f3de642a4b628b8dffaa1c5750 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level1/5-A.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level1/5-A.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level1/5-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level1/5-B.mp3
index 1ed011d37f9f743b7784bacd2f2a878eb9f29e3b..7c8e068a702adf5d965c0a7c4710a8a9c41cb849 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level1/5-B.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level1/5-B.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level1/5-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level1/5-C.mp3
index a112c8ae9ebfa07d5d0e386940a1e45128bc4d08..db31aa57259837d6bb01269d70290db9e062a1fa 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level1/5-C.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level1/5-C.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level1/6-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level1/6-A.mp3
index ef09f8efca7a32dc31fbac864b4b3f18364ee3d5..92b6cc550fb555139a6d27cb2a59a5930c702de5 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level1/6-A.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level1/6-A.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level1/6-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level1/6-B.mp3
index b9d9e4a44ed6d7d6291cbaf3df4d00a0dec1a991..b3ed554f2b7d028d52fcb044de6d093a9fc361c3 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level1/6-B.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level1/6-B.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level1/6-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level1/6-C.mp3
index bd9e1c5ab52e314183b527a413d84a5e6ae55950..1c8c184fcef39797f4952087f8be4a999b052421 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level1/6-C.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level1/6-C.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level1/7-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level1/7-A.mp3
index 8c0e5fd7b186dac6059b8bdd254a25f82b5f12c1..e87b0b31a289ab74fcdc5ad6be0b2884845df1cc 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level1/7-A.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level1/7-A.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level1/7-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level1/7-B.mp3
index 598f505add12f90d1487a23b02c35757cc9ad67b..2ddce06544a8f3878277741c36bf49eb35e76576 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level1/7-B.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level1/7-B.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level1/7-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level1/7-C.mp3
index 7b9f433cda1be8950d78ec023cd480075e6becb9..a663a5f598cc0cca00f5165f92e58d3ae9a1e3f1 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level1/7-C.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level1/7-C.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level1/8-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level1/8-A.mp3
index 1f8d683ec090ac8572b80637a58d5f666141e6e0..4ba4b47db8413069724069ab9786e9d629a9a3d7 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level1/8-A.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level1/8-A.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level1/8-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level1/8-B.mp3
index c24b6650985310ca7537a4691f54bf2dc4380bf0..988ff50b7de169fc95d32a748d9b7f74689fc68f 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level1/8-B.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level1/8-B.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level1/8-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level1/8-C.mp3
index 979dce6509c5e365e8cf2a2ec419f70e90440d9d..9fc6d9952761fefcd19d8e112285ce1c18540f67 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level1/8-C.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level1/8-C.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level1/9-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level1/9-A.mp3
index 32ea72ad1838f8588f6080283d927fa4b81accb5..e3d2cbbcbece3b967d6528e4e639f67fb9ae1354 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level1/9-A.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level1/9-A.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level1/9-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level1/9-B.mp3
index d7b33dfbe73d66db3b91cc414467b16a40553b43..ab6b45d81b5174987c0dab31ab4760fe82ed5b15 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level1/9-B.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level1/9-B.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level1/9-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level1/9-C.mp3
index 7562a8ec4b5af75243142cfe46b79bb4d283ac34..c42e789993dce0dac2f666819df9fbbd8c82172d 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level1/9-C.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level1/9-C.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/1-A-HL.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/1-A-HL.mp3
index 162b25cd770f12e41392c6ef092c13f22e75e14f..59e8105664bc930d318527c8d01e877eaac01de7 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/1-A-HL.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/1-A-HL.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/1-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/1-A.mp3
index 0158c097a9dad1c1f99fee6f100946286d13e1b9..31d73a43bbe3d4a5c1773918c3c3ac07057b1ed6 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/1-A.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/1-A.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/1-B-HL.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/1-B-HL.mp3
index c9b91f3d0ea74966b7e2d8fea78dd6230f181e9b..690d56c76927a1ea658ec203e1ac4a80e7b0862f 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/1-B-HL.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/1-B-HL.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/1-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/1-B.mp3
index 7e6cae072674bb1941bfb1a9c083d0a468a35a67..eb22d0281ae4acbfe3f24b0e1fb4dad23eb87b7a 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/1-B.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/1-B.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/1-C-HL.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/1-C-HL.mp3
index cd9271b9182a307bb20b3781ca2d78d524d82b31..cc6296f5bfaac831049d618ce34b958d7f9c28b6 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/1-C-HL.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/1-C-HL.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/1-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/1-C.mp3
index 2b8860cda4520a69c53cfb6a0b99ad5d5a3eec3f..a1ef3ecabd75842ed45300271fa75f1aab65e50e 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/1-C.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/1-C.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/10-A-HL.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/10-A-HL.mp3
index 8cb32ae6597ed332805907e9e9c152c5a4be2d8c..157d7f1d4d5c99eaf6fef27df9faef8058ff38d3 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/10-A-HL.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/10-A-HL.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/10-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/10-A.mp3
index 996c0d447c78ce11c6c83ca945d029087ec0b5d5..8b5964568954d382efd29f00fd58ffaddd9950ee 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/10-A.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/10-A.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/10-B-HL.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/10-B-HL.mp3
index e1c9c24c8745f576da86bb4739b566ba2e66f0c2..ab418ebd067bebcb8df2b1073fed12db22db7670 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/10-B-HL.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/10-B-HL.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/10-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/10-B.mp3
index 3c97c2e9c9e1b99d96ebb168d481c9f83b1e4fb6..62cf121ea1d2dd32635b4be9a8a7f7f7affb291c 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/10-B.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/10-B.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/10-C-HL.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/10-C-HL.mp3
index f433a04d9ea32f89a6337bfc631ae1d15dd1635e..411133d54816e9bf1e16150c86691ac6812d2ad5 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/10-C-HL.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/10-C-HL.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/10-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/10-C.mp3
index 021d760512368242d42a8037662a0d007223a83c..baa0bd8b26d1124eeccbb19cd0d2c250892f6e46 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/10-C.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/10-C.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/11-A-HL.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/11-A-HL.mp3
index 3c4b7c0fc885b59aee29ade4bc3a400044a335dd..95bfe33f092840a7bd0bd45fc8727c541fa2719c 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/11-A-HL.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/11-A-HL.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/11-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/11-A.mp3
index 9d4ce71fb233e35a659a71a3a13ae1151a48731b..a56b48fdc9a9ddcbfec28a559b73906ee44fcd1e 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/11-A.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/11-A.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/11-B-HL.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/11-B-HL.mp3
index df715970cd732605a004da6720eba025d70b15bc..1285d5bb580305127dfb399274d244739a86ee25 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/11-B-HL.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/11-B-HL.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/11-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/11-B.mp3
index 737b643406cd9f2ae17a4f70d4bac4b9c968612c..20b4e87f773cee8a39f653567afcf5d571eab61e 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/11-B.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/11-B.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/11-C-HL.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/11-C-HL.mp3
index 90a48e6bfd78f61e7034bdb78e160494a25f8364..02c3e8377964246c5923ea75f0ad908688578a71 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/11-C-HL.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/11-C-HL.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/11-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/11-C.mp3
index d878df9371bc6fe76d2ab30f38ff1cdca001f46e..a82daa83fccf873d3f5a89001c94a5ed9e9c1831 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/11-C.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/11-C.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/12-A-HL.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/12-A-HL.mp3
index 2fc4b37a7494194aa76eccdf35ca41942371e8a1..4db00cf7d885e3de625934d0b08dd0dd9421958a 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/12-A-HL.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/12-A-HL.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/12-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/12-A.mp3
index 41dc999cdc9b6354b22bdf315ca80b09c8e317d7..0ee26a83ce155f2efba656fc692d92fa4530f62e 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/12-A.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/12-A.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/12-B-HL.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/12-B-HL.mp3
index 7a2db0e8d326b9181c30330fd4932ae0d756334d..d945b46e12d88cdcccbb338a2c32662ef98fa743 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/12-B-HL.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/12-B-HL.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/12-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/12-B.mp3
index f7030e45dba8f783b545aa46386898a81464b690..1d800c917c339991394dc27254ff4bf384279023 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/12-B.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/12-B.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/12-C-HL.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/12-C-HL.mp3
index 1cd10b2e4f95b938c67ead489a9cdf7d95b5a9e9..770a151f4b90509e10738f7a7f7f3765be6d79d9 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/12-C-HL.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/12-C-HL.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/12-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/12-C.mp3
index 8ab7719a5295517912296eada540a2ca730b710f..5f21ef1d5154d00ea1d3fe8a05a5d524bfcda50f 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/12-C.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/12-C.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/13-A-HL.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/13-A-HL.mp3
index f98dc6113ca47d8a41f38da41676ce0b9269dad8..cd9a5b6112d7da1d53890fd53e38d58533057759 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/13-A-HL.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/13-A-HL.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/13-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/13-A.mp3
index 95d01a73fee5ed4b563d9ab1f31dd022a9fe26f4..fa6855554339c5923050091671ffb144436f80ce 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/13-A.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/13-A.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/13-B-HL.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/13-B-HL.mp3
index e554bb48866df75bc9b996edc32e90ce5e5acc2a..bc36dd964462e039cf40c22f9352ddea6eebb2bf 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/13-B-HL.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/13-B-HL.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/13-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/13-B.mp3
index 80bc5968e0809685ad01f046e1af4910aff7d361..04e86a61f3cae5fef4ef5c9cf99bbc9beaec5224 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/13-B.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/13-B.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/13-C-HL.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/13-C-HL.mp3
index 1d5e09145cc0b322026bda2a08726bd44a4dfd0c..00995d6fe49ea38dfe0b1465b093590be4fdbebc 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/13-C-HL.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/13-C-HL.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/13-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/13-C.mp3
index 14c032e2fc0706bfb69f64c069b32b9138636a5d..987980bc41f60cdb396955c42a7922b7f7644462 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/13-C.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/13-C.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/14-A-HL.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/14-A-HL.mp3
index 4737aab110bb2be7626bbb16b4fb5c771a4bac48..fe260f04b9c2ff4726790386d08ea116e7fa562b 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/14-A-HL.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/14-A-HL.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/14-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/14-A.mp3
index 0f2ad6bdfa1e47bcb3f19677259a226ffdcc06d9..32abc4c491db1e08c603dac705a86f5c57bfa271 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/14-A.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/14-A.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/14-B-HL.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/14-B-HL.mp3
index f6c240f1b79fac0cc7392d2f0d5c72a6a5a6f85c..4188f38ab3fde7578553b71a671adbe896405b75 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/14-B-HL.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/14-B-HL.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/14-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/14-B.mp3
index e0351ae4923114e3fe580807458fe71be2a80be5..451b81e33afda9a98cdcd517ce7561c2db4cfee0 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/14-B.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/14-B.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/14-C-HL.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/14-C-HL.mp3
index 263a5308e4f5648e41a865f69b9833e51dc49037..d42e3687630d029721d17545d012afe25d67c269 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/14-C-HL.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/14-C-HL.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/14-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/14-C.mp3
index e608bfe32835a96d17b54d9f8aeeb3ecda8252d5..28640ef659739eb040c6de4c41fbd31d8b3bc1ec 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/14-C.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/14-C.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/15-A-HL.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/15-A-HL.mp3
index 7060f060df02ef648065c9793049afbfbab5bed1..79eec2320cd367defccd91b4e609b39dae58c16d 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/15-A-HL.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/15-A-HL.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/15-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/15-A.mp3
index da38125766d687f9115bd1ded1d4455c16ea895c..961adf63679f263ed047751d3f33ab0a97b3ae2f 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/15-A.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/15-A.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/15-B-HL.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/15-B-HL.mp3
index 8f3fc72ec8bf82cb5226c922490c0ec7f56d08c5..0c574e70c6948606f260658e0d2826e91a806a87 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/15-B-HL.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/15-B-HL.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/15-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/15-B.mp3
index 9a5cdbf02d535a251e36ae37ea8ad05e97d55209..d3177faf8c60ba02e04d499628b8a08e9e12c045 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/15-B.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/15-B.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/15-C-HL.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/15-C-HL.mp3
index 0bf6f4cd77f7d2577f4d439aa88f1eb830a12479..c0126f82a4bdaa89422177715d383e043ac2f13d 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/15-C-HL.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/15-C-HL.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/15-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/15-C.mp3
index e8037145fa40fb54ee8860b878734d6f80eda412..6f3b48adb7c7c4905c7bcd11524d9ac3451ce026 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/15-C.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/15-C.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/16-A-HL.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/16-A-HL.mp3
index d5dd952669dcc617353d191faf0601bc65b23a63..e85aebabedc2eedebb242cbf5cd2526f617b23ea 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/16-A-HL.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/16-A-HL.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/16-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/16-A.mp3
index 9745074eed4efe668dba47d9ac90247603127015..bbcee517c63ecad3f1ef2046d843a569213ff1fa 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/16-A.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/16-A.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/16-B-HL.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/16-B-HL.mp3
index 366a63ade741377d765fcca67524c8686c05d290..d59ef06f1d6ea4e00d5cb90b4c53a6536a326313 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/16-B-HL.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/16-B-HL.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/16-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/16-B.mp3
index d509714e55cb298e64d1fb29dcd72bde360ccd49..09015c9e7c60f2bf332b099c8d07c7aed2bbba39 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/16-B.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/16-B.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/16-C-HL.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/16-C-HL.mp3
index 0c091c2b546ec34618fb349de38708e55d36f1ad..d94bbe6fffcab71873660b20458c1eaee7ea7ab7 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/16-C-HL.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/16-C-HL.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/16-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/16-C.mp3
index 036a92eb1710f2c12001b541386dfdd8c2e58381..57612b6be9dff4be2bded73cc26a248beac05057 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/16-C.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/16-C.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/17-A-HL.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/17-A-HL.mp3
index 86eeccb4d893f7d1069ceadedeaca20630fbf3b0..90293c2a2b6ca8c8da6f4f50c62b4c7b43964618 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/17-A-HL.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/17-A-HL.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/17-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/17-A.mp3
index 67d2eeb7272494c5b6a1245091d9f958f4da92de..3358a5878a387503a0c755fe0bc1427123b1203e 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/17-A.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/17-A.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/17-B-HL.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/17-B-HL.mp3
index e2008cdfc845fd92a0dd9da3923fcf0314daa679..c548ccb8098b36a9e1bd5b193e67aea94a759fab 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/17-B-HL.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/17-B-HL.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/17-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/17-B.mp3
index c7f9af46434f724347f7cfe73b16187a4b3b47e2..29f538e9245b7745455066d2a14b790811c531c8 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/17-B.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/17-B.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/17-C-HL.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/17-C-HL.mp3
index cbb514ffa2f2a7a9a573ed49dee43c4fe9db43e6..08e4140686f4cf602d9e1465db1606f1f3a39e59 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/17-C-HL.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/17-C-HL.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/17-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/17-C.mp3
index 16d60cd02f854bc28010fa69f2987c58937aef00..94cfdbf53ee955138d2ccc2aaf7cc1e793b07227 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/17-C.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/17-C.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/18-A-HL.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/18-A-HL.mp3
index 63b10a4ea64c0ecccc662d567c198cfc78c0a0d2..aa78ce0059ac11a0ab90679372954fbdd677acac 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/18-A-HL.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/18-A-HL.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/18-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/18-A.mp3
index 61b9c9309b5f82cd257aa64becc4cf37e407ea8e..df68ef3153b485e3384c0605311a762b95266b9d 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/18-A.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/18-A.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/18-B-HL.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/18-B-HL.mp3
index 69821320908a6041836b4cf4c13bdce6ce2bedfb..79c197e00cbea56ffef0f08e247c7b25f5dc2285 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/18-B-HL.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/18-B-HL.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/18-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/18-B.mp3
index ab4d3268a60f57ad676260f7ecfef33f8281171d..b2264e51149056eef827fca93486603e6d29c2d5 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/18-B.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/18-B.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/18-C-HL.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/18-C-HL.mp3
index b437b1ea1c4286df752342f36276387342514eeb..4f25337f5a943175b1223441d9ab028b08b383ca 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/18-C-HL.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/18-C-HL.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/18-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/18-C.mp3
index 16c30a5e4103a22ac3166818acec13e464f30376..9cdb0a4e1f30d40b6d0edfe4ccaa19eb053818cf 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/18-C.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/18-C.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/19-A-HL.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/19-A-HL.mp3
index 06dd3f47805e99b02853b03f61a8084c4e4278d7..4080413fb8a2045fb2f2422f0b042161ea4502de 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/19-A-HL.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/19-A-HL.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/19-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/19-A.mp3
index c81afedf36ac6ea0a96f3664e19c2ca581e4d7ce..c75a03c4efd88b5bee26ae0cd6f9e89458abc36e 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/19-A.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/19-A.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/19-B-HL.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/19-B-HL.mp3
index 416dccd09f557c3e1bb11b9b3110c6db20fc1562..1a342fafa96b5f77976fc380aa32a16462c5cbd9 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/19-B-HL.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/19-B-HL.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/19-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/19-B.mp3
index 31881d18b5dd2a8c5fdccea91225e3f10036f0de..87463d308502d4bc352560b9668b07064ac863ee 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/19-B.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/19-B.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/19-C-HL.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/19-C-HL.mp3
index 6c7f8541d978dbd163bc250b37a54a26c6ce573d..c315b400b88ad9fdb484257f7020de988876a804 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/19-C-HL.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/19-C-HL.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/19-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/19-C.mp3
index 08539bac6c7247a9b1099fdc86d44c15d0ac0b3b..bca58b6f34739b5a3654bd6a736fce3a92d1ffd2 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/19-C.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/19-C.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/2-A-HL.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/2-A-HL.mp3
index 5971d8f55da3fb1cf53d4412cea572d077fcd52b..d7fd3e3715369e419f94a2e9f8aec21409938d19 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/2-A-HL.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/2-A-HL.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/2-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/2-A.mp3
index 122fe586a848294f369583ef817b72129da52655..c17c80e49b8833052d339060f11173ff615ce183 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/2-A.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/2-A.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/2-B-HL.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/2-B-HL.mp3
index 64394c57a0b31db6f6c7b56af30686de9786e66e..f036ff80da7b58302e7181889533f3f579d630d1 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/2-B-HL.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/2-B-HL.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/2-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/2-B.mp3
index ccdd865b1a0cfa0e73eb33ceaa493ed1eebed286..56cf798285e24785bb9e561bab9fd0bca3075ad6 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/2-B.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/2-B.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/2-C-HL.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/2-C-HL.mp3
index 953f1d1878d52b1f74a3dce030e06d7db3c2a380..13eb5ef12495755e430ec328a2e4347a4b965648 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/2-C-HL.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/2-C-HL.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/2-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/2-C.mp3
index 31724c37173bc45d230cf3646a7a69b16009125c..434577145b41c355d105f9ccc3e9f80c86ec9d52 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/2-C.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/2-C.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/20-A-HL.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/20-A-HL.mp3
deleted file mode 100644
index cc8046f8fadce183ea7ffdad6cb79381fee351f3..0000000000000000000000000000000000000000
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/20-A-HL.mp3 and /dev/null differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/20-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/20-A.mp3
deleted file mode 100644
index e0c34b0712a5257f6920cc1fe5a1cadcf92fe4cf..0000000000000000000000000000000000000000
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/20-A.mp3 and /dev/null differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/20-B-HL.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/20-B-HL.mp3
deleted file mode 100644
index 3a86d89372e4d52b4bccd04895ca6b184686232d..0000000000000000000000000000000000000000
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/20-B-HL.mp3 and /dev/null differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/20-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/20-B.mp3
deleted file mode 100644
index ef8c441740809790c06f03db7b9b0bf19d3e3fa4..0000000000000000000000000000000000000000
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/20-B.mp3 and /dev/null differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/20-C-HL.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/20-C-HL.mp3
deleted file mode 100644
index 71b73471e4d912b0357ae47430e32c8c62d3fa5e..0000000000000000000000000000000000000000
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/20-C-HL.mp3 and /dev/null differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/20-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/20-C.mp3
deleted file mode 100644
index 32cf56554777cb7b7b842d37f2423099a7590604..0000000000000000000000000000000000000000
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/20-C.mp3 and /dev/null differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/3-A-HL.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/3-A-HL.mp3
index 21a0f5f3f89a7424b3e1a2ba70841cd3ee80015c..599ed877e7c2190d1c9213a525b6a0ba38b1476b 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/3-A-HL.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/3-A-HL.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/3-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/3-A.mp3
index 93e226e6d1354ebd119f7af1217a27ce5083b0cd..f635d72640f7d88647af34486ef7b917acc86a08 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/3-A.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/3-A.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/3-B-HL.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/3-B-HL.mp3
index 98d7923c97e2cba808a03c664f984ac7bcfdf9c3..2f728d0f82b46ad26afabc99f4f58513165d633e 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/3-B-HL.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/3-B-HL.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/3-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/3-B.mp3
index 5e06858461006e6d17f3af10a7adc140cd070ccd..5789e44dd9339e1d767b23b6ffa3f80a8d354425 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/3-B.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/3-B.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/3-C-HL.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/3-C-HL.mp3
index a6e2d5615951559bb33fcb83d0d2a6d1b6b3dea6..b53fb1208847f5ac44d87c48c8bc30440d67e7fe 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/3-C-HL.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/3-C-HL.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/3-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/3-C.mp3
index bdae893ca757c767bdb633e6a7711772936916be..0aab3f9ec6f26063cabbb9d36d11a7fed9790a5d 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/3-C.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/3-C.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/4-A-HL.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/4-A-HL.mp3
index 86fcd88fd14e2d2495c5e414a203c9ac33faf65c..53d82a198d5804ccaaa0440faf21cfff468c9389 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/4-A-HL.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/4-A-HL.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/4-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/4-A.mp3
index a57014fc2868eab4c4f3382f6ab441d666b7f200..81e6fef0d624ee718dade7a9fc5f5034e1aa7653 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/4-A.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/4-A.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/4-B-HL.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/4-B-HL.mp3
index 8c0eb1f51d3f2932624d8ad52f8633fc37b354d7..e5b8198db869d8aabaa4ef4bf9d3c63cebc35c82 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/4-B-HL.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/4-B-HL.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/4-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/4-B.mp3
index 48a144b2182b49f8b7a94e96a0d133783a82d45e..5287af4bf6c284ceb6561b139b7da7fb79948cc9 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/4-B.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/4-B.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/4-C-HL.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/4-C-HL.mp3
index 0718d9e31422988ad1eeb0e481654a51a3e1ef5a..89d94766a1b053fd6bade72e8803082a29087770 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/4-C-HL.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/4-C-HL.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/4-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/4-C.mp3
index 3935e27f8d4d10a51273c397a25daa61d22a2cd5..84ac50ad73b3b558f20cf8fa85cfec954957123b 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/4-C.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/4-C.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/5-A-HL.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/5-A-HL.mp3
index f985c858bc2fd193e677d51bc3e8c56ba53d00fe..043a300d9913f59975cc863be017cfac884c4eff 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/5-A-HL.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/5-A-HL.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/5-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/5-A.mp3
index 6de61553bcd534dcd4ecf9d751d7f9c4e7ba3303..9ac4ba69b34c69165898ae8fbb085c8f28b0c80f 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/5-A.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/5-A.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/5-B-HL.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/5-B-HL.mp3
index 98ca0b0622ed637d9a627f99448a2c5fc136c70d..73e76c4cd635d68ed6d10426d47fbe93f5393ca3 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/5-B-HL.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/5-B-HL.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/5-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/5-B.mp3
index 04ddc3216b55b0599cd03700a9f678df68025e20..07f47486c3b55d9c1f138d34479b00520a813ac8 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/5-B.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/5-B.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/5-C-HL.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/5-C-HL.mp3
index 46d880889ad48e82e37a1cc699aba938e3570561..b9c1fecdbac95ca596559d32a6279cbe2da99fe2 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/5-C-HL.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/5-C-HL.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/5-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/5-C.mp3
index 20bc82f7a569e809109ab2999e23da43e486fc95..abf8b8ab5211d33482ce5628a98453c9cfd5adf2 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/5-C.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/5-C.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/6-A-HL.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/6-A-HL.mp3
index 40b8a75cf53cbe5cd242f5cbfafeee8e2a7fabba..f522832bc6fe764da9fb288f6a718057869b814b 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/6-A-HL.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/6-A-HL.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/6-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/6-A.mp3
index d354a4206177aacd0825c448ce73486f15f3c6e1..bb0909bafb7d313730f67f18888e073359202bf1 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/6-A.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/6-A.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/6-B-HL.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/6-B-HL.mp3
index fa395d5c1e42958aeada73d466f41520606cdad8..742dc1ebb186ce160500b0d903c6646f8682a348 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/6-B-HL.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/6-B-HL.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/6-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/6-B.mp3
index 4fde32edaf8ac55abcd107ac1bae8af8b0810418..e1c369e71588fa8e8533a92d32d29902ff2cda25 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/6-B.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/6-B.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/6-C-HL.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/6-C-HL.mp3
index b58b9fa8cc31a63d51666fcaec9a267ba1134b77..559020dc8bfcec837aca2283cef99e84bf335201 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/6-C-HL.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/6-C-HL.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/6-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/6-C.mp3
index 8ceedd0cd489340da70cce4283ed577c8a40be6d..dd7743cde33a46c55fc461a98076b348a737780d 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/6-C.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/6-C.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/7-A-HL.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/7-A-HL.mp3
index 3670a8a0c0318898998fe353106f1602b2240d03..5809d2849c7224f0621c3c22d8bad872d40f70bb 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/7-A-HL.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/7-A-HL.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/7-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/7-A.mp3
index 270d06362354e3f3cd76da93e3f57eb6bb04dc2f..7ec9b02d26ae1b97b85f9694dd6608f092641105 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/7-A.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/7-A.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/7-B-HL.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/7-B-HL.mp3
index 25b0bca064e02d36b53a8a67ea31965b7981dfbe..35491460797767c894126e4486282203c1383114 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/7-B-HL.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/7-B-HL.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/7-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/7-B.mp3
index 6bc4449e2cd4a3ab67fd4a0f16e1dba683bfee44..8d6bf9dfd6e29d0bd6ad19df9ec9686f91ac82d1 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/7-B.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/7-B.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/7-C-HL.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/7-C-HL.mp3
index da556049c0ecf3fbf6f8e5869d48c6562e65ca64..2b85d96a55cdecbdf983b61535d425735de69f8a 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/7-C-HL.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/7-C-HL.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/7-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/7-C.mp3
index e0ca38857c77208aac009c4d9f28259b16843db5..b22403516f4fe0f72a4982dbc4c90d348de2c84c 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/7-C.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/7-C.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/8-A-HL.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/8-A-HL.mp3
index 9e28482a215f159f36005b723396ec90fdaee921..3e9ffa8ee7016d9e8c700bafd0928185416bacb8 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/8-A-HL.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/8-A-HL.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/8-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/8-A.mp3
index 92cdc8b48577e489ad121637b068626f3fefc135..ff7846ec0bc0eef8d827eca627399e86b5c71f77 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/8-A.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/8-A.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/8-B-HL.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/8-B-HL.mp3
index eb31a9b088f02eca31cfd691c5d9839d53e12ef6..ac06fe1d7c029a446e29918045959839e860fae5 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/8-B-HL.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/8-B-HL.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/8-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/8-B.mp3
index ae72972dde1dc426c25355504170d3145f87fb46..de27e6faa4fe8feb944eaaf953e36a18946f1134 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/8-B.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/8-B.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/8-C-HL.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/8-C-HL.mp3
index 49aff152897632f75dcaa17adb0e1430538821c2..9a334c56d59e7125eb0c5d4a942e673d6465047a 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/8-C-HL.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/8-C-HL.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/8-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/8-C.mp3
index ff3288d3aab755808c5e0a82933d511dfc7e321b..f90527d96f37f495c6c96c3859600313e7f016f4 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/8-C.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/8-C.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/9-A-HL.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/9-A-HL.mp3
index a5b418a4d5d43c300f3e3653fcc8180f5b01f4dd..d0962a2f4c56d0ab41e200424dfcb7b0147c13d3 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/9-A-HL.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/9-A-HL.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/9-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/9-A.mp3
index fd58eecf569a7b54a48bbc5e254acd4b8800a758..44a2d7935536a59939804371a5d7a6c688fc4cd4 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/9-A.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/9-A.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/9-B-HL.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/9-B-HL.mp3
index 12348c945c0e7eb3a806493fc486b0461c10e5e7..7d008b63f194d6bc10005001f7fa522e68e92d7d 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/9-B-HL.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/9-B-HL.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/9-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/9-B.mp3
index d40bd813faebc17677c3cf33415efd879a7755fe..495d4e3e32ffbffa76a609a623592eb7fe735f34 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/9-B.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/9-B.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/9-C-HL.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/9-C-HL.mp3
index 2d5bcd58e5a95f56187a2f61b524a37d7661688b..a5621c5bdde8d6604e99ffda6a0b60d7e474c8c9 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/9-C-HL.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/9-C-HL.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level2/9-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level2/9-C.mp3
index 0a810c6476a0bb0844352ae2f671b8f2eb534c86..de2aef654cae282925be98d3b3188edec70add64 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level2/9-C.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level2/9-C.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/1-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/1-A.mp3
index 425bfdf4f992bff43e1599bd04f1ac59d489882d..0680b4eb7644706f528cec37e94629c63d88e7fd 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/1-A.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/1-A.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/1-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/1-B.mp3
index 337ef7fbe2e640fa80087f0d42b7bbe40edb6cc8..137c01580acd8e721cf42deb95ed96e60cc0a3ce 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/1-B.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/1-B.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/1-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/1-C.mp3
index 5b27b969e725cae68fadffb7594732eda972f6bf..de684a22c3e6defcedddd651d5979a153e65ce51 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/1-C.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/1-C.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/1-VZ.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/1-VZ.mp3
index 84349fe4bb8e5e04e4137c1e5b4253971df9389d..0c1dafbe20ff208beb417cd3d075c682a4d269c9 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/1-VZ.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/1-VZ.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/10-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/10-A.mp3
index 133be58ff4e04b63f247b0813446c4a62076e352..a2ff7b1c934868c70b4e436effb2aa6dfb724920 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/10-A.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/10-A.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/10-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/10-B.mp3
index 7c2782c973075cef92ce0d6883ab7fab06a5dc2b..9c08d97543dbce9c3fb2932aa1e671e96c14e4be 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/10-B.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/10-B.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/10-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/10-C.mp3
index 24050be56f0632809e2c3faf7022fed6c0d7d880..f388f8acef6bab4b137d9b9a7d9d63b74212bd62 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/10-C.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/10-C.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/10-VZ.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/10-VZ.mp3
index 03b8c9f91795eb827c2d8209b117e16f48fcd825..94db6c9994b93396a9e33c92b83eb0bfc4deb0f2 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/10-VZ.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/10-VZ.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/11-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/11-A.mp3
index de8c4d14d7ecbc22a019acd6a3b34b31c325a810..71948eb54ad9ac526df8e94f3701107c566c4c41 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/11-A.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/11-A.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/11-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/11-B.mp3
index 6ed3e1c2d3c0f9398da52621106bb46dbdf81a1d..18b9e02a2d2902ce14f46181f296de73a9f38c82 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/11-B.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/11-B.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/11-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/11-C.mp3
index 203e284f73c4b5c2e8a45a1e3bd5a93763bab781..d1ca4efce99baea2091485d1e799c79de5ba7868 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/11-C.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/11-C.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/11-VZ.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/11-VZ.mp3
index 92fd917f40060a9b8255f8808834b4536a4e1d60..0a8ac8b840dfc96184babdaffe1525c56269fb57 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/11-VZ.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/11-VZ.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/12-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/12-A.mp3
index 22bc1f926d14368ad1da1e411f6d786ae6ab12d4..020d0dbeb84898293bf494837d7a9c599b019220 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/12-A.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/12-A.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/12-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/12-B.mp3
index db6a0ab75ba961d8390e52ea23274491acb683bb..6a78967f17f4bfd5e8ae12677bbbb49abbc1080e 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/12-B.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/12-B.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/12-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/12-C.mp3
index 3751b1e8158b218da4a9fa4301eef3f65ba4e28c..36b24ab46b738ee9c28005b67c2502ea1843a2d9 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/12-C.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/12-C.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/12-VZ.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/12-VZ.mp3
index 58e933601f6be02ed491b3815341689f9a676bae..dc35661fdfe1278ba9db91102a35fc1c6cc53253 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/12-VZ.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/12-VZ.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/13-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/13-A.mp3
index c1e304e341fccc5f74b541f9c2884a655293760a..b689a2921398634f49fb7d881565e308084ae5b7 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/13-A.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/13-A.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/13-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/13-B.mp3
index a2920f62c264a7ed922a2e7dc7cd1784af87b97c..fa6f18001ea82b31e8630d742e46115a17bf5afb 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/13-B.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/13-B.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/13-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/13-C.mp3
index fda23047b6bc3ed696d4d6ea3d7520630f9f3bfc..db40a5f79db0050b7fd95d13bc11502d1640aaba 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/13-C.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/13-C.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/13-VZ.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/13-VZ.mp3
index 64e7b0411c13f2e0331f520b0d0b9e2dab90979a..26df6a27a1e5298e4d80bdc247fd94c01f532b31 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/13-VZ.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/13-VZ.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/14-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/14-A.mp3
index a659072f6f80dddf03fec7cde4bacb1b6184ab2e..006ca0cf38fa4b2c2c342acef4a44e8a77687b18 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/14-A.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/14-A.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/14-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/14-B.mp3
index 0ba1fd465c2f07197e9c4e969ff614cc54eb96fc..fc3a04af5c1fab55cec25f17f64bdc43027f3040 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/14-B.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/14-B.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/14-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/14-C.mp3
index 2e072dd1d71ed01e238b7ddde07fbcb3f968a20a..6a992e41eb6d9e2784633a1e84112402222a6a6e 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/14-C.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/14-C.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/14-VZ.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/14-VZ.mp3
index fa57c2b14cf4c239d853768de9a205a4dc90f376..c1c0eee95af8fe6a05d60b8ee967718e1c6ffab5 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/14-VZ.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/14-VZ.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/15-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/15-A.mp3
index 233e65c163ce323af8025e94730c03d349e75c35..2cb908c133256a98d3a23e5a03e7457157ccfab3 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/15-A.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/15-A.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/15-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/15-B.mp3
index 6a7d36c48b1e9f3a1a4ed9155b51013908f517c9..f5ec32de847e89e7060a62f85c46d3b706829cb2 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/15-B.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/15-B.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/15-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/15-C.mp3
index 65553bb61d98f628683a81093be85895951f9388..0fcc302eb41a1f545c11fa7fd1c0c4d76f53e06f 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/15-C.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/15-C.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/15-VZ.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/15-VZ.mp3
index db82ff70216e34235ff43efda153f7b0a5b7bd76..00ea5f6f623085d264f5d084917a6411283e2f03 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/15-VZ.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/15-VZ.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/16-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/16-A.mp3
index 1ae3041fde7d232dd524867ac83a94a379ce9551..b6e0f9b529fcc9ce966e45a41762d3422ff67444 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/16-A.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/16-A.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/16-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/16-B.mp3
index 72f5af52fe54a8314b49375341d31edd53552461..51570cdcf4920448397f5c8945b33c0685efa9fd 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/16-B.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/16-B.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/16-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/16-C.mp3
index 89272cdd568f651f7527db202aabccf6ea99b5ae..ed316a61706cf6d162a72b7ad08d96e714c4f6f2 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/16-C.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/16-C.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/16-VZ.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/16-VZ.mp3
index 2b58d6865c859807e012ad80e557c113ff1f6a8a..f952076d491000195152fdb08cd3c6bbe10f0643 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/16-VZ.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/16-VZ.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/17-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/17-A.mp3
index 37529ad5fcffc4f6ebc6f624c7078816327325d2..c92a81a12970b4df163c96495d1e723bbe350c00 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/17-A.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/17-A.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/17-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/17-B.mp3
index c8c48960e4f396877ba468d90cd9697aa67d8eb4..b0d5ec29c2b47a8cf10ea2c7eb6ea4dc79a0517d 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/17-B.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/17-B.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/17-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/17-C.mp3
index 76c9e68f4d6de99ff86404fafd9ec63b9b6803a7..cb5b1ba9ae01c28cb062b38f0b9bafbbecbf6025 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/17-C.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/17-C.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/17-VZ.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/17-VZ.mp3
index f464e2d98f29d4b7189795f37148a6de1b31f725..ee57b51b25e42a6a00243365011b24be94d14216 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/17-VZ.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/17-VZ.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/18-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/18-A.mp3
index fdc276c908e1046e14630ff25f1e9fff672ad1ff..34d63e5a6cf8439b6fb9629fc4db68aa86dfbf54 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/18-A.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/18-A.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/18-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/18-B.mp3
index f72741d367bc5df35566ee6061fe27e215760d89..9f51697ab0ed71ce10ced341d0281ffdd48c62b9 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/18-B.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/18-B.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/18-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/18-C.mp3
index b0710ade3de7288c60d388516b6fb11f942bf989..24196da25c692afc4475e0a348dcf28bbf07e80b 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/18-C.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/18-C.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/18-VZ.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/18-VZ.mp3
index 77064ffdd224b42579429ed197db065761787843..d51ce71652f8bbe04d6381efd22dec2ceccb827c 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/18-VZ.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/18-VZ.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/19-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/19-A.mp3
index 5b495362eea1a085dce430bfadd53af942b68238..36912c34bfef5106eb0775647b790f7e3880df3c 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/19-A.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/19-A.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/19-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/19-B.mp3
index 4fc8bb66cbfa594e292f18b6832904884ba70ec6..e393f6fd936ce27e4bfc91c3ab7e16340f3cc471 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/19-B.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/19-B.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/19-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/19-C.mp3
index 58aff6859ace7a0d06e326ebcde8a8c92416ab82..82fd92b604e132618a62e1a887793398b9d84089 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/19-C.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/19-C.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/19-VZ.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/19-VZ.mp3
index ac41fe5ceca17bc5d0bcfb894bb84fd7a4666be6..fd0648ab5775105fa20ee1129669aacccd08959f 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/19-VZ.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/19-VZ.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/2-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/2-A.mp3
index 4c82ed81c64ed6614b6c01d6344f93f2ec3dabd4..6ada7b51de733178984163e307dcd2325d57151f 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/2-A.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/2-A.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/2-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/2-B.mp3
index e91bae64287bba82926b53056072be50b6e8ec72..1f064067c56c3d11fca60a89801da5cec406e953 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/2-B.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/2-B.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/2-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/2-C.mp3
index ff99e86347c108f1873a88ca0fdd2ea599027871..0f52f99502fb63e9fd56186f8c5d621f771c2380 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/2-C.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/2-C.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/2-VZ.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/2-VZ.mp3
index 9ee082baeba4bd4c551405bcf950ff29bf0d48d2..bcd7f5e84e90c9ce8db19ef0f5bf9eda1f66b862 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/2-VZ.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/2-VZ.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/20-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/20-A.mp3
index 2b133d98daff77bee9d66b9e361f3b7fdc24054e..ac9178185a384a537fb292f31ed97e8e8fc39831 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/20-A.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/20-A.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/20-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/20-B.mp3
index a926121601ace9f32f344595956ac50d47df30f3..34e84fae159244470888162a57f033bcfdbb263c 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/20-B.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/20-B.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/20-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/20-C.mp3
index 884af0446ca929ffa7ad0a3e687fd18fdf86f0d6..77a83b985472407cfbbc984de6403443a68a1e6a 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/20-C.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/20-C.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/20-VZ.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/20-VZ.mp3
index 64e9760b735fcd485dad4578017dd405db40b78d..c6a2cafdca18c698ac763b5707cdabfd65f3f70f 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/20-VZ.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/20-VZ.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/21-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/21-A.mp3
deleted file mode 100644
index 5c975a810b66c30e8476efa70093a55056e3a875..0000000000000000000000000000000000000000
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/21-A.mp3 and /dev/null differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/21-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/21-B.mp3
deleted file mode 100644
index 712d6d6bee3863d15063958459e9f15e196d21e8..0000000000000000000000000000000000000000
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/21-B.mp3 and /dev/null differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/21-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/21-C.mp3
deleted file mode 100644
index 2adb63fa95c4cf688672c7f90640b8a5a97b3200..0000000000000000000000000000000000000000
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/21-C.mp3 and /dev/null differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/21-VZ.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/21-VZ.mp3
deleted file mode 100644
index 11a9695a2907d588790520dded239fe1f0cb1c96..0000000000000000000000000000000000000000
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/21-VZ.mp3 and /dev/null differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/22-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/22-A.mp3
deleted file mode 100644
index ab733e6db4d6f1d5b700b83f346c7a0dfe657dc8..0000000000000000000000000000000000000000
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/22-A.mp3 and /dev/null differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/22-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/22-B.mp3
deleted file mode 100644
index e400298e15aa4ecffa720b2b169d3251ca72cf5b..0000000000000000000000000000000000000000
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/22-B.mp3 and /dev/null differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/22-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/22-C.mp3
deleted file mode 100644
index b064499ed5abea6ac7538d181618fc5800b5e809..0000000000000000000000000000000000000000
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/22-C.mp3 and /dev/null differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/22-VZ.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/22-VZ.mp3
deleted file mode 100644
index 76f7c39c24b1fa35563aac2fbb5a1cf364ecfe55..0000000000000000000000000000000000000000
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/22-VZ.mp3 and /dev/null differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/23-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/23-A.mp3
deleted file mode 100644
index a54c187d9f71e35a41f8261b115c94387805b15e..0000000000000000000000000000000000000000
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/23-A.mp3 and /dev/null differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/23-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/23-B.mp3
deleted file mode 100644
index 767b683483e8d3b361704869a87c74cde8800edd..0000000000000000000000000000000000000000
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/23-B.mp3 and /dev/null differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/23-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/23-C.mp3
deleted file mode 100644
index 15b895cd3db4d0dadc8e232a4d2992a042b77bf7..0000000000000000000000000000000000000000
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/23-C.mp3 and /dev/null differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/23-VZ.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/23-VZ.mp3
deleted file mode 100644
index 846dcfc96af9effecca0eb787678ecdc43474f4f..0000000000000000000000000000000000000000
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/23-VZ.mp3 and /dev/null differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/24-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/24-A.mp3
deleted file mode 100644
index 2876c8e217afc7f44175d933c8359138651dda46..0000000000000000000000000000000000000000
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/24-A.mp3 and /dev/null differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/24-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/24-B.mp3
deleted file mode 100644
index 9dd7d4681721787208fe202464cee27a295a41d0..0000000000000000000000000000000000000000
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/24-B.mp3 and /dev/null differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/24-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/24-C.mp3
deleted file mode 100644
index 212fccb8436841628335882df0c1a879fec1c5f0..0000000000000000000000000000000000000000
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/24-C.mp3 and /dev/null differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/24-VZ.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/24-VZ.mp3
deleted file mode 100644
index 5dd71507961599224471867ecfd3ee2fa496cd9e..0000000000000000000000000000000000000000
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/24-VZ.mp3 and /dev/null differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/25-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/25-A.mp3
deleted file mode 100644
index 4d962994722d060382d6923d9b4571c1fa4ef9b5..0000000000000000000000000000000000000000
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/25-A.mp3 and /dev/null differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/25-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/25-B.mp3
deleted file mode 100644
index dd3871f1d0065f9eb3d5fd029fd78b3149db2e3e..0000000000000000000000000000000000000000
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/25-B.mp3 and /dev/null differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/25-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/25-C.mp3
deleted file mode 100644
index 94c41255d98e5b25278b1193e43911164861d8ed..0000000000000000000000000000000000000000
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/25-C.mp3 and /dev/null differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/25-VZ.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/25-VZ.mp3
deleted file mode 100644
index a11ad14ba47704af568f98691e4cb794e763df7e..0000000000000000000000000000000000000000
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/25-VZ.mp3 and /dev/null differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/26-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/26-A.mp3
deleted file mode 100644
index 45147fd62f4ae05830152ba65349e0376d647c8b..0000000000000000000000000000000000000000
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/26-A.mp3 and /dev/null differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/26-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/26-B.mp3
deleted file mode 100644
index 67823fad6b291f874605f762c50c698f5e94444c..0000000000000000000000000000000000000000
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/26-B.mp3 and /dev/null differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/26-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/26-C.mp3
deleted file mode 100644
index a343382c292320d6124e02835e77c728705c4f27..0000000000000000000000000000000000000000
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/26-C.mp3 and /dev/null differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/26-VZ.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/26-VZ.mp3
deleted file mode 100644
index 072af81bafa8d0afc737e1f33962e8030cc4c9f9..0000000000000000000000000000000000000000
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/26-VZ.mp3 and /dev/null differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/27-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/27-A.mp3
deleted file mode 100644
index a853e2021a7a8d9baeb226bcda8825de05198328..0000000000000000000000000000000000000000
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/27-A.mp3 and /dev/null differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/27-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/27-B.mp3
deleted file mode 100644
index eb16fa35b1a3849ddb9cf1d3b2ada6b3a404e98a..0000000000000000000000000000000000000000
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/27-B.mp3 and /dev/null differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/27-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/27-C.mp3
deleted file mode 100644
index 2123254e83ec7b6be8a1a4281c9fac644755f498..0000000000000000000000000000000000000000
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/27-C.mp3 and /dev/null differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/27-VZ.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/27-VZ.mp3
deleted file mode 100644
index 6687877ac993f46233a2dcd273aefe0fe17e43c6..0000000000000000000000000000000000000000
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/27-VZ.mp3 and /dev/null differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/28-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/28-A.mp3
deleted file mode 100644
index 39c91fff0c5fe07b2bc21fcdace965a8cf5696b8..0000000000000000000000000000000000000000
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/28-A.mp3 and /dev/null differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/28-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/28-B.mp3
deleted file mode 100644
index d5d642ee67bbfe6e9b411ab0cd2bd16088566348..0000000000000000000000000000000000000000
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/28-B.mp3 and /dev/null differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/28-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/28-C.mp3
deleted file mode 100644
index c54f7b12f4a22f2413fde1beb965a563006791e8..0000000000000000000000000000000000000000
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/28-C.mp3 and /dev/null differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/28-VZ.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/28-VZ.mp3
deleted file mode 100644
index 780d8e6d5d46a485cd230ce353166a64a6ebdf76..0000000000000000000000000000000000000000
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/28-VZ.mp3 and /dev/null differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/29-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/29-A.mp3
deleted file mode 100644
index a7ca46d65e0b7318951b98c25cb71f4b550754eb..0000000000000000000000000000000000000000
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/29-A.mp3 and /dev/null differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/29-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/29-B.mp3
deleted file mode 100644
index 55b309bd1171e25b19d979aa63b5e7b6381e01d3..0000000000000000000000000000000000000000
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/29-B.mp3 and /dev/null differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/29-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/29-C.mp3
deleted file mode 100644
index b9112a2f49c7add650f1717c3803e41c41e1c0f9..0000000000000000000000000000000000000000
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/29-C.mp3 and /dev/null differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/29-VZ.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/29-VZ.mp3
deleted file mode 100644
index f1b5df27266192ece8ac1a65bc38d6a5d90e250c..0000000000000000000000000000000000000000
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/29-VZ.mp3 and /dev/null differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/3-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/3-A.mp3
index a208cfaad1e755815942b34f5f797a1d6f8f3f4d..89fc6f0d43fac4211ddfcfcb404ff48986dc82dc 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/3-A.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/3-A.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/3-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/3-B.mp3
index 1e3e085c405e47580600c42964712db773fe34ce..89ca65cb1b798490785a7d197b7bd239a9cbaf55 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/3-B.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/3-B.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/3-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/3-C.mp3
index 8ea0fad752057822e222078f9056a58566aaf94c..449731da44a69b2e3c04ce12c7846fda26d7b138 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/3-C.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/3-C.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/3-VZ.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/3-VZ.mp3
index b61f9c68f4242f182b62f79f1ee7fe1b99c39048..2252b1bd5eb5f862b6631665f8ff5ee86c3cac12 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/3-VZ.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/3-VZ.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/30-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/30-A.mp3
deleted file mode 100644
index 1b664f6a12fbe091e2e1cfd1cea841a5e3723dd8..0000000000000000000000000000000000000000
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/30-A.mp3 and /dev/null differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/30-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/30-B.mp3
deleted file mode 100644
index f8baa88047d7ff03c7d4b12986713e8c1e395aca..0000000000000000000000000000000000000000
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/30-B.mp3 and /dev/null differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/30-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/30-C.mp3
deleted file mode 100644
index 09130064382a1bd1ff6ff9b30df840dc6a643bf4..0000000000000000000000000000000000000000
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/30-C.mp3 and /dev/null differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/30-VZ.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/30-VZ.mp3
deleted file mode 100644
index bbef773a748afb42dbe4dafea31bf5eaf100a58e..0000000000000000000000000000000000000000
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/30-VZ.mp3 and /dev/null differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/31-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/31-A.mp3
deleted file mode 100644
index ebb94a7ff740f33d65fcdd42f23f1eb74c363f3b..0000000000000000000000000000000000000000
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/31-A.mp3 and /dev/null differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/31-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/31-B.mp3
deleted file mode 100644
index d06d3f234a18aba67158ff7d45d0ab488658964b..0000000000000000000000000000000000000000
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/31-B.mp3 and /dev/null differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/31-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/31-C.mp3
deleted file mode 100644
index e6971081dd8ffbdd542b190dfddf4ee5a8fdd07d..0000000000000000000000000000000000000000
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/31-C.mp3 and /dev/null differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/31-VZ.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/31-VZ.mp3
deleted file mode 100644
index 413f827c9ff005312bb6672a5088037b69afe95a..0000000000000000000000000000000000000000
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/31-VZ.mp3 and /dev/null differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/4-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/4-A.mp3
index 20765ed031a8ebf715d7dd01635f11a5ae464d71..c0dc4983f8bdf3f8002b8837f26f596be8bf27fc 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/4-A.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/4-A.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/4-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/4-B.mp3
index d20ff5a12f6ac978d333709574e097e37abbb325..79c64418242181596fecaa3929901125f49a15f4 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/4-B.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/4-B.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/4-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/4-C.mp3
index 59b7377f3fadf3821fdc2677b32aeed80b102127..a0a03f6ea6be382553b69459b107db829883a8f7 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/4-C.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/4-C.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/4-VZ.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/4-VZ.mp3
index dfd731e59c56817de50d0b2eb2070b9a1e4049ce..ad08d88191bf41fc9a65e1c4315f87526daa0e53 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/4-VZ.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/4-VZ.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/5-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/5-A.mp3
index 52f2fa2cbdea0178c70022379027ff56ac7cdd44..858ea66819245728dccb6a0656f6c2f70bcab993 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/5-A.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/5-A.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/5-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/5-B.mp3
index bdcdc56b95d568a1bcfd8315324ce756a49ee86f..d0071020f19de4712c876e64367e01656b036254 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/5-B.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/5-B.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/5-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/5-C.mp3
index 581a1a09accff931f01f687080f06336c2cf0a24..4ae0a81a393e4a93d2c2998e847107b99bdd673d 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/5-C.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/5-C.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/5-VZ.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/5-VZ.mp3
index 78e726dc581105f6971b52a82831381b61fd63f2..99ea0740624540c24a58e98e7c35d458b303287b 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/5-VZ.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/5-VZ.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/6-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/6-A.mp3
index 8f3943f6189ade2ecb5e65f183c964ed0ae289f0..08a149330b19f98ff79e94b62d8f11a45ea6beea 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/6-A.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/6-A.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/6-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/6-B.mp3
index 2f9b596029136fee28298e39ff74e4a6eeba30ce..4fc012f8b83790616d119405672563889caabf79 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/6-B.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/6-B.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/6-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/6-C.mp3
index 2483509763e4af768f55d7f6e2e3fd1e66e52dec..d5fe693f7683d501d14f5b33c5f31bfa4ce2c1e9 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/6-C.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/6-C.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/6-VZ.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/6-VZ.mp3
index 5368876528c1cb31622ccf5e79492fb6934644f7..0ca6980bda60da33af601634ca4087c750ec5ade 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/6-VZ.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/6-VZ.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/7-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/7-A.mp3
index bb45aa4240d27cfeb394e5e884ac9332293e74b3..b31d979e03a324b78fe2f0b18fcb641527ee8efc 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/7-A.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/7-A.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/7-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/7-B.mp3
index ad156194eea56ebe667625408b8ff062a6de2542..0cf13bec0747f82ca43696d20bc25b51e52ba991 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/7-B.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/7-B.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/7-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/7-C.mp3
index 4563e92a2e9f645e95e3482cd2f83149f74995f3..f9f26d6abe7bec150afb3c664575f5946481bf04 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/7-C.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/7-C.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/7-VZ.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/7-VZ.mp3
index e083d15ecda7000d31ec629873f30c54bf755f12..3469b14906abfcd846594d8b928ef901a5e01725 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/7-VZ.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/7-VZ.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/8-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/8-A.mp3
index 0364e7d0128cb2a57e8a556674489e84d378286b..1597daccbc3cdef9505b3eb8ba2496a089b5381f 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/8-A.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/8-A.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/8-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/8-B.mp3
index 9edb3b815ce2c247bc08540faa88ea202d885059..87e6dd4a3a73e91209b8bd3dc0ac438e89fb899e 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/8-B.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/8-B.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/8-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/8-C.mp3
index d3f6e4535890a925d75a22e868fd7d6217e34823..c28658f73f292387b7767e0cc182ef0b398d99bd 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/8-C.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/8-C.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/8-VZ.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/8-VZ.mp3
index b85fa5781d10951290e61b1e7861323311078679..7a847ef222fccc53ca1a9325cc76af2dc4cb6fae 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/8-VZ.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/8-VZ.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/9-A.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/9-A.mp3
index fbda4ac2be7255be001caba8489dd2466479f327..babf95483a2d893cd6a4679c0e0cbe531f85d6eb 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/9-A.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/9-A.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/9-B.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/9-B.mp3
index e243ec656f8659ba8669d42ad58a55a12e9ca7c8..551d8039512284ff5d0a3e511798d4ac6bcb23c9 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/9-B.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/9-B.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/9-C.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/9-C.mp3
index d8252c1102e4ee747398549b2960a11512ee6d73..fa025cc4a844936e75e53a8ef1236176d48350f0 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/9-C.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/9-C.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/level3/9-VZ.mp3 b/core/assets/de/game/kidnapping/common/mfx/level3/9-VZ.mp3
index 34fde85e7e32aef55c3d8e5cffc72f7388297a9e..5017a670e426bc8e60660e513029662a222dac77 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/level3/9-VZ.mp3 and b/core/assets/de/game/kidnapping/common/mfx/level3/9-VZ.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/result/result_0.mp3 b/core/assets/de/game/kidnapping/common/mfx/result/result_0.mp3
index 6bd5003c0ea9430be7d1d46ce0275bc626f8e70b..80983b97db3a17e9eb900ec101d83ab22985c0c6 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/result/result_0.mp3 and b/core/assets/de/game/kidnapping/common/mfx/result/result_0.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/result/result_1.mp3 b/core/assets/de/game/kidnapping/common/mfx/result/result_1.mp3
index 4176a581dca822314bb0bec8bda990973a2b3d8c..5af30bede21ce76131ee0d9f526e28c6cdc7fff8 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/result/result_1.mp3 and b/core/assets/de/game/kidnapping/common/mfx/result/result_1.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/result/result_2.mp3 b/core/assets/de/game/kidnapping/common/mfx/result/result_2.mp3
index b5987162b2dcfde830ad6b992909566c8c27180e..f569732dcc0d2ea1dd53a0a20540eaf4485428db 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/result/result_2.mp3 and b/core/assets/de/game/kidnapping/common/mfx/result/result_2.mp3 differ
diff --git a/core/assets/de/game/kidnapping/common/mfx/result/result_3.mp3 b/core/assets/de/game/kidnapping/common/mfx/result/result_3.mp3
index f335b3a0554a9b1a457fdd768b58e351c0f1fa80..9ea9fe818cfce87543f484301c4a072e9e1e2825 100644
Binary files a/core/assets/de/game/kidnapping/common/mfx/result/result_3.mp3 and b/core/assets/de/game/kidnapping/common/mfx/result/result_3.mp3 differ
diff --git a/core/assets/de/game/nightwatch/common/sfx/help.mp3 b/core/assets/de/game/nightwatch/common/sfx/help.mp3
index 2f5d16aad3ceb04ba69a1020d4ab86fa27c50003..becd6187c9b0fcd2c13a363ef07823e431ddc018 100644
Binary files a/core/assets/de/game/nightwatch/common/sfx/help.mp3 and b/core/assets/de/game/nightwatch/common/sfx/help.mp3 differ
diff --git a/core/assets/de/game/nightwatch/common/sfx/result_0.mp3 b/core/assets/de/game/nightwatch/common/sfx/result_0.mp3
index 7f01259e5ffa7d763d9e398c3ca9a1540466e7ec..8652d33a02c66f9221052c86a045eadb7373b89c 100644
Binary files a/core/assets/de/game/nightwatch/common/sfx/result_0.mp3 and b/core/assets/de/game/nightwatch/common/sfx/result_0.mp3 differ
diff --git a/core/assets/de/game/nightwatch/common/sfx/result_1.mp3 b/core/assets/de/game/nightwatch/common/sfx/result_1.mp3
index 3827bade42c43e9c175f1417b119139e7f45c4ef..78b706937bec738da858bf22c4fb3957f866ec25 100644
Binary files a/core/assets/de/game/nightwatch/common/sfx/result_1.mp3 and b/core/assets/de/game/nightwatch/common/sfx/result_1.mp3 differ
diff --git a/core/assets/de/game/nightwatch/common/sfx/result_2.mp3 b/core/assets/de/game/nightwatch/common/sfx/result_2.mp3
index 181b5baf40270a1728fcf4dd2349bca27435f4e2..97abae6ecd5d882f88fc41f2f90074c363d98ecd 100644
Binary files a/core/assets/de/game/nightwatch/common/sfx/result_2.mp3 and b/core/assets/de/game/nightwatch/common/sfx/result_2.mp3 differ
diff --git a/core/assets/de/game/nightwatch/common/sfx/result_3.mp3 b/core/assets/de/game/nightwatch/common/sfx/result_3.mp3
index 4c1851b905f01a90d51aa23ec599ce46c4cca498..04e44ca55009bd6a94b469cc134b345645e34943 100644
Binary files a/core/assets/de/game/nightwatch/common/sfx/result_3.mp3 and b/core/assets/de/game/nightwatch/common/sfx/result_3.mp3 differ
diff --git a/core/assets/de/game/pursuit/common/sfx/help.mp3 b/core/assets/de/game/pursuit/common/sfx/help.mp3
index 94529a0f98dae882b7c611d71661698165d21f3b..eb6d83a9adc688d4525038118312df81157ea52c 100644
Binary files a/core/assets/de/game/pursuit/common/sfx/help.mp3 and b/core/assets/de/game/pursuit/common/sfx/help.mp3 differ
diff --git a/core/assets/de/game/pursuit/common/sfx/result_0.mp3 b/core/assets/de/game/pursuit/common/sfx/result_0.mp3
index 7901255711f16f4b86f6159aa5ad374a3c6effc8..0c5d2939c24d8c047eba17a06d3a5e9b5a9b107a 100644
Binary files a/core/assets/de/game/pursuit/common/sfx/result_0.mp3 and b/core/assets/de/game/pursuit/common/sfx/result_0.mp3 differ
diff --git a/core/assets/de/game/pursuit/common/sfx/result_1.mp3 b/core/assets/de/game/pursuit/common/sfx/result_1.mp3
index e7c735b99a2e359ec186ab5f0ebe7c860faf2de4..badf026bd0a9aec39ab012bfa58770bfa31cad5d 100644
Binary files a/core/assets/de/game/pursuit/common/sfx/result_1.mp3 and b/core/assets/de/game/pursuit/common/sfx/result_1.mp3 differ
diff --git a/core/assets/de/game/pursuit/common/sfx/result_2.mp3 b/core/assets/de/game/pursuit/common/sfx/result_2.mp3
index 781a54f12af65a46ced9bd7517c9303b036e8889..9a789bb385e945621bd94a73bb601318f6036f3c 100644
Binary files a/core/assets/de/game/pursuit/common/sfx/result_2.mp3 and b/core/assets/de/game/pursuit/common/sfx/result_2.mp3 differ
diff --git a/core/assets/de/game/pursuit/common/sfx/result_3.mp3 b/core/assets/de/game/pursuit/common/sfx/result_3.mp3
index 50b966a40310243bfae1e788ffad7589dacf7e10..0b60fc95d9846fc87b3caeb2386690d2b62ba478 100644
Binary files a/core/assets/de/game/pursuit/common/sfx/result_3.mp3 and b/core/assets/de/game/pursuit/common/sfx/result_3.mp3 differ
diff --git a/core/assets/de/game/robbery/common/gamescreen/thief_title.png b/core/assets/de/game/robbery/common/gamescreen/thief_title.png
index eb61fb75b44db8d778e3ca9ff0f6f80b5f095174..a4d471527101f392bc6e993f2332cfff2627ba92 100644
Binary files a/core/assets/de/game/robbery/common/gamescreen/thief_title.png and b/core/assets/de/game/robbery/common/gamescreen/thief_title.png differ
diff --git a/core/assets/de/game/robbery/common/result_0.mp3 b/core/assets/de/game/robbery/common/result_0.mp3
index e17a7c6170c65ee9aac5a5870707d5d7682e038a..144734f7b2a0bd160a8bf7e5cba5305e052aa74c 100644
Binary files a/core/assets/de/game/robbery/common/result_0.mp3 and b/core/assets/de/game/robbery/common/result_0.mp3 differ
diff --git a/core/assets/de/game/robbery/common/result_1.mp3 b/core/assets/de/game/robbery/common/result_1.mp3
index a9ba8f9f6a2b7373e03ed0877aaedc8d97807c81..de287dd9fe887baa5a96554c1e3979da4f8c1357 100644
Binary files a/core/assets/de/game/robbery/common/result_1.mp3 and b/core/assets/de/game/robbery/common/result_1.mp3 differ
diff --git a/core/assets/de/game/robbery/common/result_2.mp3 b/core/assets/de/game/robbery/common/result_2.mp3
index 1f6217bfad73f8d3d33c0226c305b8d52a3a0b45..d0636e923eaab1789b2a93a0189c405a3b5eaaf8 100644
Binary files a/core/assets/de/game/robbery/common/result_2.mp3 and b/core/assets/de/game/robbery/common/result_2.mp3 differ
diff --git a/core/assets/de/game/robbery/common/result_3.mp3 b/core/assets/de/game/robbery/common/result_3.mp3
index 41cb0ae563e8987519a00e1799fc0442e5ddb8f8..6019f29f4b4494774f1897965ebdb32d452b751a 100644
Binary files a/core/assets/de/game/robbery/common/result_3.mp3 and b/core/assets/de/game/robbery/common/result_3.mp3 differ
diff --git a/core/assets/de/game/shootingrange/common/mfx/loading.mp3 b/core/assets/de/game/shootingrange/common/mfx/loading.mp3
index c43d106861437e19e4098ed0db82437c18248f56..f08e3f8f56e5e2b77f353f3f38d23901e1db03ee 100644
Binary files a/core/assets/de/game/shootingrange/common/mfx/loading.mp3 and b/core/assets/de/game/shootingrange/common/mfx/loading.mp3 differ
diff --git a/core/assets/de/game/shootingrange/common/mfx/result0.mp3 b/core/assets/de/game/shootingrange/common/mfx/result0.mp3
index 11eacb7172ae0038cf93644ddf54bdb1b8ab394e..c80b7d0d3c34cf76fc0b2e9dfbfe9c05924aba32 100644
Binary files a/core/assets/de/game/shootingrange/common/mfx/result0.mp3 and b/core/assets/de/game/shootingrange/common/mfx/result0.mp3 differ
diff --git a/core/assets/de/game/shootingrange/common/mfx/result1.mp3 b/core/assets/de/game/shootingrange/common/mfx/result1.mp3
index 3032e486dc903f1d6c034a0f9f88ec2f1c2936bf..66e5c0230b357e42b56be4279f37eb3d445b291d 100644
Binary files a/core/assets/de/game/shootingrange/common/mfx/result1.mp3 and b/core/assets/de/game/shootingrange/common/mfx/result1.mp3 differ
diff --git a/core/assets/de/game/shootingrange/common/mfx/result2.mp3 b/core/assets/de/game/shootingrange/common/mfx/result2.mp3
index 27d85c60f731a4aec32262d7679b2f60a2910bb5..23373d6852eb72831896a59238f1aea608296a54 100644
Binary files a/core/assets/de/game/shootingrange/common/mfx/result2.mp3 and b/core/assets/de/game/shootingrange/common/mfx/result2.mp3 differ
diff --git a/core/assets/de/game/shootingrange/common/mfx/result3.mp3 b/core/assets/de/game/shootingrange/common/mfx/result3.mp3
index 92c79af273898feca6c0555c69ed7f805ed6c800..89eb535665d7f90e4ed1a25f1e1fc89ea17b1d4f 100644
Binary files a/core/assets/de/game/shootingrange/common/mfx/result3.mp3 and b/core/assets/de/game/shootingrange/common/mfx/result3.mp3 differ
diff --git a/core/assets/de/screen/encyclopedia/mfx/encyclopedia.mp3 b/core/assets/de/screen/encyclopedia/mfx/encyclopedia.mp3
index 337a67d37fabcb3a44089fbae481e8388414007d..d44d1699309e9ddf6ab3c55f65b178e09305c3db 100644
Binary files a/core/assets/de/screen/encyclopedia/mfx/encyclopedia.mp3 and b/core/assets/de/screen/encyclopedia/mfx/encyclopedia.mp3 differ
diff --git a/core/assets/de/screen/encyclopedia/sfx/auditory_distinction.mp3 b/core/assets/de/screen/encyclopedia/sfx/auditory_distinction.mp3
index 9883c033f8934fad32ad0dac0389404ee2e9b221..1d039530b47a8dc73c1fb87e21144e3d170fabc5 100644
Binary files a/core/assets/de/screen/encyclopedia/sfx/auditory_distinction.mp3 and b/core/assets/de/screen/encyclopedia/sfx/auditory_distinction.mp3 differ
diff --git a/core/assets/de/screen/encyclopedia/sfx/auditory_memory.mp3 b/core/assets/de/screen/encyclopedia/sfx/auditory_memory.mp3
index a7887263089591b070c62d68eaac8cd35e8d8519..a36ab4682558cf59284985288323a5464fa281bf 100644
Binary files a/core/assets/de/screen/encyclopedia/sfx/auditory_memory.mp3 and b/core/assets/de/screen/encyclopedia/sfx/auditory_memory.mp3 differ
diff --git a/core/assets/de/screen/encyclopedia/sfx/dysgraphia.mp3 b/core/assets/de/screen/encyclopedia/sfx/dysgraphia.mp3
index e6ed6a463c36b2e0661ecd4299e22fbdd571e9dd..34c38cb593994fdb21d703ac11bec6c32beebe1e 100644
Binary files a/core/assets/de/screen/encyclopedia/sfx/dysgraphia.mp3 and b/core/assets/de/screen/encyclopedia/sfx/dysgraphia.mp3 differ
diff --git a/core/assets/de/screen/encyclopedia/sfx/dyslexia.mp3 b/core/assets/de/screen/encyclopedia/sfx/dyslexia.mp3
index 333fc4a3b643a2227bc5592e1e65844772b2acb0..063b4b4931b699fba0ad77643f36ffe58abcfe21 100644
Binary files a/core/assets/de/screen/encyclopedia/sfx/dyslexia.mp3 and b/core/assets/de/screen/encyclopedia/sfx/dyslexia.mp3 differ
diff --git a/core/assets/de/screen/encyclopedia/sfx/dysorthographia.mp3 b/core/assets/de/screen/encyclopedia/sfx/dysorthographia.mp3
index 66fe89ec670db5a76539ad549aee2e2fffbedb11..a073055a4645aaa1c611be8f227a2b1759bdcd4f 100644
Binary files a/core/assets/de/screen/encyclopedia/sfx/dysorthographia.mp3 and b/core/assets/de/screen/encyclopedia/sfx/dysorthographia.mp3 differ
diff --git a/core/assets/de/screen/encyclopedia/sfx/famous_dyslectics.mp3 b/core/assets/de/screen/encyclopedia/sfx/famous_dyslectics.mp3
index bed8a189fa539881d2a88e2c9c4dfd4825f9ab3c..cf606a0e8e8ac722866b6c61687f5adc4fdd20cb 100644
Binary files a/core/assets/de/screen/encyclopedia/sfx/famous_dyslectics.mp3 and b/core/assets/de/screen/encyclopedia/sfx/famous_dyslectics.mp3 differ
diff --git a/core/assets/de/screen/encyclopedia/sfx/memory.mp3 b/core/assets/de/screen/encyclopedia/sfx/memory.mp3
index c4e179582c205bf7c02515ae3bce73522795977e..9b39939fa95db7c223dcb2433dcef95985c672d6 100644
Binary files a/core/assets/de/screen/encyclopedia/sfx/memory.mp3 and b/core/assets/de/screen/encyclopedia/sfx/memory.mp3 differ
diff --git a/core/assets/de/screen/encyclopedia/sfx/seriality.mp3 b/core/assets/de/screen/encyclopedia/sfx/seriality.mp3
index 5d54687e67a914c11e4256cbf9ecd07a71f35458..5e8bc48ab81869e7ef1cf5016d8e79b5f795b1c2 100644
Binary files a/core/assets/de/screen/encyclopedia/sfx/seriality.mp3 and b/core/assets/de/screen/encyclopedia/sfx/seriality.mp3 differ
diff --git a/core/assets/de/screen/encyclopedia/sfx/short_term_memory.mp3 b/core/assets/de/screen/encyclopedia/sfx/short_term_memory.mp3
index 77560c0283060f02fbd9113210ab8aabb0668d01..93139d72824bb3edd665959cf602eb222da22f36 100644
Binary files a/core/assets/de/screen/encyclopedia/sfx/short_term_memory.mp3 and b/core/assets/de/screen/encyclopedia/sfx/short_term_memory.mp3 differ
diff --git a/core/assets/de/screen/encyclopedia/sfx/spatial_orientation.mp3 b/core/assets/de/screen/encyclopedia/sfx/spatial_orientation.mp3
index f6d9254a9c3d48dcf54126964578d7546bc82e2a..e13dbfdd97932d4f1b6c2615873b121a9fdc1610 100644
Binary files a/core/assets/de/screen/encyclopedia/sfx/spatial_orientation.mp3 and b/core/assets/de/screen/encyclopedia/sfx/spatial_orientation.mp3 differ
diff --git a/core/assets/de/screen/encyclopedia/sfx/specific_learning_disabilities.mp3 b/core/assets/de/screen/encyclopedia/sfx/specific_learning_disabilities.mp3
index 6efcc732e63b95c2b93028041b1db0b174f875bd..035fc366e71d80ebd24469e88f50f2d4bd0b7bc1 100644
Binary files a/core/assets/de/screen/encyclopedia/sfx/specific_learning_disabilities.mp3 and b/core/assets/de/screen/encyclopedia/sfx/specific_learning_disabilities.mp3 differ
diff --git a/core/assets/de/screen/encyclopedia/sfx/verbal_skills.mp3 b/core/assets/de/screen/encyclopedia/sfx/verbal_skills.mp3
new file mode 100644
index 0000000000000000000000000000000000000000..162c812473cb00b4497772b954f5ac899a1cae5f
Binary files /dev/null and b/core/assets/de/screen/encyclopedia/sfx/verbal_skills.mp3 differ
diff --git a/core/assets/de/screen/encyclopedia/sfx/visual_distinction.mp3 b/core/assets/de/screen/encyclopedia/sfx/visual_distinction.mp3
index 9a928909d82e2ad3fb28f5832eeac29634c21166..61852bb0c4cc3afee3e53b8597dc30cad4490780 100644
Binary files a/core/assets/de/screen/encyclopedia/sfx/visual_distinction.mp3 and b/core/assets/de/screen/encyclopedia/sfx/visual_distinction.mp3 differ
diff --git a/core/assets/de/screen/encyclopedia/sfx/visual_memory.mp3 b/core/assets/de/screen/encyclopedia/sfx/visual_memory.mp3
index 76d4e02b962a05d424d2c14fb60a74b98ba41e9c..9a53e67b6baf9b0ea1b1654bde47a9868030ef07 100644
Binary files a/core/assets/de/screen/encyclopedia/sfx/visual_memory.mp3 and b/core/assets/de/screen/encyclopedia/sfx/visual_memory.mp3 differ
diff --git a/core/assets/de/screen/encyclopedia/sfx/working_memory.mp3 b/core/assets/de/screen/encyclopedia/sfx/working_memory.mp3
index f9b6838f0a9d0815710c38f4ca5b080b3eddb510..6b3c82d9d797d8e709cc07f884176a1bcc4eb9ff 100644
Binary files a/core/assets/de/screen/encyclopedia/sfx/working_memory.mp3 and b/core/assets/de/screen/encyclopedia/sfx/working_memory.mp3 differ
diff --git a/core/assets/de/screen/encyclopedia/verbal_skills.json b/core/assets/de/screen/encyclopedia/verbal_skills.json
index 227da480f0847c8fa9b28c8da9eeff2c751a204f..1b6e0ce4835de042f75c2190a0efb78dbfd39ecc 100644
--- a/core/assets/de/screen/encyclopedia/verbal_skills.json
+++ b/core/assets/de/screen/encyclopedia/verbal_skills.json
@@ -1,6 +1,6 @@
 [
 {"cz.nic.tablexia.screen.encyclopedia.content.model.Header":
-{"soundResource":null,"textContent":{"cz.nic.tablexia.screen.encyclopedia.content.model.TextContent":{"text":"verbal_skills","bold":true}}}},
+{"soundResource":"verbal_skills","textContent":{"cz.nic.tablexia.screen.encyclopedia.content.model.TextContent":{"text":"verbal_skills","bold":true}}}},
 {"cz.nic.tablexia.screen.encyclopedia.content.model.TextContent":{"text":"verbal_skills_definition","bold":true}},
 {"cz.nic.tablexia.screen.encyclopedia.content.model.TextContent":{"text":"verbal_skills_paragraph_1","bold":false}},
 {"cz.nic.tablexia.screen.encyclopedia.content.model.TextContent":{"text":"verbal_skills_paragraph_2","bold":false}},
diff --git a/core/assets/de/screen/form/mfx/profil_foto.mp3 b/core/assets/de/screen/form/mfx/profil_foto.mp3
new file mode 100644
index 0000000000000000000000000000000000000000..befe8733ba79b7123364af5e68e3616c4a4f1147
Binary files /dev/null and b/core/assets/de/screen/form/mfx/profil_foto.mp3 differ
diff --git a/core/assets/de/screen/form/mfx/profil_jmeno.mp3 b/core/assets/de/screen/form/mfx/profil_jmeno.mp3
new file mode 100644
index 0000000000000000000000000000000000000000..72654ce430f67ac038f7bda508aac7ffe29c2016
Binary files /dev/null and b/core/assets/de/screen/form/mfx/profil_jmeno.mp3 differ
diff --git a/core/assets/de/screen/form/mfx/profil_klukholka.mp3 b/core/assets/de/screen/form/mfx/profil_klukholka.mp3
new file mode 100644
index 0000000000000000000000000000000000000000..80200e045e0ced946792a128508fd69c3cede143
Binary files /dev/null and b/core/assets/de/screen/form/mfx/profil_klukholka.mp3 differ
diff --git a/core/assets/de/screen/form/mfx/profil_podpis_pero.mp3 b/core/assets/de/screen/form/mfx/profil_podpis_pero.mp3
new file mode 100644
index 0000000000000000000000000000000000000000..ea40fc1110a7c21b2923fbde2af27b81c5ab59ac
Binary files /dev/null and b/core/assets/de/screen/form/mfx/profil_podpis_pero.mp3 differ
diff --git a/core/assets/de/screen/form/mfx/profil_podpis_prst.mp3 b/core/assets/de/screen/form/mfx/profil_podpis_prst.mp3
new file mode 100644
index 0000000000000000000000000000000000000000..279cf8bcb4e25105eb6828347abce4c18f3dbb95
Binary files /dev/null and b/core/assets/de/screen/form/mfx/profil_podpis_prst.mp3 differ
diff --git a/core/assets/de/screen/form/mfx/profil_razitko.mp3 b/core/assets/de/screen/form/mfx/profil_razitko.mp3
new file mode 100644
index 0000000000000000000000000000000000000000..f02c22b0c3d17a160fbfc630137f88d90f5b6b53
Binary files /dev/null and b/core/assets/de/screen/form/mfx/profil_razitko.mp3 differ
diff --git a/core/assets/de/screen/form/mfx/profil_vek.mp3 b/core/assets/de/screen/form/mfx/profil_vek.mp3
new file mode 100644
index 0000000000000000000000000000000000000000..b04dc89205e26810fd79912bd60886d3ba473f25
Binary files /dev/null and b/core/assets/de/screen/form/mfx/profil_vek.mp3 differ
diff --git a/core/assets/de/screen/gamemenu/gfx/bankovniloupez_title.png b/core/assets/de/screen/gamemenu/gfx/bankovniloupez_title.png
index a84ce74e3267f0dda5376658ce6c7b3056a8f676..1bb3d54b9f1426258967118915bf3ccf371a8dca 100644
Binary files a/core/assets/de/screen/gamemenu/gfx/bankovniloupez_title.png and b/core/assets/de/screen/gamemenu/gfx/bankovniloupez_title.png differ
diff --git a/core/assets/de/screen/gamemenu/gfx/helplayer.png b/core/assets/de/screen/gamemenu/gfx/helplayer.png
index 23489d7714a85758694be09a835706862f0c919a..290be63ec0356871d201fd1d6a1b7ed877e3feb2 100644
Binary files a/core/assets/de/screen/gamemenu/gfx/helplayer.png and b/core/assets/de/screen/gamemenu/gfx/helplayer.png differ
diff --git a/core/assets/de/screen/gamemenu/gfx/potme_title.png b/core/assets/de/screen/gamemenu/gfx/potme_title.png
index 07306029c6f542a10bfbffb727979d3a14835420..037b1b3640a7cd6870b59ecfade618f950ee74da 100644
Binary files a/core/assets/de/screen/gamemenu/gfx/potme_title.png and b/core/assets/de/screen/gamemenu/gfx/potme_title.png differ
diff --git a/core/assets/de/screen/gamemenu/gfx/pronasledovani_startbutton.png b/core/assets/de/screen/gamemenu/gfx/pronasledovani_startbutton.png
index 87679378ed6acf6df06cfc49c4868f9010c8daf5..76bd74b48ef8f65f2bad062c78f4fcc238d01887 100644
Binary files a/core/assets/de/screen/gamemenu/gfx/pronasledovani_startbutton.png and b/core/assets/de/screen/gamemenu/gfx/pronasledovani_startbutton.png differ
diff --git a/core/assets/de/screen/gamemenu/gfx/pronasledovani_startbutton_pressed.png b/core/assets/de/screen/gamemenu/gfx/pronasledovani_startbutton_pressed.png
index 76864c87aa81856b5e361c1d3269ac16a2e2bafb..3e248b4ab58999a629ab7ac48ff20a11ff214a4b 100644
Binary files a/core/assets/de/screen/gamemenu/gfx/pronasledovani_startbutton_pressed.png and b/core/assets/de/screen/gamemenu/gfx/pronasledovani_startbutton_pressed.png differ
diff --git a/core/assets/de/screen/gamemenu/gfx/pronasledovani_title.png b/core/assets/de/screen/gamemenu/gfx/pronasledovani_title.png
index cb68c5155c0bfc1297703f51f45cdf7071f27a3e..b30dada73f7f0620a776ae82ee014449af290089 100644
Binary files a/core/assets/de/screen/gamemenu/gfx/pronasledovani_title.png and b/core/assets/de/screen/gamemenu/gfx/pronasledovani_title.png differ
diff --git a/core/assets/de/screen/gamemenu/gfx/strelnice_title.png b/core/assets/de/screen/gamemenu/gfx/strelnice_title.png
index f13e21844557d27f4d96b882248bb2921ab43a9b..20101fb693169f233180ff651b2116fa2329a3d9 100644
Binary files a/core/assets/de/screen/gamemenu/gfx/strelnice_title.png and b/core/assets/de/screen/gamemenu/gfx/strelnice_title.png differ
diff --git a/core/assets/de/screen/gamemenu/gfx/unos_title.png b/core/assets/de/screen/gamemenu/gfx/unos_title.png
index 02f017da611a2ba7d6f50b5efc2344eee2c12023..e23b812bc3343b824a851365ebdb66884555f61c 100644
Binary files a/core/assets/de/screen/gamemenu/gfx/unos_title.png and b/core/assets/de/screen/gamemenu/gfx/unos_title.png differ
diff --git a/core/assets/de/screen/gamemenu/mfx/intro.mp3 b/core/assets/de/screen/gamemenu/mfx/intro.mp3
index 80ff04e7dd9da0fff8bf0a8d27022ccd6743808c..f6e10c38195051356da53816d70ed89761ae2b73 100644
Binary files a/core/assets/de/screen/gamemenu/mfx/intro.mp3 and b/core/assets/de/screen/gamemenu/mfx/intro.mp3 differ
diff --git a/core/assets/de/screen/halloffame/mfx/halloffame.mp3 b/core/assets/de/screen/halloffame/mfx/halloffame.mp3
index 9794acf6579aa98582a1d3499223a145144d9e13..90288cf9c9b784bf0523c6fed555926c1415b67b 100644
Binary files a/core/assets/de/screen/halloffame/mfx/halloffame.mp3 and b/core/assets/de/screen/halloffame/mfx/halloffame.mp3 differ
diff --git a/core/assets/de/screen/loader/mfx/login.mp3 b/core/assets/de/screen/loader/mfx/login.mp3
index b42cbbc4a31322afe59654d6205d69a156c81829..70436174efd88ac03c320e8d5a3f35a3b4dd754b 100644
Binary files a/core/assets/de/screen/loader/mfx/login.mp3 and b/core/assets/de/screen/loader/mfx/login.mp3 differ
diff --git a/core/assets/de/screen/panorama/gfx/balcony_news_title.png b/core/assets/de/screen/panorama/gfx/balcony_news_title.png
index c262cb965cbb710249fdcdb4942a4900f3f2c578..0ad70bd338e9e876d1f5759d5ee0d86329036da5 100644
Binary files a/core/assets/de/screen/panorama/gfx/balcony_news_title.png and b/core/assets/de/screen/panorama/gfx/balcony_news_title.png differ
diff --git a/core/assets/de/screen/panorama/gfx/newspaper/detail01.png b/core/assets/de/screen/panorama/gfx/newspaper/detail01.png
index 062a18cd5ea687b18606f261f75b3d39e5b347f6..e9a9d98179fea5f98f9fbf1923945b3b2daf1421 100644
Binary files a/core/assets/de/screen/panorama/gfx/newspaper/detail01.png and b/core/assets/de/screen/panorama/gfx/newspaper/detail01.png differ
diff --git a/core/assets/de/screen/panorama/gfx/newspaper/detail02.png b/core/assets/de/screen/panorama/gfx/newspaper/detail02.png
index 6e9aec091dc818b6dce6e93ebb7e36e645c140e8..84499e6d6a11deaf2630f5a4413fd27f77f54b24 100644
Binary files a/core/assets/de/screen/panorama/gfx/newspaper/detail02.png and b/core/assets/de/screen/panorama/gfx/newspaper/detail02.png differ
diff --git a/core/assets/de/screen/panorama/gfx/newspaper/detail03.png b/core/assets/de/screen/panorama/gfx/newspaper/detail03.png
index cf701c8d5fafa7f1ab82b3667b348f6b76745b6d..fe51b9000013d29f23e79bbd38f1ce314c325e31 100644
Binary files a/core/assets/de/screen/panorama/gfx/newspaper/detail03.png and b/core/assets/de/screen/panorama/gfx/newspaper/detail03.png differ
diff --git a/core/assets/de/screen/panorama/gfx/newspaper/detail04.png b/core/assets/de/screen/panorama/gfx/newspaper/detail04.png
index 5f4eaec621b40edbe2b19cbc1fa73928a4992a1b..8ee0c762e343aa188b9ce0e9c725b817ab6ba330 100644
Binary files a/core/assets/de/screen/panorama/gfx/newspaper/detail04.png and b/core/assets/de/screen/panorama/gfx/newspaper/detail04.png differ
diff --git a/core/assets/de/screen/panorama/gfx/newspaper/detail05.png b/core/assets/de/screen/panorama/gfx/newspaper/detail05.png
index c9671703a94a7c9ba4f5f37e2b4b8d68ef856b9a..9161a81b2cbe0e2b1f985bb91f1c90cd3e755dce 100644
Binary files a/core/assets/de/screen/panorama/gfx/newspaper/detail05.png and b/core/assets/de/screen/panorama/gfx/newspaper/detail05.png differ
diff --git a/core/assets/de/screen/panorama/gfx/newspaper/open1.png b/core/assets/de/screen/panorama/gfx/newspaper/open1.png
index 8d8925c7f0d33cdec00f53c78c5a257b6767a60a..67be8ca8a4a4697573a09d5bd5737481656494c3 100644
Binary files a/core/assets/de/screen/panorama/gfx/newspaper/open1.png and b/core/assets/de/screen/panorama/gfx/newspaper/open1.png differ
diff --git a/core/assets/de/screen/panorama/gfx/newspaper/open2.png b/core/assets/de/screen/panorama/gfx/newspaper/open2.png
index 1fe3ac6dfd3090a73646b38c5b87982cec38685c..ad722b6ca2ddbe3e940e123793b18f25e71de95d 100644
Binary files a/core/assets/de/screen/panorama/gfx/newspaper/open2.png and b/core/assets/de/screen/panorama/gfx/newspaper/open2.png differ
diff --git a/core/assets/de/screen/panorama/gfx/newspaper/open3.png b/core/assets/de/screen/panorama/gfx/newspaper/open3.png
index b230ed972c3ebb2d2a55fa66e835dbfb36a84350..58caf55a0ecf70e75a7a905ac3e1b2057b67ad13 100644
Binary files a/core/assets/de/screen/panorama/gfx/newspaper/open3.png and b/core/assets/de/screen/panorama/gfx/newspaper/open3.png differ
diff --git a/core/assets/de/screen/panorama/gfx/newspaper/open4.png b/core/assets/de/screen/panorama/gfx/newspaper/open4.png
index 1835a2ff0fad69afc69bdc359fac7d0022fbcaf6..a1e59ec0bd52443895f64df9eaada8065736a05b 100644
Binary files a/core/assets/de/screen/panorama/gfx/newspaper/open4.png and b/core/assets/de/screen/panorama/gfx/newspaper/open4.png differ
diff --git a/core/assets/de/screen/panorama/gfx/newspaper/open5.png b/core/assets/de/screen/panorama/gfx/newspaper/open5.png
index bd1d374caf2d5aba97e276c3b9bed40e35b43f31..ae7ee3f5e14676b36e7086bf01727062e0d11ec0 100644
Binary files a/core/assets/de/screen/panorama/gfx/newspaper/open5.png and b/core/assets/de/screen/panorama/gfx/newspaper/open5.png differ
diff --git a/core/assets/de/screen/panorama/gfx/newspaper/opened.png b/core/assets/de/screen/panorama/gfx/newspaper/opened.png
index 8dd2bef523e1f35b55dbc14ecfe9516f139ad8bc..f07301925f0dc2c246ce82fa53c54c1e902c8c8a 100644
Binary files a/core/assets/de/screen/panorama/gfx/newspaper/opened.png and b/core/assets/de/screen/panorama/gfx/newspaper/opened.png differ
diff --git a/core/assets/de/screen/panorama/gfx/swipe/door.png b/core/assets/de/screen/panorama/gfx/swipe/door.png
deleted file mode 100644
index f0981fda9a7613b3cf2440f3e27e54d24c782f80..0000000000000000000000000000000000000000
Binary files a/core/assets/de/screen/panorama/gfx/swipe/door.png and /dev/null differ
diff --git a/core/assets/de/screen/panorama/gfx/swipe/tile2_title.png b/core/assets/de/screen/panorama/gfx/swipe/tile2_title.png
index f1c77c6b6e80f235a7c75a751b3ae53830e30bc6..d0feab46fee405d1741b247b9b7acd38937ef819 100644
Binary files a/core/assets/de/screen/panorama/gfx/swipe/tile2_title.png and b/core/assets/de/screen/panorama/gfx/swipe/tile2_title.png differ
diff --git a/core/assets/de/screen/panorama/gfx/swipe/tile3_door_sign.png b/core/assets/de/screen/panorama/gfx/swipe/tile3_door_sign.png
new file mode 100644
index 0000000000000000000000000000000000000000..a37c5b75f84ca21c2a80bf8decea0b72b86e7e3a
Binary files /dev/null and b/core/assets/de/screen/panorama/gfx/swipe/tile3_door_sign.png differ
diff --git a/core/assets/de/screen/panorama/gfx/swipe/tile3_plate_title.png b/core/assets/de/screen/panorama/gfx/swipe/tile3_plate_title.png
new file mode 100644
index 0000000000000000000000000000000000000000..75e982adfabe9e3df90679103346e63f3bbc24d2
Binary files /dev/null and b/core/assets/de/screen/panorama/gfx/swipe/tile3_plate_title.png differ
diff --git a/core/assets/de/screen/panorama/gfx/swipe/tile3_title.png b/core/assets/de/screen/panorama/gfx/swipe/tile3_title.png
deleted file mode 100644
index be19c5e7c7fe9d0502d0c067fa785bf8959db925..0000000000000000000000000000000000000000
Binary files a/core/assets/de/screen/panorama/gfx/swipe/tile3_title.png and /dev/null differ
diff --git a/core/assets/de/screen/panorama/mfx/detective/1.mp3 b/core/assets/de/screen/panorama/mfx/detective/1.mp3
index 7fccdea0b2361bdb5b1dd9f7d3948091716d6f85..ac199b780ce6fab51a80c3ebd6ff750f4497f2f6 100644
Binary files a/core/assets/de/screen/panorama/mfx/detective/1.mp3 and b/core/assets/de/screen/panorama/mfx/detective/1.mp3 differ
diff --git a/core/assets/de/screen/panorama/mfx/detective/2.mp3 b/core/assets/de/screen/panorama/mfx/detective/2.mp3
index c6586352a630a888517f1accdb345d1d575f2a7b..da110993fc472d515b7d6755eb9f24f372fe4554 100644
Binary files a/core/assets/de/screen/panorama/mfx/detective/2.mp3 and b/core/assets/de/screen/panorama/mfx/detective/2.mp3 differ
diff --git a/core/assets/de/screen/panorama/mfx/detective/3.mp3 b/core/assets/de/screen/panorama/mfx/detective/3.mp3
index 1b14801a029b7168c2412d36deeb6d7613ac7c51..aa199ce4ffc6acd5601bf2f22524a7d901188c78 100644
Binary files a/core/assets/de/screen/panorama/mfx/detective/3.mp3 and b/core/assets/de/screen/panorama/mfx/detective/3.mp3 differ
diff --git a/core/assets/de/screen/panorama/mfx/detective/4.mp3 b/core/assets/de/screen/panorama/mfx/detective/4.mp3
index 1b8fde371a3727154bf2ccecbb1a06b7769c996b..ec922c063a7fbe42c091a07af9abe6276465eb7f 100644
Binary files a/core/assets/de/screen/panorama/mfx/detective/4.mp3 and b/core/assets/de/screen/panorama/mfx/detective/4.mp3 differ
diff --git a/core/assets/de/screen/panorama/mfx/newspaper/1.mp3 b/core/assets/de/screen/panorama/mfx/newspaper/1.mp3
index fdcb51732b091e768b1812626897da8095664ed4..4d213fa16d7b1c25bae3e49a4b5f85cd0a32d587 100644
Binary files a/core/assets/de/screen/panorama/mfx/newspaper/1.mp3 and b/core/assets/de/screen/panorama/mfx/newspaper/1.mp3 differ
diff --git a/core/assets/de/screen/panorama/mfx/newspaper/2.mp3 b/core/assets/de/screen/panorama/mfx/newspaper/2.mp3
index cecdaedb1d903b2492038d64e953ebe19a0f89a7..5adf8465d694c5fe8d299c2fe4d1100b2edf813b 100644
Binary files a/core/assets/de/screen/panorama/mfx/newspaper/2.mp3 and b/core/assets/de/screen/panorama/mfx/newspaper/2.mp3 differ
diff --git a/core/assets/de/screen/panorama/mfx/newspaper/3.mp3 b/core/assets/de/screen/panorama/mfx/newspaper/3.mp3
index eb8c1ad4274c1b506f85f091a87adcb82a86279d..53f8ccd2a4933c869dc3bf42972f12efa928d727 100644
Binary files a/core/assets/de/screen/panorama/mfx/newspaper/3.mp3 and b/core/assets/de/screen/panorama/mfx/newspaper/3.mp3 differ
diff --git a/core/assets/de/screen/panorama/mfx/newspaper/4.mp3 b/core/assets/de/screen/panorama/mfx/newspaper/4.mp3
index 95d57558a336bb74d8f5b1286b68b1f0e64ab6d3..7c7099c2be616c2e1e15323c055edb395a25f2b4 100644
Binary files a/core/assets/de/screen/panorama/mfx/newspaper/4.mp3 and b/core/assets/de/screen/panorama/mfx/newspaper/4.mp3 differ
diff --git a/core/assets/de/screen/panorama/mfx/newspaper/5.mp3 b/core/assets/de/screen/panorama/mfx/newspaper/5.mp3
index 5e1ea85e795ed9a94b399221d36a6c35531779e4..8d40d07e98060df0d89627ec6e8ba1e16e44dd98 100644
Binary files a/core/assets/de/screen/panorama/mfx/newspaper/5.mp3 and b/core/assets/de/screen/panorama/mfx/newspaper/5.mp3 differ
diff --git a/core/assets/de/screen/statistics/mfx/statistics.mp3 b/core/assets/de/screen/statistics/mfx/statistics.mp3
index 0d5a2588873720ed77fb593439a0f9e3be51f360..0cfec57995bf2190785648a266207251624045fa 100644
Binary files a/core/assets/de/screen/statistics/mfx/statistics.mp3 and b/core/assets/de/screen/statistics/mfx/statistics.mp3 differ
diff --git a/core/assets/sk/screen/gamemenu/gfx/helplayer.png b/core/assets/sk/screen/gamemenu/gfx/helplayer.png
index b23e725ddc7f6d20c26e5543b1bd30ad365dcd56..5bb5ee4fd6c556469082bd3107e8926501444237 100644
Binary files a/core/assets/sk/screen/gamemenu/gfx/helplayer.png and b/core/assets/sk/screen/gamemenu/gfx/helplayer.png differ
diff --git a/core/assets/sk/screen/gamemenu/gfx/pronasledovani_title.png b/core/assets/sk/screen/gamemenu/gfx/pronasledovani_title.png
index d0ff54691ba5dafb15e03506f239ce844da1c2ff..aaafad6ab5328034a82ece1383c8ec0684f74078 100644
Binary files a/core/assets/sk/screen/gamemenu/gfx/pronasledovani_title.png and b/core/assets/sk/screen/gamemenu/gfx/pronasledovani_title.png differ
diff --git a/core/assets/sk/screen/gamemenu/gfx/strelnice_title.png b/core/assets/sk/screen/gamemenu/gfx/strelnice_title.png
index 9008caff2659d48467a344239b0c67057786fae0..545cb54429dcd01ca1cf54b6f078c111671d6fe1 100644
Binary files a/core/assets/sk/screen/gamemenu/gfx/strelnice_title.png and b/core/assets/sk/screen/gamemenu/gfx/strelnice_title.png differ
diff --git a/core/assets/sk/screen/panorama/gfx/balcony_news_title.png b/core/assets/sk/screen/panorama/gfx/balcony_news_title.png
index 34307ef3a8de9e79a28e51d3396960d7c37dcf18..6a0f6357734678d4c47e8831c48d02f513d66c92 100644
Binary files a/core/assets/sk/screen/panorama/gfx/balcony_news_title.png and b/core/assets/sk/screen/panorama/gfx/balcony_news_title.png differ
diff --git a/core/assets/sk/screen/panorama/gfx/newspaper/detail01.png b/core/assets/sk/screen/panorama/gfx/newspaper/detail01.png
index c15c9e5ae003f994bcfa06bf421f2e70e4ba5651..6d0111cef7f9840db4e7fe5e98d7c48505015739 100644
Binary files a/core/assets/sk/screen/panorama/gfx/newspaper/detail01.png and b/core/assets/sk/screen/panorama/gfx/newspaper/detail01.png differ
diff --git a/core/assets/sk/screen/panorama/gfx/newspaper/detail03.png b/core/assets/sk/screen/panorama/gfx/newspaper/detail03.png
index ab10c13ce108b3fc677791e6829c08ac3b26c931..a02266473eeb715777b3f9bcb227e188935ee6fa 100644
Binary files a/core/assets/sk/screen/panorama/gfx/newspaper/detail03.png and b/core/assets/sk/screen/panorama/gfx/newspaper/detail03.png differ
diff --git a/core/assets/sk/screen/panorama/gfx/newspaper/open1.png b/core/assets/sk/screen/panorama/gfx/newspaper/open1.png
index 5bbad6d82c1ae1768ff7c7ae6fd048ee3deb6452..a005b13e5dee24128556d0db52fcecff02c197a0 100644
Binary files a/core/assets/sk/screen/panorama/gfx/newspaper/open1.png and b/core/assets/sk/screen/panorama/gfx/newspaper/open1.png differ
diff --git a/core/assets/sk/screen/panorama/gfx/newspaper/open2.png b/core/assets/sk/screen/panorama/gfx/newspaper/open2.png
index 0d4f1f18748de58f0534d4e8ed61a4b30ab837f0..935a7866c24911423dc8c1e2092f601ae02d76f1 100644
Binary files a/core/assets/sk/screen/panorama/gfx/newspaper/open2.png and b/core/assets/sk/screen/panorama/gfx/newspaper/open2.png differ
diff --git a/core/assets/sk/screen/panorama/gfx/newspaper/open3.png b/core/assets/sk/screen/panorama/gfx/newspaper/open3.png
index d7851c9a2db90394a703c3dda48ef6fa267587ec..e323664b98d5793deb78eb6e6b76bb3a77c62d1b 100644
Binary files a/core/assets/sk/screen/panorama/gfx/newspaper/open3.png and b/core/assets/sk/screen/panorama/gfx/newspaper/open3.png differ
diff --git a/core/assets/sk/screen/panorama/gfx/newspaper/open4.png b/core/assets/sk/screen/panorama/gfx/newspaper/open4.png
index 3a4396a0bf9968b9c9308bced183f93608e89674..5d046ae338a89a0ab6a32a276fc56891327ddeda 100644
Binary files a/core/assets/sk/screen/panorama/gfx/newspaper/open4.png and b/core/assets/sk/screen/panorama/gfx/newspaper/open4.png differ
diff --git a/core/assets/sk/screen/panorama/gfx/newspaper/open5.png b/core/assets/sk/screen/panorama/gfx/newspaper/open5.png
index 7fc871620f8e50fa8171dffbb3e025190a421aa4..2b04a2a051ca0809fd7afa6fe596aa045d01e0e3 100644
Binary files a/core/assets/sk/screen/panorama/gfx/newspaper/open5.png and b/core/assets/sk/screen/panorama/gfx/newspaper/open5.png differ
diff --git a/core/assets/sk/screen/panorama/gfx/newspaper/opened.png b/core/assets/sk/screen/panorama/gfx/newspaper/opened.png
index c2d5481ee079bbdf8fb2fd7319fd47b3f5938680..7c602c915e431d3a9e6000fbf4bbe65ad29f0b34 100644
Binary files a/core/assets/sk/screen/panorama/gfx/newspaper/opened.png and b/core/assets/sk/screen/panorama/gfx/newspaper/opened.png differ
diff --git a/core/assets/sk/screen/panorama/gfx/swipe/tile2_title.png b/core/assets/sk/screen/panorama/gfx/swipe/tile2_title.png
index 21ab91658cdcaf6bc211aa6961de180e6fdc5c25..142128fce43e62210311d47699acfd94f643ac26 100644
Binary files a/core/assets/sk/screen/panorama/gfx/swipe/tile2_title.png and b/core/assets/sk/screen/panorama/gfx/swipe/tile2_title.png differ
diff --git a/core/assets/sk/screen/panorama/gfx/swipe/tile3_door_sign.png b/core/assets/sk/screen/panorama/gfx/swipe/tile3_door_sign.png
new file mode 100644
index 0000000000000000000000000000000000000000..3848211bf75a2c37be2cd335636af97a950246d2
Binary files /dev/null and b/core/assets/sk/screen/panorama/gfx/swipe/tile3_door_sign.png differ
diff --git a/core/assets/sk/screen/panorama/gfx/swipe/tile3_plate_title.png b/core/assets/sk/screen/panorama/gfx/swipe/tile3_plate_title.png
new file mode 100644
index 0000000000000000000000000000000000000000..718b46e61fffd96730ad02c391379b86c3dc843a
Binary files /dev/null and b/core/assets/sk/screen/panorama/gfx/swipe/tile3_plate_title.png differ
diff --git a/core/assets/sk/screen/panorama/gfx/swipe/tile3_title.png b/core/assets/sk/screen/panorama/gfx/swipe/tile3_title.png
deleted file mode 100644
index 0d3d72c58958a451464799a4b1c0649821fae6ff..0000000000000000000000000000000000000000
Binary files a/core/assets/sk/screen/panorama/gfx/swipe/tile3_title.png and /dev/null differ
diff --git a/core/external b/core/external
index 0aaae993125e350c440c8c4e6ec8888874037abb..d8cb4a89e64ceec83718fc478f76a5eb31d8fb3e 160000
--- a/core/external
+++ b/core/external
@@ -1 +1 @@
-Subproject commit 0aaae993125e350c440c8c4e6ec8888874037abb
+Subproject commit d8cb4a89e64ceec83718fc478f76a5eb31d8fb3e
diff --git a/core/src/TablexiaLibGDX.gwt.xml b/core/src/TablexiaLibGDX.gwt.xml
deleted file mode 100644
index 546fce4a5ef057b5ab874b4993e71498b7988be3..0000000000000000000000000000000000000000
--- a/core/src/TablexiaLibGDX.gwt.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit trunk//EN" "http://google-web-toolkit.googlecode.com/svn/trunk/distro-source/core/src/gwt-module.dtd">
-<module>
-	<source path="cz/nic/tablexia" />
-</module>
\ No newline at end of file
diff --git a/core/src/cz/nic/tablexia/Tablexia.java b/core/src/cz/nic/tablexia/Tablexia.java
index f64728686422600a38e980da277ecca65cbb1f33..2390005081d0822f7b48be32cedc4ceaf18f1a7d 100644
--- a/core/src/cz/nic/tablexia/Tablexia.java
+++ b/core/src/cz/nic/tablexia/Tablexia.java
@@ -22,9 +22,7 @@ import cz.nic.tablexia.loader.application.ApplicationInternalSoundManager;
 import cz.nic.tablexia.loader.application.ApplicationInternalTextureManager;
 import cz.nic.tablexia.loader.application.ApplicationTextManager;
 import cz.nic.tablexia.loader.zip.ZipAssetLoader;
-import cz.nic.tablexia.menu.AbstractMenu;
 import cz.nic.tablexia.menu.MenuController;
-import cz.nic.tablexia.menu.main.MainMenu;
 import cz.nic.tablexia.screen.AbstractTablexiaScreen;
 import cz.nic.tablexia.screen.loader.IConnectionManager;
 import cz.nic.tablexia.util.Log;
@@ -32,6 +30,7 @@ import cz.nic.tablexia.util.Utility;
 import cz.nic.tablexia.util.ui.dialog.TablexiaComponentDialog;
 import cz.nic.tablexia.util.ui.dialog.TablexiaComponentDialogFactory;
 import cz.nic.tablexia.util.ui.dialog.components.AdaptiveSizeDialogComponent;
+import cz.nic.tablexia.util.ui.dialog.components.BackButtonHideComponent;
 import cz.nic.tablexia.util.ui.dialog.components.CenterPositionDialogComponent;
 import cz.nic.tablexia.util.ui.dialog.components.DimmerDialogComponent;
 import cz.nic.tablexia.util.ui.dialog.components.FixedSpaceContentDialogComponent;
@@ -52,6 +51,8 @@ public class Tablexia extends TablexiaApplication {
     public static final int     ERROR_DIALOG_HEIGHT                     = 300;
     public static final float   ERROR_DIALOG_DIMMER                     = 0.7f;
 
+    private static final boolean LOADER_ERROR_DIALOG_HIDE_ANIMATION     = false;
+
     private static IConnectionManager connectionManager;
 
     private final SQLConnectionType     sqlConnectionType;
@@ -132,11 +133,13 @@ public class Tablexia extends TablexiaApplication {
     }
 
     private void startLoading(Locale locale) {
+        // Prepare fonts (Fonts need to be loaded before any screen is active)
+        ApplicationFontManager.getInstance().load();
+
         // sync loaded screen with loader image
         setScreen(Utility.getScreenForScreenClass(TablexiaSettings.LOADER_SCREEN, null));
 
         // async internal assets loading
-		ApplicationFontManager.getInstance().load();
 		ApplicationTextManager.getInstance().load(locale);
         ApplicationInternalSoundManager.getInstance().load();
         ApplicationInternalTextureManager.getInstance().load();
@@ -330,6 +333,13 @@ public class Tablexia extends TablexiaApplication {
         components.add(new CenterPositionDialogComponent());
         components.add(new AdaptiveSizeDialogComponent());
         components.add(new DimmerDialogComponent(ERROR_DIALOG_DIMMER));
+        components.add(new BackButtonHideComponent(LOADER_ERROR_DIALOG_HIDE_ANIMATION) {
+            @Override
+            public void onBackButtonPress(BackButtonPressed event) {
+                super.onBackButtonPress(event);
+                returnToLastLocale();
+            }
+        });
 
         components.add(new FixedSpaceContentDialogComponent());
         components.add(new ResizableSpaceContentDialogComponent());
@@ -339,31 +349,48 @@ public class Tablexia extends TablexiaApplication {
         components.add(new FixedSpaceContentDialogComponent());
         components.add(new ResizableSpaceContentDialogComponent());
         components.add(new PositiveNegativeButtonContentDialogComponent(
+				new ClickListener() {
+					@Override
+					public void clicked(InputEvent event, float x, float y) {
+						zipAssetLoader.reset(true);
+						errorDialogShown = false;
+					}
+				},
                 new ClickListener() {
                     @Override
                     public void clicked(InputEvent event, float x, float y) {
-                        zipAssetLoader.reset();
-                        errorDialogShown = false;
-                    }
-                },
-                new ClickListener() {
-                    @Override
-                    public void clicked(InputEvent event, float x, float y) {
-                        Gdx.app.exit();
+                        returnToLastLocale();
                     }
                 },
-                PositiveNegativeButtonContentDialogComponent.PositiveNegativeButtonType.AGAIN_EXIT
-        ));
+				TablexiaSettings.getInstance().hasLocaleChanged() ? PositiveNegativeButtonContentDialogComponent.PositiveNegativeButtonType.AGAIN_BACK : PositiveNegativeButtonContentDialogComponent.PositiveNegativeButtonType.AGAIN_EXIT
+        ) {
+            @Override
+            protected boolean hasHideAnimation() {
+                return LOADER_ERROR_DIALOG_HIDE_ANIMATION;
+            }
+        });
         components.add(new FixedSpaceContentDialogComponent());
         dialog = TablexiaComponentDialogFactory.getInstance().createDialog(components.toArray(new TablexiaDialogComponentAdapter[]{}));
         dialog.show(dialogWidth, dialogHeight);
     }
 
+    private void returnToLastLocale() {
+        if (TablexiaSettings.getInstance().hasLocaleChanged()) {
+            TablexiaSettings.getInstance().returnToLastLocale();
+            zipAssetLoader.reset(false);
+            errorDialogShown = false;
+        } else {
+            Gdx.app.exit();
+        }
+    }
+
     private boolean processLoaderError(String loaderError) {
         if (loaderError != null && !errorDialogShown) {
             showLoaderErrorDialog(ERROR_DIALOG_WIDTH, ERROR_DIALOG_HEIGHT, loaderError);
             errorDialogShown = true;
-        }
+        } else if (loaderError == null && dialog != null) {
+			dialog.hide();
+		}
         return errorDialogShown;
     }
 
diff --git a/core/src/cz/nic/tablexia/TablexiaApplication.java b/core/src/cz/nic/tablexia/TablexiaApplication.java
index c988d7ff5958af25c63aff0751df068b3fa3e3ba..241e08e6c883526340020df23128c9ab79ea8d2a 100644
--- a/core/src/cz/nic/tablexia/TablexiaApplication.java
+++ b/core/src/cz/nic/tablexia/TablexiaApplication.java
@@ -17,6 +17,7 @@ import com.badlogic.gdx.scenes.scene2d.InputEvent;
 import com.badlogic.gdx.scenes.scene2d.Stage;
 import com.badlogic.gdx.scenes.scene2d.Touchable;
 import com.badlogic.gdx.scenes.scene2d.actions.Actions;
+import com.badlogic.gdx.scenes.scene2d.actions.SequenceAction;
 import com.badlogic.gdx.scenes.scene2d.ui.Image;
 import com.badlogic.gdx.scenes.scene2d.utils.ClickListener;
 
@@ -51,6 +52,7 @@ import cz.nic.tablexia.sync.work.DeleteUser;
 import cz.nic.tablexia.sync.work.DownloadUser;
 import cz.nic.tablexia.sync.work.PushDataToServer;
 import cz.nic.tablexia.util.Log;
+import cz.nic.tablexia.util.ui.AnimatedImage;
 import cz.nic.tablexia.util.ui.ComponentScaleUtil;
 import cz.nic.tablexia.util.ui.XFillViewport;
 import cz.nic.tablexia.util.ui.dialog.TablexiaComponentDialog;
@@ -79,11 +81,21 @@ import static com.badlogic.gdx.scenes.scene2d.actions.Actions.sequence;
  */
 public abstract class TablexiaApplication implements ApplicationListener {
 
-    private static final Color  BACKGROUND_COLOR            = new Color(0f, 0f, 0f, 1f);
-    private static final int    DIMMER_TRANSACTION_SPEED    = 1;
+    private static final Color  BACKGROUND_COLOR              =  new Color(0f, 0f, 0f, 1f);
+    private static final int    DIMMER_TRANSACTION_SPEED      =  1;
 
-    private static final float      PRELOADER_DIALOG_HEIGHT     = 400;
-    private static final float      PRELOADER_DIALOG_WIDTH      = 500;
+    private static final float  PRELOADER_DIALOG_HEIGHT       =  400;
+    private static final float  PRELOADER_DIALOG_WIDTH        =  500;
+
+    private static final float  SCREEN_LOADER_MOUSE_FRAMETIME =  0.15f;
+    private static final int    SCREEN_LOADER_MOUSE_FRAMES    =  9;
+
+    //Adding a little offset to the mouse, because it doesnt feel centered because of a space around the tail
+    private static final float  SCREEN_LOADER_MOUSE_WIDTH     =  0.20f;
+    private static final float  SCREEN_LOADER_MOUSE_OFFSET_X  = -0.13f;
+    private static final float  SCREEN_LOADER_MOUSE_DELAY     =  1.0f;
+    private static final float  SCREEN_LOADER_MOUSE_FADEIN    =  0.5f;
+    private static final float  SCREEN_LOADER_MOUSE_FADEOUT   =  0.5f;
 
     private final ApplicationFontManager.FontType_NEW PRELOADER_TITLE_FONT    = ApplicationFontManager.FontType_NEW.BOLD_26;
 
@@ -105,6 +117,10 @@ public abstract class TablexiaApplication implements ApplicationListener {
     private TablexiaComponentDialog             preloaderDialog;
     private SingleButtonContentDialogComponent  preloaderCloseButtonComponent;
 
+    private AnimatedImage screenLoaderMouse;
+
+    private boolean mouseVisible = false;
+    private boolean loadingComplete = false;
 
 //////////////////////////// TablexiaApplication API
 
@@ -199,8 +215,10 @@ public abstract class TablexiaApplication implements ApplicationListener {
     public void resize(int width, int height) {
         if (lastScreen != null) lastScreen.resize(width, height);
         if (screen != null) screen.resize(width, height);
-        setScreenDimmerBounds();
-        stage.getViewport().update(width, height, true);
+        if (stage != null) {
+            stage.getViewport().update(width, height, true);
+            setScreenDimmerBounds();
+        }
 
         if (screenSizeUnderThreshold != ComponentScaleUtil.isUnderThreshold()) {
             ApplicationBus.getInstance().publishAsync(new ScreenSizeThresholdChanged(ComponentScaleUtil.isUnderThreshold()));
@@ -313,6 +331,46 @@ public abstract class TablexiaApplication implements ApplicationListener {
     }
 
 
+    private void prepareScreenLoaderMouse() {
+        screenLoaderMouse = new AnimatedImage(
+                ApplicationAtlasManager.getInstance().getAnimation(
+                        ApplicationAtlasManager.SCREEN_LOADER_MOUSE,
+                        SCREEN_LOADER_MOUSE_FRAMES,
+                        SCREEN_LOADER_MOUSE_FRAMETIME
+                ),
+                false
+        );
+    }
+
+    private void showScreenLoaderMouse() {
+        if(screenLoaderMouse == null)
+            prepareScreenLoaderMouse();
+
+        float ratio = screenLoaderMouse.getHeight()/screenLoaderMouse.getWidth();
+        screenLoaderMouse.setSize(
+                SCREEN_LOADER_MOUSE_WIDTH * getStage().getWidth(),
+                SCREEN_LOADER_MOUSE_WIDTH * getStage().getWidth() * ratio
+        );
+
+        screenLoaderMouse.setPosition(
+                TablexiaSettings.getViewportWidth(getStage()) / 2f - screenLoaderMouse.getWidth() / 2f + (screenLoaderMouse.getWidth() * SCREEN_LOADER_MOUSE_OFFSET_X),
+				TablexiaSettings.getActorSceneVerticalCenter(getStage(), screenLoaderMouse)
+        );
+
+        screenLoaderMouse.addAction(Actions.alpha(0));
+        screenLoaderMouse.addAction(Actions.fadeIn(SCREEN_LOADER_MOUSE_FADEIN));
+        screenLoaderMouse.startAnimationLoop();
+        getStage().addActor(screenLoaderMouse);
+    }
+
+    private void hideScreenLoaderMouse() {
+        if(screenLoaderMouse != null && mouseVisible)
+            screenLoaderMouse.addAction(new SequenceAction(Actions.fadeOut(SCREEN_LOADER_MOUSE_FADEOUT), Actions.removeActor()));
+
+        mouseVisible = false;
+    }
+
+
 //////////////////////////// SCREEN PRELOADER
 
     public static class PreloaderAssetsManager {
@@ -628,16 +686,31 @@ public abstract class TablexiaApplication implements ApplicationListener {
     }
 
     private void processStartLoading(AbstractTablexiaScreen<?> newScreen, ScreenTransaction screenTransaction) {
+        this.loadingComplete = false;
+
         if (newScreen.hasPreloader()) {
             startPreloader(newScreen, screenTransaction);
         } else {
             stopPreloader();
             preloaderDialog = null;
+
+            getStage().addAction(new SequenceAction(Actions.delay(SCREEN_LOADER_MOUSE_DELAY), Actions.run(new Runnable() {
+                @Override
+                public void run() {
+                    if(!loadingComplete) {
+                        mouseVisible = true;
+                        showScreenLoaderMouse();
+                    }
+                }
+            })));
         }
     }
 
     private void processLoadingComplete(ScreenTransaction screenTransaction) {
+        this.loadingComplete = true;
+
         if (preloaderDialog == null) {
+            hideScreenLoaderMouse();
             screenTransaction.continueWithTransaction();
         } else {
             preloaderCloseButtonComponent.setEnabled(true);
diff --git a/core/src/cz/nic/tablexia/TablexiaSettings.java b/core/src/cz/nic/tablexia/TablexiaSettings.java
index a00872bf2d433142b2adbb6563cca3dbebd811a9..1b838c84d5698ecf3bd040cdaf9b47fbf8ee9251 100644
--- a/core/src/cz/nic/tablexia/TablexiaSettings.java
+++ b/core/src/cz/nic/tablexia/TablexiaSettings.java
@@ -3,6 +3,7 @@ package cz.nic.tablexia;
 import com.badlogic.gdx.Gdx;
 import com.badlogic.gdx.Preferences;
 import com.badlogic.gdx.graphics.Color;
+import com.badlogic.gdx.scenes.scene2d.Actor;
 import com.badlogic.gdx.scenes.scene2d.InputEvent;
 import com.badlogic.gdx.scenes.scene2d.Stage;
 import com.badlogic.gdx.scenes.scene2d.utils.ClickListener;
@@ -35,11 +36,12 @@ public class TablexiaSettings {
     public static final Class<? extends AbstractTablexiaScreen<?>> LOADER_SCREEN     = LoaderScreen.class;
     public static final Class<? extends AbstractTablexiaScreen<?>> INITIAL_SCREEN    = GameMenuScreen.class;
     public static final Long                                       GAMES_RANDOM_SEED = null;
-    public static final int                                        AVATAR_COUNT      = 8;
+    public static final int                                        AVATAR_COUNT      = 12;
 
     public static final int                                        PRELOADER_SPEECH_PLAY_COUNT = 2;
 
     private static final String PREFERENCES_KEY         = "cz.nic.tablexia.";
+    private static final String LAST_LOCALE_KEY         = "last_locale";
     public static final  String LOCALE_KEY              = "locale";
     private static final String SELECTED_USER           = "selected_user";
 
@@ -59,6 +61,7 @@ public class TablexiaSettings {
     private Preferences      preferences;
     private LocaleDefinition systemLocale;
     private LocaleDefinition selectedLocale;
+	private LocaleDefinition lastLocale;
     private User             selectedUser;
 
 
@@ -175,6 +178,7 @@ public class TablexiaSettings {
 
     public void loadPreferences(boolean reset) {
         preferences = Gdx.app.getPreferences(PREFERENCES_KEY + BUILD_TYPE.getKey());
+        lastLocale = LocaleDefinition.getLocaleDefinitionForKey(preferences.getString(LAST_LOCALE_KEY));
         selectedLocale = LocaleDefinition.getLocaleDefinitionForKey(preferences.getString(LOCALE_KEY));
         selectedUser = reset ? null : UserDAO.selectUser(preferences.getLong(SELECTED_USER));
 
@@ -212,16 +216,16 @@ public class TablexiaSettings {
     }
 
     public void setGameDifficulty(GameDefinition gameDefinition, GameDifficulty gameDifficulty) {
-        preferences.putString(getGameDifficultyPreferncesKey(gameDefinition), gameDifficulty.name());
+        preferences.putString(getGameDifficultyPreferencesKey(gameDefinition), gameDifficulty.name());
         preferences.flush();
     }
 
     public GameDifficulty getGameDifficulty(GameDefinition gameDefinition) {
-        return GameDifficulty.valueOf(GameDifficulty.class, preferences.getString(getGameDifficultyPreferncesKey(gameDefinition), GameDifficulty.DEFAULT_DIFFICULTY.name()));
+        return GameDifficulty.valueOf(GameDifficulty.class, preferences.getString(getGameDifficultyPreferencesKey(gameDefinition), GameDifficulty.DEFAULT_DIFFICULTY.name()));
     }
 
-    private String getGameDifficultyPreferncesKey(GameDefinition gameDefinition) {
-        return "GAME_DIFFICULTY_" + gameDefinition.name();
+    private String getGameDifficultyPreferencesKey(GameDefinition gameDefinition) {
+        return "GAME_DIFFICULTY_" + gameDefinition.name() + "_" + getSelectedUser().getId();
     }
 
     public static Color getDefaultBackgroundColor() {
@@ -272,6 +276,17 @@ public class TablexiaSettings {
         ApplicationBus.getInstance().publishAsync(new SelectedUserEvent(user != null));
     }
 
+    private void setLastLocale(LocaleDefinition lastLocale) {
+        this.lastLocale = lastLocale;
+
+        if (lastLocale == null) {
+            preferences.remove(LAST_LOCALE_KEY);
+        } else {
+            preferences.putString(LAST_LOCALE_KEY, lastLocale.getLocaleKey());
+        }
+        preferences.flush();
+    }
+
     public interface LogoutAcceptListener  {
         void onLogoutAccepted();
     }
@@ -387,20 +402,34 @@ public class TablexiaSettings {
     }
 
     public void setLocale(LocaleDefinition localeDefinition) {
-        LocaleDefinition lastLocale = selectedLocale;
+        setLastLocale(selectedLocale);
         selectedLocale = localeDefinition;
         preferences.putString(LOCALE_KEY, localeDefinition.getLocaleKey());
         preferences.flush();
-        if (!lastLocale.getLocale().getLanguage().equals(localeDefinition.getLocale().getLanguage())) {
+        if (hasLocaleChanged()) {
             ApplicationBus.getInstance().post(new LocaleChangedEvent(localeDefinition)).asynchronously();
         }
     }
 
+	public boolean hasLocaleChanged() {
+		return lastLocale == null || !lastLocale.getLocale().getLanguage().equals(selectedLocale.getLocale().getLanguage());
+	}
+
     public LocaleDefinition getLocaleDefinition() {
         return selectedLocale;
     }
 
-    public Locale getLocale() {
+	public void returnToLastLocale() {
+		if (hasLocaleChanged()) {
+			setLocale(getLastLocale());
+		}
+	}
+
+	public LocaleDefinition getLastLocale() {
+		return lastLocale;
+	}
+
+	public Locale getLocale() {
         return selectedLocale.getLocale();
     }
 
@@ -488,4 +517,8 @@ public class TablexiaSettings {
     public static float getViewportHeight(Stage stage) {
         return getViewportTopY(stage) - getViewportBottomY(stage);
     }
+
+	public static float getActorSceneVerticalCenter(Stage stage, Actor actor) {
+		return getViewportHeight(stage) / 2f - actor.getHeight() / 2f + getViewportBottomY(stage);
+	}
 }
\ No newline at end of file
diff --git a/core/src/cz/nic/tablexia/TablexiaStorage.java b/core/src/cz/nic/tablexia/TablexiaStorage.java
index 3cfe348c79e32a0c99a152617e2461e63ae5903a..5a56f559b1cf53e55e1be88e2a2e55fd9b1b9212 100644
--- a/core/src/cz/nic/tablexia/TablexiaStorage.java
+++ b/core/src/cz/nic/tablexia/TablexiaStorage.java
@@ -18,6 +18,7 @@ import java.util.Map;
 import cz.nic.tablexia.bus.ApplicationBus;
 import cz.nic.tablexia.loader.TablexiaAbstractFileManager;
 import cz.nic.tablexia.model.UserDAO;
+import cz.nic.tablexia.model.UserDifficultySettingsDAO;
 import cz.nic.tablexia.model.game.GameDAO;
 import cz.nic.tablexia.model.game.GamePauseDAO;
 import cz.nic.tablexia.model.screen.ScreenDAO;
@@ -130,6 +131,7 @@ public class TablexiaStorage {
             statement.execute(GamePauseDAO.CREATE_CONNECTION_TABLE);
             statement.execute(SCREEN_STATE_CREATE_TABLE);
             statement.execute(ScreenDAO.SCREEN_CREATE_TABLE);
+			statement.execute(UserDifficultySettingsDAO.CREATE_TABLE);
             statement.close();
         } catch (SQLException e) {
             Log.err(getClass(), "Cannot init Tablexia tables!", e);
@@ -137,9 +139,6 @@ public class TablexiaStorage {
     }
 
     private void MigrateData() {
-        UserDAO.migrateUserSignaturesData();
-        UserDAO.migrateUserTableStructure();
-		UserDAO.fixUserNames();
     }
 
     private void reset(boolean reset) {
diff --git a/core/src/cz/nic/tablexia/debug/DebugInfo.java b/core/src/cz/nic/tablexia/debug/DebugInfo.java
index ef726f3f2746ec69853b97872c6a65360dcab43d..54b7ecd033977c867670adffa60f353203857a2c 100644
--- a/core/src/cz/nic/tablexia/debug/DebugInfo.java
+++ b/core/src/cz/nic/tablexia/debug/DebugInfo.java
@@ -2,12 +2,9 @@ package cz.nic.tablexia.debug;
 
 import com.badlogic.gdx.Gdx;
 import com.badlogic.gdx.graphics.Color;
-import com.badlogic.gdx.graphics.g2d.BitmapFont;
 import com.badlogic.gdx.scenes.scene2d.Actor;
 import com.badlogic.gdx.scenes.scene2d.ui.Cell;
 import com.badlogic.gdx.scenes.scene2d.ui.Container;
-import com.badlogic.gdx.scenes.scene2d.ui.Label;
-import com.badlogic.gdx.scenes.scene2d.ui.Label.LabelStyle;
 import com.badlogic.gdx.scenes.scene2d.ui.Table;
 import com.badlogic.gdx.scenes.scene2d.utils.TextureRegionDrawable;
 import com.badlogic.gdx.utils.Disposable;
@@ -22,8 +19,10 @@ import cz.nic.tablexia.TablexiaApplication.ScreenChangedEvent;
 import cz.nic.tablexia.TablexiaSettings;
 import cz.nic.tablexia.bus.ApplicationBus;
 import cz.nic.tablexia.loader.application.ApplicationAtlasManager;
+import cz.nic.tablexia.loader.application.ApplicationFontManager;
 import cz.nic.tablexia.shared.model.User;
 import cz.nic.tablexia.screen.AbstractTablexiaScreen.ScreenInfoEvent;
+import cz.nic.tablexia.util.ui.TablexiaLabel;
 
 import static com.badlogic.gdx.scenes.scene2d.actions.Actions.alpha;
 
@@ -36,18 +35,18 @@ public class DebugInfo extends Table implements Disposable {
 
     private static class DebugInfoComponent extends Table {
 
-        private Map<String, Label> infoLabelMap;
-        private LabelStyle labelStyle;
+        private Map<String, TablexiaLabel> infoLabelMap;
+        private TablexiaLabel.TablexiaLabelStyle labelStyle;
 
         public DebugInfoComponent() {
-            infoLabelMap = new HashMap<String, Label>();
+            infoLabelMap = new HashMap<String, TablexiaLabel>();
             setBackground(new TextureRegionDrawable(ApplicationAtlasManager.getInstance().getColorTextureRegion(BACKGROUND_COLOR)));
             addAction(alpha(BACKGROUND_ALPHA));
-            labelStyle = new LabelStyle(new BitmapFont(), FONT_COLOR);
+            labelStyle = new TablexiaLabel.TablexiaLabelStyle(ApplicationFontManager.FontType_NEW.REGULAR_12, FONT_COLOR);
         }
 
         public synchronized void setInfoValue(String infoKey, String infoValue) {
-            Label label = infoLabelMap.get(infoKey);
+            TablexiaLabel label = infoLabelMap.get(infoKey);
             if (label == null) {
                 createInfoLabel(infoKey, infoValue);
             } else {
@@ -61,12 +60,12 @@ public class DebugInfo extends Table implements Disposable {
         }
 
         private void createInfoLabel(String infoKey, String infoValue) {
-            Label infoLabel = new Label(infoKey + KEY_COLON + infoValue, labelStyle);
+            TablexiaLabel infoLabel = new TablexiaLabel(infoKey + KEY_COLON + infoValue, labelStyle);
             infoLabelMap.put(infoKey, infoLabel);
             clearChildren();
 
-            for (Label label : infoLabelMap.values()) {
-                Cell<Label> cell = add(label);
+            for (TablexiaLabel label : infoLabelMap.values()) {
+                Cell<TablexiaLabel> cell = add(label);
                 if (getCells().size > 1) {
                     cell.pad(0, INFO_PADDING, 0, 0);
                 }
@@ -138,7 +137,7 @@ public class DebugInfo extends Table implements Disposable {
     public void update() {
         if (applicationDebugInfo != null) {
             User selectedUser = TablexiaSettings.getInstance().getSelectedUser();
-            applicationDebugInfo.setInfoValue(USER, selectedUser == null ? NO_VALUE : selectedUser.getName() + "[" + selectedUser.getId() + "]");
+            applicationDebugInfo.setInfoValue(USER, selectedUser == null ? NO_VALUE : selectedUser.getName() + " (" + selectedUser.getId() + ")");
             applicationDebugInfo.setInfoValue(FPS, "" + Gdx.graphics.getFramesPerSecond());
             applicationDebugInfo.setInfoValue(JAVA_HEAP, ("" + Gdx.app.getJavaHeap() / MB_SIZE) + UNIT_MB);
             applicationDebugInfo.setInfoValue(NATIVE_HEAP, ("" + Gdx.app.getNativeHeap() / MB_SIZE) + UNIT_MB);
diff --git a/core/src/cz/nic/tablexia/game/AbstractTablexiaGame.java b/core/src/cz/nic/tablexia/game/AbstractTablexiaGame.java
index b4ef7c6d3ef838244296be6af2aa774c0687f84f..ceaa5481d32beb3d29efa391824dcd4e51c0b1ca 100644
--- a/core/src/cz/nic/tablexia/game/AbstractTablexiaGame.java
+++ b/core/src/cz/nic/tablexia/game/AbstractTablexiaGame.java
@@ -52,6 +52,7 @@ import cz.nic.tablexia.util.ui.button.StandardTablexiaButton;
 import cz.nic.tablexia.util.ui.dialog.TablexiaComponentDialog;
 import cz.nic.tablexia.util.ui.dialog.TablexiaComponentDialogFactory;
 import cz.nic.tablexia.util.ui.dialog.components.AdaptiveSizeDialogComponent;
+import cz.nic.tablexia.util.ui.dialog.components.BackButtonHideComponent;
 import cz.nic.tablexia.util.ui.dialog.components.CenterPositionDialogComponent;
 import cz.nic.tablexia.util.ui.dialog.components.DimmerDialogComponent;
 import cz.nic.tablexia.util.ui.dialog.components.FixedSpaceContentDialogComponent;
@@ -489,7 +490,7 @@ public abstract class AbstractTablexiaGame<T> extends AbstractTablexiaScreen<T>
     private final float             TROPHY_DIALOG_HEIGHT_SCALE           = 1.2f;
 
     private static final float      VICTORY_DIALOG_TOP_PADDING_HEIGHT_RATIO     = 1f / 20;
-    private static final float      VICTORY_DIALOG_TITLE_IMAGE_WIDTH_RATIO      = 3f / 5;
+    private static final float      VICTORY_DIALOG_TITLE_IMAGE_WIDTH_RATIO      = 2.5f / 5;
     private static final float      VICTORY_DIALOG_TITLE_IMAGE_HEIGHT_RATIO     = 1f / 5;
     private static final Scaling    VICTORY_DIALOG_TITLE_IMAGE_SCALING          = Scaling.fill;
 
@@ -772,6 +773,14 @@ public abstract class AbstractTablexiaGame<T> extends AbstractTablexiaScreen<T>
             }
         });
 
+        adapters.add(new BackButtonHideComponent() {
+            @Override
+            protected void hideDialog() {
+                super.hideDialog();
+                backButtonPressed();
+            }
+        });
+
         //Create the dialog
         victoryDialog = TablexiaComponentDialogFactory.getInstance().createDialog(
                 adapters.toArray(new TablexiaDialogComponentAdapter[]{}));
@@ -924,6 +933,7 @@ public abstract class AbstractTablexiaGame<T> extends AbstractTablexiaScreen<T>
         }
 
         components.add(new FixedSpaceContentDialogComponent());
+        components.add(new BackButtonHideComponent());
 
         TablexiaComponentDialog tcd = TablexiaComponentDialogFactory.getInstance().createDialog(
                 TablexiaComponentDialog.TablexiaDialogType.DIALOG_SQUARE,
diff --git a/core/src/cz/nic/tablexia/game/difficulty/GameDifficulty.java b/core/src/cz/nic/tablexia/game/difficulty/GameDifficulty.java
index 6cc48acd9b37b7ab7483bdfbbe6592b37b070d70..1a37ab0845eba446d552e3eab22f00a0bde331bf 100644
--- a/core/src/cz/nic/tablexia/game/difficulty/GameDifficulty.java
+++ b/core/src/cz/nic/tablexia/game/difficulty/GameDifficulty.java
@@ -32,21 +32,23 @@ import cz.nic.tablexia.shared.model.Game;
  */
 public enum GameDifficulty {
 
-    TUTORIAL(0, "gamedifficulty_tutorial",  false),
-    EASY    (1, "gamedifficulty_easy",      true),
-    MEDIUM  (2, "gamedifficulty_medium",    true),
-    HARD    (3, "gamedifficulty_hard",      true);
+    TUTORIAL(0, "gamedifficulty_tutorial",  false, false),
+    EASY    (1, "gamedifficulty_easy",      true, true),
+    MEDIUM  (2, "gamedifficulty_medium",    true, true),
+    HARD    (3, "gamedifficulty_hard",      true, true);
 
     public static final GameDifficulty DEFAULT_DIFFICULTY = EASY;
 
     private int difficultyNumber;
     private String descriptionResourceKey;
     private boolean visible;
+    private boolean hasScore;
 
-    GameDifficulty(int difficultyNumber, String descriptionResourceKey, boolean visible) {
+    GameDifficulty(int difficultyNumber, String descriptionResourceKey, boolean visible, boolean hasScore) {
         this.difficultyNumber = difficultyNumber;
         this.descriptionResourceKey = descriptionResourceKey;
         this.visible = visible;
+        this.hasScore = hasScore;
     }
 
     public int getDifficultyNumber() {
@@ -92,4 +94,8 @@ public enum GameDifficulty {
     public static GameDifficulty getByGame(Game game) {
         return getGameDifficultyForDifficultyNumber(game.getGameDifficulty());
     }
+
+    public boolean hasScore() {
+        return hasScore;
+    }
 }
diff --git a/core/src/cz/nic/tablexia/game/games/in_the_darkness/InTheDarknessGame.java b/core/src/cz/nic/tablexia/game/games/in_the_darkness/InTheDarknessGame.java
index 91601e64da0a1e17ca19a33b9007ae74c37fb5a7..8b79604d820cf263f7244b9943ddd702368ddaf7 100644
--- a/core/src/cz/nic/tablexia/game/games/in_the_darkness/InTheDarknessGame.java
+++ b/core/src/cz/nic/tablexia/game/games/in_the_darkness/InTheDarknessGame.java
@@ -34,6 +34,7 @@ import cz.nic.tablexia.game.games.in_the_darkness.map.mapobject.MapObjectType;
 import cz.nic.tablexia.game.games.in_the_darkness.map.tile.Tile;
 import cz.nic.tablexia.game.games.in_the_darkness.map.widget.MapWidget;
 import cz.nic.tablexia.loader.application.ApplicationTextManager;
+import cz.nic.tablexia.model.game.GameDAO;
 import cz.nic.tablexia.shared.model.Game;
 import cz.nic.tablexia.util.Log;
 import cz.nic.tablexia.util.ScaleUtil;
@@ -510,7 +511,7 @@ public class InTheDarknessGame extends AbstractTablexiaGame<List<MapWidget>> imp
     }
 
     private void goToPlayMode() {
-        setGameScore(SCORE_KEY_PLANNING_DURATION, getGameScoreFloat(SCORE_KEY_PLANNING_DURATION, 0f) + (System.currentTimeMillis() - planningStartTime - getGame().getAllPausesDuration()));
+        setGameScore(SCORE_KEY_PLANNING_DURATION, getGameScoreFloat(SCORE_KEY_PLANNING_DURATION, 0f) + (System.currentTimeMillis() - planningStartTime - GameDAO.getAllPausesDuration(getGame())));
         disableStartButton(true);
         actionsWidget.disableActions();
         actionsStripWidget.disableControl();
diff --git a/core/src/cz/nic/tablexia/game/games/in_the_darkness/action/widget/ActionsStripWidget.java b/core/src/cz/nic/tablexia/game/games/in_the_darkness/action/widget/ActionsStripWidget.java
index be3fdc838905a2d843ceeac34046461887c34303..2abbd0e7d1f10ab7a1d13dcf6f0103d256cfb651 100644
--- a/core/src/cz/nic/tablexia/game/games/in_the_darkness/action/widget/ActionsStripWidget.java
+++ b/core/src/cz/nic/tablexia/game/games/in_the_darkness/action/widget/ActionsStripWidget.java
@@ -112,7 +112,6 @@ public class ActionsStripWidget extends Group implements ActionListener {
 	public void setSize(float width, float height) {
 		super.setSize(width, height);
 		nextActionField.setSize(InTheDarknessGame.ACTION_SIZE_BIGGER * 2, getHeight());
-		moveScrollPaneBottomToAction(0, false, null);
 	}
 
 	private void prepareSelectedActions(String selectedActionsString) {
diff --git a/core/src/cz/nic/tablexia/game/games/kidnapping/KidnappingGame.java b/core/src/cz/nic/tablexia/game/games/kidnapping/KidnappingGame.java
index 8a2433477451a1f02f75d4e606fdd64517dfc059..6c02ba21d43f382fe5b93544f7b57440527d72c4 100644
--- a/core/src/cz/nic/tablexia/game/games/kidnapping/KidnappingGame.java
+++ b/core/src/cz/nic/tablexia/game/games/kidnapping/KidnappingGame.java
@@ -10,14 +10,15 @@ import com.badlogic.gdx.scenes.scene2d.actions.SequenceAction;
 import com.badlogic.gdx.scenes.scene2d.ui.Image;
 import com.badlogic.gdx.scenes.scene2d.utils.ClickListener;
 import com.badlogic.gdx.utils.Align;
-import com.badlogic.gdx.utils.Timer;
 import com.badlogic.gdx.utils.Scaling;
+import com.badlogic.gdx.utils.Timer;
 import com.google.common.collect.ObjectArrays;
 
 import java.util.Arrays;
 import java.util.List;
 
 import cz.nic.tablexia.TablexiaApplication;
+import cz.nic.tablexia.TablexiaSettings;
 import cz.nic.tablexia.game.AbstractTablexiaGame;
 import cz.nic.tablexia.game.common.media.AssetDescription;
 import cz.nic.tablexia.game.common.media.GfxLibrary;
@@ -48,7 +49,6 @@ import cz.nic.tablexia.loader.application.ApplicationTextManager;
 import cz.nic.tablexia.shared.model.Game;
 import cz.nic.tablexia.util.MusicUtil;
 import cz.nic.tablexia.util.ui.AnimatedImage;
-import cz.nic.tablexia.util.ui.ClickListenerWithSound;
 import cz.nic.tablexia.util.ui.TablexiaLabel;
 import cz.nic.tablexia.util.ui.button.StandardTablexiaButton;
 import cz.nic.tablexia.util.ui.dialog.components.AnimatedImageContentDialogComponent;
@@ -99,7 +99,7 @@ public class KidnappingGame extends AbstractTablexiaGame<GameState> {
 
     @Override
     protected GameState prepareGameData(java.util.Map<String, String> gameState) {
-        GameState gs = GameState.GameStateFactory.createInstance(getGame(), getRandom(), getGameDifficulty(), Properties.MAP_WIDTH, Properties.MAP_HEIGHT, Properties.GAME_STOPS, Properties.MAP_WIDTH / 2, Properties.MAP_HEIGHT / 2);
+        GameState gs = GameState.GameStateFactory.createInstance(getGame(), getRandom(), getGameDifficulty(), TablexiaSettings.getInstance().getLocale(), Properties.MAP_WIDTH, Properties.MAP_HEIGHT, Properties.GAME_STOPS, Properties.MAP_WIDTH / 2, Properties.MAP_HEIGHT / 2);
         return gs;
     }
 
@@ -130,8 +130,8 @@ public class KidnappingGame extends AbstractTablexiaGame<GameState> {
 
 		screenResized(0, 0);
 	}
-
-	private void prepareRuleMessage() {
+    
+    private void prepareRuleMessage() {
 		ruleMessage = new Group();
 
 		//Adds Backgrounds
@@ -274,9 +274,8 @@ public class KidnappingGame extends AbstractTablexiaGame<GameState> {
         final Direction[] directions = DirectionsHelper.getNextDirections(getData().getLastDirectionFrom());
 		final Arrow[] arrows = map.getDirectionArrow(position, directions);
 		for (final Arrow a : arrows) {
-			for (EventListener el : a.getListeners()) {
-				a.removeListener(el);
-			}
+            a.setDisabled(true);
+            a.clearListeners();
 		}
 
         map.addAction(Actions.sequence(ReplayAlphaAction.fadeOut(), new PlayExample(actualSoundPack.getExample(this)), Actions.run(new Runnable() {
diff --git a/core/src/cz/nic/tablexia/game/games/kidnapping/actors/Arrow.java b/core/src/cz/nic/tablexia/game/games/kidnapping/actors/Arrow.java
index 973841bdade6cc3c1e2bd7622599bdc2d2c45125..80e30a5058b850fcba52d56f5042788ae261b2ee 100644
--- a/core/src/cz/nic/tablexia/game/games/kidnapping/actors/Arrow.java
+++ b/core/src/cz/nic/tablexia/game/games/kidnapping/actors/Arrow.java
@@ -21,6 +21,7 @@
 
 package cz.nic.tablexia.game.games.kidnapping.actors;
 
+import com.badlogic.gdx.graphics.Color;
 import com.badlogic.gdx.graphics.g2d.TextureRegion;
 import com.badlogic.gdx.scenes.scene2d.Actor;
 import com.badlogic.gdx.scenes.scene2d.ui.Image;
@@ -31,7 +32,9 @@ import com.badlogic.gdx.scenes.scene2d.ui.Stack;
  */
 public class Arrow extends Stack {
     private Image normal, pressed;
-	private boolean disabled = false;
+    private boolean disabled = false;
+    private final Color COLOR_ENABLED = new Color(0x00AADEff);
+    private final Color COLOR_DISABLED = Color.GRAY;
 
     public Arrow(TextureRegion arrow, TextureRegion arrowPressed) {
         addActor(pressed = new Image(arrowPressed));
@@ -44,13 +47,21 @@ public class Arrow extends Stack {
         normal.setVisible(true);
     }
 
-	public void setDisabled(boolean val) {
-		this.disabled = val;
-	}
 
-	public boolean isDisabled() {
-		return disabled;
-	}
+    public void setDisabled(boolean val) {
+        if (!val) {
+            normal.setColor(COLOR_ENABLED);
+            pressed.setColor(COLOR_ENABLED);
+        } else {
+            normal.setColor(COLOR_DISABLED);
+            pressed.setColor(COLOR_DISABLED);
+        }
+        this.disabled = val;
+    }
+
+    public boolean isDisabled() {
+        return disabled;
+    }
 
     @Override
     public Actor hit(float x, float y, boolean touchable) {
diff --git a/core/src/cz/nic/tablexia/game/games/kidnapping/actors/Map.java b/core/src/cz/nic/tablexia/game/games/kidnapping/actors/Map.java
index d244a943842b71f7375e629e2cd545d4a17af905..acaefb195da2a5a1a6c70d8ffd51f5cf9139d3e9 100644
--- a/core/src/cz/nic/tablexia/game/games/kidnapping/actors/Map.java
+++ b/core/src/cz/nic/tablexia/game/games/kidnapping/actors/Map.java
@@ -64,7 +64,7 @@ public class Map extends Group {
 
     public void addTile(Position position, Tile tile) {
         int baseX = getBaseX(position);
-        int baseY = getBaseY(position) + (tile.getTileType().getyOffset() / 2);
+        int baseY = getBaseY(position) + (tile.getTileType().getYOffset() / 2);
         tile.setPosition(baseX, baseY);
         tile.setPosition(position);
         tileMap.put(position, tile);
diff --git a/core/src/cz/nic/tablexia/game/games/kidnapping/generator/SoundPathGenerator.java b/core/src/cz/nic/tablexia/game/games/kidnapping/generator/SoundPathGenerator.java
index 7bebc2ea6fdf730ce4fecf4c9d5f79d07c61abae..f8ebecda59d70139f87e6202303e86d46d0a1b95 100644
--- a/core/src/cz/nic/tablexia/game/games/kidnapping/generator/SoundPathGenerator.java
+++ b/core/src/cz/nic/tablexia/game/games/kidnapping/generator/SoundPathGenerator.java
@@ -3,6 +3,7 @@ package cz.nic.tablexia.game.games.kidnapping.generator;
 import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.List;
+import java.util.Locale;
 import java.util.Random;
 import java.util.Set;
 
@@ -23,13 +24,13 @@ public class SoundPathGenerator {
         this.gameDifficulty = gameDifficulty;
     }
 
-    public List<DirectionSounds.SoundPack> generatePath(List<Position> path) {
+    public List<DirectionSounds.SoundPack> generatePath(List<Position> path, Locale locale) {
         Set<Integer> usedSounds = new HashSet<Integer>();
         List<DirectionSounds.SoundPack> sounds = new ArrayList<DirectionSounds.SoundPack>();
         for (int i = 0; i < path.size(); i++) {
             DirectionSounds.SoundPack nextSoundPack = null;
             do {
-                nextSoundPack = DirectionSounds.getRandomSoundPack(random, gameDifficulty, DirectionsHelper.getLastDirectionFrom(path, i), DirectionsHelper.getNextDirection(path, i));
+                nextSoundPack = DirectionSounds.getRandomSoundPack(random, gameDifficulty, locale, DirectionsHelper.getLastDirectionFrom(path, i), DirectionsHelper.getNextDirection(path, i));
             } while (usedSounds.contains(nextSoundPack.getSoundNumber()));
             sounds.add(nextSoundPack);
             usedSounds.add(nextSoundPack.getSoundNumber());
diff --git a/core/src/cz/nic/tablexia/game/games/kidnapping/media/DirectionSounds.java b/core/src/cz/nic/tablexia/game/games/kidnapping/media/DirectionSounds.java
index fabb26af96fb8f129182b9a53152a1a1753ba422..16b7f3199af7c751c8256d979a8242a1d82b104b 100644
--- a/core/src/cz/nic/tablexia/game/games/kidnapping/media/DirectionSounds.java
+++ b/core/src/cz/nic/tablexia/game/games/kidnapping/media/DirectionSounds.java
@@ -24,23 +24,26 @@ package cz.nic.tablexia.game.games.kidnapping.media;
 import com.badlogic.gdx.audio.Music;
 
 import java.io.Serializable;
+import java.util.Locale;
 import java.util.Random;
 
+import cz.nic.tablexia.TablexiaSettings;
 import cz.nic.tablexia.game.difficulty.GameDifficulty;
 import cz.nic.tablexia.game.games.kidnapping.KidnappingGame;
 import cz.nic.tablexia.game.games.kidnapping.model.Direction;
+import cz.nic.tablexia.util.Log;
 
 /**
  * @author lhoracek
  */
 public class DirectionSounds {
-    public static SoundPack getRandomSoundPack(Random random, GameDifficulty gameDifficulty, Direction fromDirection, Direction nextDirection) {
+    public static SoundPack getRandomSoundPack(Random random, GameDifficulty gameDifficulty, Locale locale, Direction fromDirection, Direction nextDirection) {
         if (gameDifficulty == GameDifficulty.EASY) {
-            return Level1.getRandomSoundPack(random, fromDirection, nextDirection);
+            return Level1.getRandomSoundPack(random, fromDirection, nextDirection, locale);
         } else if (gameDifficulty == GameDifficulty.MEDIUM) {
-            return Level2.getRandomSoundPack(random, fromDirection, nextDirection);
+            return Level2.getRandomSoundPack(random, fromDirection, nextDirection, locale);
         } else if (gameDifficulty == GameDifficulty.HARD) {
-            return Level3.getRandomSoundPack(random, fromDirection, nextDirection);
+            return Level3.getRandomSoundPack(random, fromDirection, nextDirection, locale);
         }
         throw new IllegalArgumentException("Unsupported difficulty " + gameDifficulty.name());
     }
@@ -152,13 +155,51 @@ public class DirectionSounds {
         }
     }
 
+    private enum LocaleSoundsCount {
+        cs_CZ(TablexiaSettings.LocaleDefinition.cs_CZ.getLocale(),  20, 19, 31),
+        sk_SK(TablexiaSettings.LocaleDefinition.sk_SK.getLocale(), 20, 19, 20),
+        de_DE(TablexiaSettings.LocaleDefinition.de_DE.getLocale(), 20, 19, 20);
+
+        Locale locale;
+        int level1, level2, level3;
+
+        LocaleSoundsCount(Locale locale, int level1, int level2, int level3) {
+            this.locale = locale;
+            this.level1 = level1;
+            this.level2 = level2;
+            this.level3 = level3;
+        }
+
+        private static LocaleSoundsCount getLocaleSoundCount(Locale locale) {
+            for (LocaleSoundsCount localeSoundsCount : values()) {
+                if(localeSoundsCount.locale.equals(locale)) {
+                    return localeSoundsCount;
+                }
+            }
+            Log.err(KidnappingGame.class, ": Currently chosen language can't be find in LocaleSoundCount Enum!");
+            return null;
+        }
+
+        public static int getLevel1Count(Locale locale) {
+            return getLocaleSoundCount(locale).level1;
+        }
+
+        public static int getLevel2Count(Locale locale) {
+            return getLocaleSoundCount(locale).level2;
+        }
+
+        public static int getLevel3Count(Locale locale) {
+            return getLocaleSoundCount(locale).level3;
+        }
+    }
+
     public static class Level1 {
 
-        private static final int    SOUNDS        = 20;
         private static final String FOLDER_PREFIX = "level1/";
 
-        public static SoundPack getRandomSoundPack(Random random, Direction fromDirection, Direction nextDirection) {
-            int num = random.nextInt(SOUNDS) + 1;
+        public static SoundPack getRandomSoundPack(Random random, Direction fromDirection, Direction nextDirection, Locale locale) {
+            int sounds = LocaleSoundsCount.getLevel1Count(locale);
+            int num = random.nextInt(sounds) + 1;
 
             String correct = FOLDER_PREFIX + num + "-" + getRandomLetter(random);
 
@@ -178,11 +219,11 @@ public class DirectionSounds {
 
     public static class Level2 {
 
-        private static final int    SOUNDS        = 19;
         private static final String FOLDER_PREFIX = "level2/";
 
-        public static SoundPack getRandomSoundPack(Random random, Direction fromDirection, Direction nextDirection) {
-            int num = random.nextInt(SOUNDS) + 1;
+        public static SoundPack getRandomSoundPack(Random random, Direction fromDirection, Direction nextDirection, Locale locale) {
+            int sounds = LocaleSoundsCount.getLevel2Count(locale);
+            int num = random.nextInt(sounds) + 1;
 
             String correct = FOLDER_PREFIX + num + "-" + getRandomLetter(random);
 
@@ -206,12 +247,11 @@ public class DirectionSounds {
     }
 
     public static class Level3 {
-
-        private static final int    SOUNDS        = 31;
         private static final String FOLDER_PREFIX = "level3/";
 
-        public static SoundPack getRandomSoundPack(Random random, Direction fromDirection, Direction nextDirection) {
-            int num = random.nextInt(SOUNDS) + 1;
+        public static SoundPack getRandomSoundPack(Random random, Direction fromDirection, Direction nextDirection, Locale locale) {
+            int sounds = LocaleSoundsCount.getLevel3Count(locale);
+            int num = random.nextInt(sounds) + 1;
 
             String example = FOLDER_PREFIX + num + "-VZ";
             String correct = FOLDER_PREFIX + num + "-A";
diff --git a/core/src/cz/nic/tablexia/game/games/kidnapping/media/assets/TextureTypes.java b/core/src/cz/nic/tablexia/game/games/kidnapping/media/assets/TextureTypes.java
index d4ee30225f2de6e68e8289c5928f95476f9325a3..101a0c6872a7da0e2aacbe67e1aec7fd746ef7f9 100644
--- a/core/src/cz/nic/tablexia/game/games/kidnapping/media/assets/TextureTypes.java
+++ b/core/src/cz/nic/tablexia/game/games/kidnapping/media/assets/TextureTypes.java
@@ -28,15 +28,15 @@ import cz.nic.tablexia.game.common.media.AssetDescription;
  */
 public enum TextureTypes implements AssetDescription {
 
-    POSITION_CURRENT("zde-jsi"), //
+    POSITION_CURRENT("position-current"), //
     OVERLAY("overlay"), //
     EAR("ear"), //
-	PAPER("papir-pravidla"),
-    POSITION_LINE_NWSE("lineNWSE-2"), //
-    POSITION_LINE_NESW("lineNESW-2"), //
+	PAPER("rules-background"),
+    POSITION_LINE_NWSE("lineNWSE"), //
+    POSITION_LINE_NESW("lineNESW"), //
 
-    WRONG("spatne"), //
-    CORRECT("dobre"), //
+    WRONG("wrong"), //
+    CORRECT("correct"), //
 
     POSITION_NEXT_NW("arrow-left-top-unpressed"), //
     POSITION_NEXT_NE("arrow-right-top-unpressed"), //
diff --git a/core/src/cz/nic/tablexia/game/games/kidnapping/media/assets/TileType.java b/core/src/cz/nic/tablexia/game/games/kidnapping/media/assets/TileType.java
index 5cdda73521032bd2f400edf8a7504ace3fe552ff..e544691e79c10771429fdf2eb6c08d4d351c2533 100644
--- a/core/src/cz/nic/tablexia/game/games/kidnapping/media/assets/TileType.java
+++ b/core/src/cz/nic/tablexia/game/games/kidnapping/media/assets/TileType.java
@@ -10,29 +10,29 @@ import cz.nic.tablexia.game.common.media.AssetDescription;
 public enum TileType implements AssetDescription {
 
 
-    DOME1(1, 1, "domek1", 78), //
-    DOME2(1, 1, "domek2", 78), //
-    DOME3(1, 1, "domek3", 78), //
-    DOME4(1, 1, "domek4", 78), //
-    DOME5(1, 1, "domek5", 78), //
-    DOME6(1, 1, "domek6", 78), //
-    DOME7(1, 1, "domek7", 78), //
-    DOME8(1, 1, "domek8", 78), //
-    HRISTE(1, 1, "hriste", 78), //
+    HOUSE1(1, 1, "house1", 78), //
+    HOUSE2(1, 1, "house2", 78), //
+    HOUSE3(1, 1, "house3", 78), //
+    HOUSE4(1, 1, "house4", 78), //
+    HOUSE5(1, 1, "house5", 78), //
+    HOUSE6(1, 1, "house6", 78), //
+    HOUSE7(1, 1, "house7", 78), //
+    HOUSE8(1, 1, "house8", 78), //
+    PLAYGOUND(1, 1, "playground", 78), //
     PARK(1, 1, "park", 78), //
-    POSTA(1, 1, "posta", 78), //
-    SKOLA(1, 1, "skola", 78), //
-    VILA1(1, 1, "vila1", 78), //
-    VILA2(1, 1, "vila2", 78), //
-    VILA3(1, 1, "vila3", 78), //
-    VILA4(1, 1, "vila4", 78); //
+    POST(1, 1, "post", 78), //
+    SCHOOL(1, 1, "school", 78), //
+    VILLA1(1, 1, "villa1", 78), //
+    VILLA2(1, 1, "villa2", 78), //
+    VILLA3(1, 1, "villa3", 78), //
+    VILLA4(1, 1, "villa4", 78); //
 
     public static final String BASE_DIR = "tiles/";
     private final int swSize, seSize;
     private final String name;
     private final int    yOffset;
 
-    private TileType(int sw, int se, String name, int yOffset) {
+    TileType(int sw, int se, String name, int yOffset) {
         this.swSize = sw;
         this.seSize = se;
         this.name = name;
@@ -51,7 +51,7 @@ public enum TileType implements AssetDescription {
         return BASE_DIR + name;
     }
 
-    public int getyOffset() {
+    public int getYOffset() {
         return yOffset;
     }
 
diff --git a/core/src/cz/nic/tablexia/game/games/kidnapping/model/GameState.java b/core/src/cz/nic/tablexia/game/games/kidnapping/model/GameState.java
index e3a61e2a2e92d1d6afa1bb81aef1829c48b80caf..7d971065cd113854025fb2dc9b07132a164c8c89 100644
--- a/core/src/cz/nic/tablexia/game/games/kidnapping/model/GameState.java
+++ b/core/src/cz/nic/tablexia/game/games/kidnapping/model/GameState.java
@@ -3,6 +3,7 @@ package cz.nic.tablexia.game.games.kidnapping.model;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
+import java.util.Locale;
 import java.util.Map;
 import java.util.Random;
 
@@ -120,13 +121,13 @@ public class GameState {
     }
 
     public static class GameStateFactory {
-        public static GameState createInstance(Game game, Random random, GameDifficulty gameDifficulty, int width, int height, int stops, int startX, int startY) {
+        public static GameState createInstance(Game game, Random random, GameDifficulty gameDifficulty, Locale locale, int width, int height, int stops, int startX, int startY) {
             TileMapGenerator mapGenerator = new TileMapGenerator(random);
             PathGenerator pathGenerator = new PathGenerator(random);
             SoundPathGenerator soundPathGenerator = new SoundPathGenerator(random, gameDifficulty);
             Map<Position, TileType> map = mapGenerator.generate(width, height);
             List<Position> path = pathGenerator.generatePath(new Position(startX, startY), stops, map);
-            List<DirectionSounds.SoundPack> sounds = soundPathGenerator.generatePath(path);
+            List<DirectionSounds.SoundPack> sounds = soundPathGenerator.generatePath(path, locale);
             Direction startDirectionFrom = pathGenerator.getRandomDirection(DirectionsHelper.getNextDirection(path, 0));
             Direction endDirection = pathGenerator.getRandomDirection(DirectionsHelper.getLastDirectionFrom(path, path.size() - 1));
             return new GameState(game, map, path, sounds, startDirectionFrom, endDirection);
diff --git a/core/src/cz/nic/tablexia/game/games/pursuit/PursuitGame.java b/core/src/cz/nic/tablexia/game/games/pursuit/PursuitGame.java
index 7a40be2d4c78b89eecd3a42f00c5f4899488a70e..ac676afd5259be9d0f5f86eb794b6a14184ccef7 100644
--- a/core/src/cz/nic/tablexia/game/games/pursuit/PursuitGame.java
+++ b/core/src/cz/nic/tablexia/game/games/pursuit/PursuitGame.java
@@ -62,11 +62,11 @@ public class PursuitGame extends AbstractTablexiaGame<int[][]> {
     public static class GameResultResolver implements GameDefinition.GameResultResolver {
         @Override
         public GameResult getGameCupsResult(Game game) {
-            return GameRulesHelper.getNumberOfStarsForTime(GameDifficulty.getGameDifficultyForDifficultyNumber(game.getGameDifficulty()), game.getGameDuration());
+            return GameRulesHelper.getNumberOfStarsForTime(GameDifficulty.getGameDifficultyForDifficultyNumber(game.getGameDifficulty()), GameDAO.getGameDuration(game));
         }
         @Override
         public float getGameScoreResult(Game game) {
-             return game.getGameDuration() != null ? (float)game.getGameDuration() : 0;
+             return GameDAO.getGameDuration(game) != null ? (float)GameDAO.getGameDuration(game) : 0;
         }
 
 	}
@@ -489,7 +489,7 @@ public class PursuitGame extends AbstractTablexiaGame<int[][]> {
 
     @Override
     protected List<SummaryMessage> getSummaryMessageForGameResult(Game game) {
-        return Arrays.asList(new SummaryMessage(SummaryImage.TIME, getFormattedText(SUMMARY_TEXT_TIME, getOverallTimeText(game.getGameDuration()))),
+        return Arrays.asList(new SummaryMessage(SummaryImage.TIME, getFormattedText(SUMMARY_TEXT_TIME, getOverallTimeText(GameDAO.getGameDuration(game)))),
                 new SummaryMessage(SummaryImage.STATS, getFormattedText(SUMMARY_TEXT_MOVE_COUNT, game.getGameScore(SCORE_KEY_MOVE_COUNT, "0"))));
     }
 
diff --git a/core/src/cz/nic/tablexia/game/games/robbery/assets/RobberyAssets.java b/core/src/cz/nic/tablexia/game/games/robbery/assets/RobberyAssets.java
index 97c6747d2b8f9692f209b24fa6cc9cd706611386..c1a9b7f3f9358444bc58462bf5757e5b07a8aa77 100644
--- a/core/src/cz/nic/tablexia/game/games/robbery/assets/RobberyAssets.java
+++ b/core/src/cz/nic/tablexia/game/games/robbery/assets/RobberyAssets.java
@@ -185,4 +185,14 @@ public final class RobberyAssets {
 	
 	public static final String 	ATTRIBUTE_M_HEAD_1				= CREATURE_PATH + "m_head1";
 	public static final String 	ATTRIBUTE_M_HEAD_2				= CREATURE_PATH + "m_head2";
+
+	public static final String 	CONSTITUENT1_M 					= "constituent1_m";
+	public static final String 	CONSTITUENT1_F 					= "constituent1_f";
+	public static final String 	CONSTITUENT1_N 					= "constituent1_n";
+	public static final String 	CONSTITUENT2_M 					= "constituent2_m";
+	public static final String 	CONSTITUENT2_F 					= "constituent2_f";
+	public static final String 	CONSTITUENT2_N 					= "constituent2_n";
+	public static final String 	CONSTITUENT3_M 					= "constituent3_m";
+	public static final String 	CONSTITUENT3_F 					= "constituent3_f";
+	public static final String 	CONSTITUENT3_N 					= "constituent3_n";
 }
\ No newline at end of file
diff --git a/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/Attribute.java b/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/Attribute.java
index be1291863829348181b92618044b412f928a1501..fa49468042b01ad5b2f327a1e3ef3a6b2c6ff9a8 100644
--- a/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/Attribute.java
+++ b/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/Attribute.java
@@ -30,6 +30,7 @@ import java.util.MissingResourceException;
 import java.util.Random;
 
 import cz.nic.tablexia.game.AbstractTablexiaGame;
+import cz.nic.tablexia.game.games.robbery.assets.RobberyAssets;
 import cz.nic.tablexia.game.games.robbery.creature.CreatureDescriptor;
 import cz.nic.tablexia.game.games.robbery.creature.CreatureRoot.AttributeGender;
 import cz.nic.tablexia.game.games.robbery.creature.attribute.clothing.ClothingAttribute;
@@ -48,22 +49,59 @@ public abstract class Attribute {
 
 	@Target(ElementType.TYPE)
 	@Retention(RetentionPolicy.RUNTIME)
-	public static @interface CreatureGenericType {
+	public @interface CreatureGenericType {
 	 
-	    public boolean isGeneric() default false;	
+	    boolean isGeneric() default false;
 	 
 	}
 	
 	@Target(ElementType.TYPE)
 	@Retention(RetentionPolicy.RUNTIME)
-	public static @interface CreatureSuperGenericType {
+	public @interface CreatureSuperGenericType {
 	 
-	    public boolean isGeneric() default false;	
+	    boolean isGeneric() default false;
 	 
 	}
 
     private static final String STRING_RESOURCE_PREFIX = "game_robbery_attribute_";
 
+    /**
+     * Attributes constituents
+     *
+     * @author Matyáš Latner
+     */
+    public enum AttributeConstituent {
+
+        M           (RobberyAssets.CONSTITUENT1_M, RobberyAssets.CONSTITUENT2_M, RobberyAssets.CONSTITUENT3_M),
+        F           (RobberyAssets.CONSTITUENT1_F, RobberyAssets.CONSTITUENT2_F, RobberyAssets.CONSTITUENT3_F),
+        N           (RobberyAssets.CONSTITUENT1_N, RobberyAssets.CONSTITUENT2_N, RobberyAssets.CONSTITUENT3_N),
+        M_FORCED    (M.constituentKey1, null, M.constituentKey3),
+        F_FORCED    (F.constituentKey1, null, F.constituentKey3),
+        N_FORCED    (N.constituentKey1, null, N.constituentKey3);
+
+        private String constituentKey1;
+        private String constituentKey2;
+        private String constituentKey3;
+
+        AttributeConstituent(String constituentKey1, String constituentKey2, String constituentKey3) {
+            this.constituentKey1 = constituentKey1;
+            this.constituentKey2 = constituentKey2;
+            this.constituentKey3 = constituentKey3;
+        }
+
+        public String getConstituent1(AbstractTablexiaScreen abstractTablexiaScreen) {
+            return constituentKey1 != null ? abstractTablexiaScreen.getText(constituentKey1) : "";
+        }
+
+        public String getConstituent2(AbstractTablexiaScreen abstractTablexiaScreen) {
+            return constituentKey2 != null ? abstractTablexiaScreen.getText(constituentKey2) : "";
+        }
+
+        public String getConstituent3(AbstractTablexiaScreen abstractTablexiaScreen) {
+            return constituentKey3 != null ? abstractTablexiaScreen.getText(constituentKey3) : "";
+        }
+    }
+
     /**
      * Attributes color types
      * 
@@ -85,7 +123,7 @@ public abstract class Attribute {
 
         private String descriptionResourceName;
 
-        private AttributeColor(String descriptionResourceId) {
+        AttributeColor(String descriptionResourceId) {
             this.descriptionResourceName = descriptionResourceId;
         }
 
@@ -99,18 +137,20 @@ public abstract class Attribute {
         }
     }
 
-    private AttributeColor 	attributeColor = null;
-	private float 			x;
-	private float 			y;
-    private int             z;
-    private String 			textureName;
+    private AttributeConstituent    attributeConstituent    = null;
+    private AttributeColor 	        attributeColor          = null;
+	private float 			        x;
+	private float 			        y;
+    private int                     z;
+    private String 			        textureName;
 
     /**
      * Attributes constructor
      * 
      * @param attributeColor current attributes property
      */
-    public Attribute(AttributeColor attributeColor, float x, float y, int z, String textureName) {
+    public Attribute(AttributeConstituent attributeConstituent, AttributeColor attributeColor, float x, float y, int z, String textureName) {
+        this.attributeConstituent = attributeConstituent;
         this.attributeColor = attributeColor;
 		this.x = x;
 		this.y = y;
@@ -149,7 +189,16 @@ public abstract class Attribute {
     public static AttributeGender getAttributeGender() {
 		return AttributeGender.ANY;
 	}
-    
+
+    /**
+     * Returns current attribute constituent
+     *
+     * @return current attribute constituent
+     */
+    public AttributeConstituent getAttributeConstituent() {
+        return attributeConstituent;
+    }
+
     /**
      * Returns current attribute color
      * 
diff --git a/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/AttributeDescription.java b/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/AttributeDescription.java
index dcf871b0d67ba16fb6f4c2c0b446b919aca41c4c..0ca388d6075acb66de63fdaf16300f6f247a3213 100644
--- a/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/AttributeDescription.java
+++ b/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/AttributeDescription.java
@@ -14,10 +14,11 @@ import cz.nic.tablexia.game.games.robbery.creature.attribute.Attribute.CreatureS
  */
 public class AttributeDescription {
 
-    private AttributeColor             attributeColor;
-    private AttributeGender            attributeGender;
-    private String                     texturePath;
-    private Class<? extends Attribute> attributeClass;
+    private Attribute.AttributeConstituent  attributeConstituent;
+    private AttributeColor                  attributeColor;
+    private AttributeGender                 attributeGender;
+    private String                          texturePath;
+    private Class<? extends Attribute>      attributeClass;
 
     public AttributeDescription(AttributeColor attributeColor, AttributeGender attributeGender, String texturePath, Class<? extends Attribute> attributeClass) {
         if ((attributeGender != null) && (attributeClass != null)) {
@@ -29,10 +30,10 @@ public class AttributeDescription {
             }
         }
 
-        this.texturePath 		= texturePath;
-        this.attributeClass 	= attributeClass;
-        this.attributeColor 	= attributeColor;
-        this.attributeGender 	= attributeGender;
+        this.texturePath 		    = texturePath;
+        this.attributeClass 	    = attributeClass;
+        this.attributeColor 	    = attributeColor;
+        this.attributeGender 	    = attributeGender;
     }
 
     public AttributeDescription(AttributeColor attributeColor, AttributeGender attributeGender, Class<? extends Attribute> attributeClass) {
@@ -41,6 +42,7 @@ public class AttributeDescription {
 
     public AttributeDescription(Attribute attribute) {
         this(attribute.getAttributeColor(), null, attribute.getClass());
+        attributeConstituent = attribute.getAttributeConstituent();
     }
 
     public String getTexturePath() {
@@ -51,6 +53,10 @@ public class AttributeDescription {
         return attributeClass;
     }
 
+    public Attribute.AttributeConstituent getAttributeConstituent() {
+        return attributeConstituent;
+    }
+
     public AttributeColor getAttributeColor() {
         return attributeColor;
     }
diff --git a/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/ClothingAttribute.java b/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/ClothingAttribute.java
index 9e12d19670cdc702b6e0e3d127a4c991a1b17404..cbb926810b48fa450031f11c11b10ab227ead339 100644
--- a/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/ClothingAttribute.java
+++ b/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/ClothingAttribute.java
@@ -61,8 +61,8 @@ public abstract class ClothingAttribute extends Attribute {
         };
     }
 
-    public ClothingAttribute(AttributeColor color, float x, float y, int z, String textureName) {
-        super(color, x, y, z, textureName);
+    public ClothingAttribute(AttributeConstituent attributeConstituent, AttributeColor color, float x, float y, int z, String textureName) {
+        super(attributeConstituent, color, x, y, z, textureName);
     }
 
 }
diff --git a/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/accessories/AccessoriesAttribute.java b/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/accessories/AccessoriesAttribute.java
index aec8a9165cc0671189cdf78d9b96b39b7562ae71..84c19df29b9fb80f08d0f2523815da84d7ba26ea 100644
--- a/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/accessories/AccessoriesAttribute.java
+++ b/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/accessories/AccessoriesAttribute.java
@@ -64,8 +64,8 @@ public abstract class AccessoriesAttribute extends ClothingAttribute {
         };
     }
 
-    public AccessoriesAttribute(AttributeColor color, String textureName) {
-        super(color, POSITION_X, POSITION_Y, Z_INDEX, textureName);
+    public AccessoriesAttribute(AttributeConstituent attributeConstituent, AttributeColor color, String textureName) {
+        super(attributeConstituent, color, POSITION_X, POSITION_Y, Z_INDEX, textureName);
     }
 
     @Override
diff --git a/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/accessories/FBeadsAttribute.java b/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/accessories/FBeadsAttribute.java
index 88205fdaae0104162dbdf4fa739a42201cbd3ca2..de88e49ffeb8d00063e24ea84b35563e7fdc9d18 100644
--- a/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/accessories/FBeadsAttribute.java
+++ b/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/accessories/FBeadsAttribute.java
@@ -27,7 +27,8 @@ import cz.nic.tablexia.game.games.robbery.creature.attribute.AttributeDescriptio
 
 public class FBeadsAttribute extends AccessoriesAttribute {
 
-    private static final List<AttributeDescription> TEXTURES = new ArrayList<AttributeDescription>() {
+    private static final AttributeConstituent       ATTRIBUTE_CONSTITUENT   = AttributeConstituent.F;
+    private static final List<AttributeDescription> TEXTURES                = new ArrayList<AttributeDescription>() {
 
         private static final long serialVersionUID = -5887845485972821477L;
 
@@ -47,7 +48,7 @@ public class FBeadsAttribute extends AccessoriesAttribute {
 	}
 
     public FBeadsAttribute(AttributeColor color, String textureName) {
-        super(color, textureName);
+        super(ATTRIBUTE_CONSTITUENT, color, textureName);
     }
 
 }
diff --git a/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/accessories/FScarfAttribute.java b/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/accessories/FScarfAttribute.java
index fe4654c793923905efa84eb0a4a965e38701ce26..9d20a454c2d30af7cca5a26ab088405b83afe75a 100644
--- a/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/accessories/FScarfAttribute.java
+++ b/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/accessories/FScarfAttribute.java
@@ -27,7 +27,8 @@ import cz.nic.tablexia.game.games.robbery.creature.attribute.AttributeDescriptio
 
 public class FScarfAttribute extends AccessoriesAttribute {
 
-    private static final List<AttributeDescription> TEXTURES = new ArrayList<AttributeDescription>() {
+    private static final AttributeConstituent       ATTRIBUTE_CONSTITUENT   = AttributeConstituent.N;
+    private static final List<AttributeDescription> TEXTURES                = new ArrayList<AttributeDescription>() {
 
 		private static final long serialVersionUID = 6731353377162453034L;
 
@@ -47,7 +48,7 @@ public class FScarfAttribute extends AccessoriesAttribute {
 	}
 
     public FScarfAttribute(AttributeColor color, String textureName) {
-        super(color, textureName);
+        super(ATTRIBUTE_CONSTITUENT, color, textureName);
     }
 
 }
diff --git a/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/accessories/MScarfAttribute.java b/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/accessories/MScarfAttribute.java
index 275d6d28af377a40d425247e1bad84f64f0aaa96..2b03e708e8bb3b260d23f929a55188767c23b90b 100644
--- a/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/accessories/MScarfAttribute.java
+++ b/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/accessories/MScarfAttribute.java
@@ -27,7 +27,8 @@ import cz.nic.tablexia.game.games.robbery.creature.attribute.AttributeDescriptio
 
 public class MScarfAttribute extends AccessoriesAttribute {
 
-    private static final List<AttributeDescription> TEXTURES = new ArrayList<AttributeDescription>() {
+    private static final AttributeConstituent       ATTRIBUTE_CONSTITUENT   = AttributeConstituent.N;
+    private static final List<AttributeDescription> TEXTURES                = new ArrayList<AttributeDescription>() {
 
 		private static final long serialVersionUID = 6731353377162453034L;
 
@@ -47,7 +48,7 @@ public class MScarfAttribute extends AccessoriesAttribute {
 	}
 
     public MScarfAttribute(AttributeColor color, String textureName) {
-        super(color, textureName);
+        super(ATTRIBUTE_CONSTITUENT, color, textureName);
     }
 
 }
diff --git a/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/accessories/MTieAttribute.java b/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/accessories/MTieAttribute.java
index 33abf4b1dac466658a74796bd22f4f82710ee582..7a23707591029ffe5d61d4e4b388d5f41ad598de 100644
--- a/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/accessories/MTieAttribute.java
+++ b/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/accessories/MTieAttribute.java
@@ -27,7 +27,8 @@ import cz.nic.tablexia.game.games.robbery.creature.attribute.AttributeDescriptio
 
 public class MTieAttribute extends AccessoriesAttribute {
 
-    private static final List<AttributeDescription> TEXTURES = new ArrayList<AttributeDescription>() {
+    private static final AttributeConstituent       ATTRIBUTE_CONSTITUENT   = AttributeConstituent.F;
+    private static final List<AttributeDescription> TEXTURES                = new ArrayList<AttributeDescription>() {
 
 		private static final long serialVersionUID = 6731353377162453034L;
 
@@ -47,7 +48,7 @@ public class MTieAttribute extends AccessoriesAttribute {
 	}
 
     public MTieAttribute(AttributeColor color, String textureName) {
-        super(color, textureName);
+        super(ATTRIBUTE_CONSTITUENT, color, textureName);
     }
 
 }
diff --git a/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/bottom/BottomAttribute.java b/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/bottom/BottomAttribute.java
index 464603d5d012cccc4f0096da7551ab7220ac5f84..bd7461ffe54248706a493013a1d1122f19c9ddfb 100644
--- a/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/bottom/BottomAttribute.java
+++ b/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/bottom/BottomAttribute.java
@@ -27,7 +27,9 @@ import cz.nic.tablexia.game.games.robbery.creature.attribute.Attribute.CreatureG
 import cz.nic.tablexia.game.games.robbery.creature.attribute.clothing.ClothingAttribute;
 
 @CreatureGenericType(isGeneric = true)
-public abstract class BottomAttribute extends ClothingAttribute {
+public class BottomAttribute extends ClothingAttribute {
+
+    private static final AttributeConstituent   ATTRIBUTE_CONSTITUENT = AttributeConstituent.N;
 
     private static final int POSITION_X = 0;
     private static final int POSITION_Y = 0;
@@ -61,11 +63,14 @@ public abstract class BottomAttribute extends ClothingAttribute {
             }
         };
     }
-    
-    
 
-    public BottomAttribute(AttributeColor color, String textureName) {
-        super(color, POSITION_X, POSITION_Y, Z_INDEX, textureName);
+
+    public BottomAttribute() {
+        this(ATTRIBUTE_CONSTITUENT, null, null);
+    }
+
+    public BottomAttribute(AttributeConstituent attributeConstituent, AttributeColor color, String textureName) {
+        super(attributeConstituent, color, POSITION_X, POSITION_Y, Z_INDEX, textureName);
     }
 
     @Override
diff --git a/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/bottom/FPantsAttribute.java b/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/bottom/FPantsAttribute.java
index 0d7e053d8770a3c968be3dcf91621c517ada9e7e..ffc7b8399340c7a1c99e976e63f7a3830fc629ed 100644
--- a/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/bottom/FPantsAttribute.java
+++ b/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/bottom/FPantsAttribute.java
@@ -27,7 +27,8 @@ import cz.nic.tablexia.game.games.robbery.creature.attribute.AttributeDescriptio
 
 public class FPantsAttribute extends BottomAttribute {
 
-    private static final List<AttributeDescription> TEXTURES = new ArrayList<AttributeDescription>() {
+    private static final AttributeConstituent       ATTRIBUTE_CONSTITUENT   = AttributeConstituent.F;
+    private static final List<AttributeDescription> TEXTURES                = new ArrayList<AttributeDescription>() {
 
         private static final long serialVersionUID = -5887845485972821477L;
 
@@ -50,7 +51,7 @@ public class FPantsAttribute extends BottomAttribute {
 	}
 
     public FPantsAttribute(AttributeColor color, String textureName) {
-        super(color, textureName);
+        super(ATTRIBUTE_CONSTITUENT, color, textureName);
     }
 
 }
diff --git a/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/bottom/FSkirtAttribute.java b/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/bottom/FSkirtAttribute.java
index 8d14ad29e3e561c9c95d023148910153ee033062..1bd0371e79b26c1ae11b9048c1880d2751bdd0ab 100644
--- a/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/bottom/FSkirtAttribute.java
+++ b/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/bottom/FSkirtAttribute.java
@@ -27,7 +27,8 @@ import cz.nic.tablexia.game.games.robbery.creature.attribute.AttributeDescriptio
 
 public class FSkirtAttribute extends BottomAttribute {
 
-    private static final List<AttributeDescription> TEXTURES = new ArrayList<AttributeDescription>() {
+    private static final AttributeConstituent       ATTRIBUTE_CONSTITUENT   = AttributeConstituent.M;
+    private static final List<AttributeDescription> TEXTURES                = new ArrayList<AttributeDescription>() {
 
         private static final long serialVersionUID = 1861143602351020835L;
 
@@ -50,7 +51,7 @@ public class FSkirtAttribute extends BottomAttribute {
 	}
 
     public FSkirtAttribute(AttributeColor color, String textureName) {
-        super(color, textureName);
+        super(ATTRIBUTE_CONSTITUENT, color, textureName);
     }
 
 }
diff --git a/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/bottom/MPantsAttribute.java b/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/bottom/MPantsAttribute.java
index 96367dfd28eba6c55b297277db6c50ec40456c2c..d05c7332057119d964edf1688222ce150ca2c49e 100644
--- a/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/bottom/MPantsAttribute.java
+++ b/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/bottom/MPantsAttribute.java
@@ -27,7 +27,8 @@ import cz.nic.tablexia.game.games.robbery.creature.attribute.AttributeDescriptio
 
 public class MPantsAttribute extends BottomAttribute {
 
-    private static final List<AttributeDescription> TEXTURES = new ArrayList<AttributeDescription>() {
+    private static final AttributeConstituent       ATTRIBUTE_CONSTITUENT   = AttributeConstituent.F;
+    private static final List<AttributeDescription> TEXTURES                = new ArrayList<AttributeDescription>() {
 
         private static final long serialVersionUID = -5887845485972821477L;
 
@@ -50,7 +51,7 @@ public class MPantsAttribute extends BottomAttribute {
 	}
 
     public MPantsAttribute(AttributeColor color, String textureName) {
-        super(color, textureName);
+        super(ATTRIBUTE_CONSTITUENT, color, textureName);
     }
 
 }
diff --git a/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/bottom/MShortsAttribute.java b/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/bottom/MShortsAttribute.java
index dc55a1bee43780ca5d092a97b248eca05afe1cf6..630c5337617cc07ea5315b27b740bc7ac84703e6 100644
--- a/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/bottom/MShortsAttribute.java
+++ b/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/bottom/MShortsAttribute.java
@@ -27,7 +27,8 @@ import cz.nic.tablexia.game.games.robbery.creature.attribute.AttributeDescriptio
 
 public class MShortsAttribute extends BottomAttribute {
 
-    private static final List<AttributeDescription> TEXTURES = new ArrayList<AttributeDescription>() {
+    private static final AttributeConstituent       ATTRIBUTE_CONSTITUENT   = AttributeConstituent.F;
+    private static final List<AttributeDescription> TEXTURES                = new ArrayList<AttributeDescription>() {
 
         private static final long serialVersionUID = -5887845485972821477L;
 
@@ -35,9 +36,9 @@ public class MShortsAttribute extends BottomAttribute {
             add(new AttributeDescription(AttributeColor.BLUE, 	AttributeGender.MALE, RobberyAssets.ATTRIBUTE_M_SHORT_BLUE, 	MShortsAttribute.class));
             add(new AttributeDescription(AttributeColor.GREEN, 	AttributeGender.MALE, RobberyAssets.ATTRIBUTE_M_SHORT_GREEN, 	MShortsAttribute.class));
             add(new AttributeDescription(AttributeColor.GREY, 	AttributeGender.MALE, RobberyAssets.ATTRIBUTE_M_SHORT_GREY, 	MShortsAttribute.class));
-            add(new AttributeDescription(AttributeColor.PURPLE, AttributeGender.MALE, RobberyAssets.ATTRIBUTE_M_SHORT_PURPLE, MShortsAttribute.class));
-            add(new AttributeDescription(AttributeColor.RED, 	AttributeGender.MALE, RobberyAssets.ATTRIBUTE_M_SHORT_RED, 	MShortsAttribute.class));
-            add(new AttributeDescription(AttributeColor.YELLOW, AttributeGender.MALE, RobberyAssets.ATTRIBUTE_M_SHORT_YELLOW, MShortsAttribute.class));
+            add(new AttributeDescription(AttributeColor.PURPLE, AttributeGender.MALE, RobberyAssets.ATTRIBUTE_M_SHORT_PURPLE,   MShortsAttribute.class));
+            add(new AttributeDescription(AttributeColor.RED, 	AttributeGender.MALE, RobberyAssets.ATTRIBUTE_M_SHORT_RED, 	    MShortsAttribute.class));
+            add(new AttributeDescription(AttributeColor.YELLOW, AttributeGender.MALE, RobberyAssets.ATTRIBUTE_M_SHORT_YELLOW,   MShortsAttribute.class));
         }
     };
 
@@ -50,7 +51,7 @@ public class MShortsAttribute extends BottomAttribute {
 	}
 
     public MShortsAttribute(AttributeColor color, String textureName) {
-        super(color, textureName);
+        super(ATTRIBUTE_CONSTITUENT, color, textureName);
     }
 
 }
diff --git a/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/headgear/FHatAttribute.java b/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/headgear/FHatAttribute.java
index c5b5b576ced23e5bf34b79b1f3e13762b197f859..f9f05972e1216d77695f159304c66d03252b8864 100644
--- a/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/headgear/FHatAttribute.java
+++ b/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/headgear/FHatAttribute.java
@@ -27,7 +27,8 @@ import cz.nic.tablexia.game.games.robbery.creature.attribute.AttributeDescriptio
 
 public class FHatAttribute extends HeadgearAttribute {
 
-    private static final List<AttributeDescription> TEXTURES = new ArrayList<AttributeDescription>() {
+    private static final AttributeConstituent       ATTRIBUTE_CONSTITUENT   = AttributeConstituent.M;
+    private static final List<AttributeDescription> TEXTURES                = new ArrayList<AttributeDescription>() {
 
         private static final long serialVersionUID = 7580714146149497738L;
 
@@ -51,7 +52,7 @@ public class FHatAttribute extends HeadgearAttribute {
     
 
     public FHatAttribute(AttributeColor color, String textureName) {
-        super(color, textureName);
+        super(ATTRIBUTE_CONSTITUENT, color, textureName);
     }
 
 }
diff --git a/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/headgear/HeadgearAttribute.java b/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/headgear/HeadgearAttribute.java
index 32b7c74c31be992056da6796a7edc5d90f58d0b1..2dda00db49b4d88c2ed0e479def9e44d178d432c 100644
--- a/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/headgear/HeadgearAttribute.java
+++ b/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/headgear/HeadgearAttribute.java
@@ -61,8 +61,8 @@ public abstract class HeadgearAttribute extends ClothingAttribute {
         };
     }
 
-    public HeadgearAttribute(AttributeColor color, String textureName) {
-        super(color, POSITION_X, POSITION_Y, Z_INDEX, textureName);
+    public HeadgearAttribute(AttributeConstituent attributeConstituent, AttributeColor color, String textureName) {
+        super(attributeConstituent, color, POSITION_X, POSITION_Y, Z_INDEX, textureName);
     }
 
     @Override
diff --git a/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/headgear/MHatAttribute.java b/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/headgear/MHatAttribute.java
index 167382cca65c73c19075c2d8edff2d0b9d2e553f..71e471316676ea5a9966ac7b6aea46e3f0448d4e 100644
--- a/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/headgear/MHatAttribute.java
+++ b/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/headgear/MHatAttribute.java
@@ -27,7 +27,8 @@ import cz.nic.tablexia.game.games.robbery.creature.attribute.AttributeDescriptio
 
 public class MHatAttribute extends HeadgearAttribute {
 
-    private static final List<AttributeDescription> TEXTURES = new ArrayList<AttributeDescription>() {
+    private static final AttributeConstituent       ATTRIBUTE_CONSTITUENT   = AttributeConstituent.M;
+    private static final List<AttributeDescription> TEXTURES                = new ArrayList<AttributeDescription>() {
 
         private static final long serialVersionUID = 7580714146149497738L;
 
@@ -35,9 +36,9 @@ public class MHatAttribute extends HeadgearAttribute {
             add(new AttributeDescription(AttributeColor.BROWN, 	AttributeGender.MALE, RobberyAssets.ATTRIBUTE_M_HAT_BROWN, 	MHatAttribute.class));
             add(new AttributeDescription(AttributeColor.GREEN, 	AttributeGender.MALE, RobberyAssets.ATTRIBUTE_M_HAT_GREEN, 	MHatAttribute.class));
             add(new AttributeDescription(AttributeColor.GREY, 	AttributeGender.MALE, RobberyAssets.ATTRIBUTE_M_HAT_GREY, 	MHatAttribute.class));
-            add(new AttributeDescription(AttributeColor.PURPLE, AttributeGender.MALE, RobberyAssets.ATTRIBUTE_M_HAT_PURPLE, 	MHatAttribute.class));
-            add(new AttributeDescription(AttributeColor.RED, 	AttributeGender.MALE, RobberyAssets.ATTRIBUTE_M_HAT_RED, 		MHatAttribute.class));
-            add(new AttributeDescription(AttributeColor.YELLOW, AttributeGender.MALE, RobberyAssets.ATTRIBUTE_M_HAT_YELLOW, 	MHatAttribute.class));
+            add(new AttributeDescription(AttributeColor.PURPLE, AttributeGender.MALE, RobberyAssets.ATTRIBUTE_M_HAT_PURPLE, MHatAttribute.class));
+            add(new AttributeDescription(AttributeColor.RED, 	AttributeGender.MALE, RobberyAssets.ATTRIBUTE_M_HAT_RED, 	MHatAttribute.class));
+            add(new AttributeDescription(AttributeColor.YELLOW, AttributeGender.MALE, RobberyAssets.ATTRIBUTE_M_HAT_YELLOW, MHatAttribute.class));
         }
     };
 
@@ -51,7 +52,7 @@ public class MHatAttribute extends HeadgearAttribute {
 
 
     public MHatAttribute(AttributeColor color, String textureName) {
-        super(color, textureName);
+        super(ATTRIBUTE_CONSTITUENT, color, textureName);
     }
 
 }
diff --git a/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/top/FCoatAttribute.java b/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/top/FCoatAttribute.java
index 7edae880ab923d24d6bf877d18dd9c75c31f634a..edd9066426e839e4538715daef7badcc55720bfa 100644
--- a/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/top/FCoatAttribute.java
+++ b/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/top/FCoatAttribute.java
@@ -27,7 +27,8 @@ import cz.nic.tablexia.game.games.robbery.creature.attribute.AttributeDescriptio
 
 public class FCoatAttribute extends TopAttribute {
 
-    private static final List<AttributeDescription> TEXTURES = new ArrayList<AttributeDescription>() {
+    private static final AttributeConstituent       ATTRIBUTE_CONSTITUENT   = AttributeConstituent.M;
+    private static final List<AttributeDescription> TEXTURES                = new ArrayList<AttributeDescription>() {
 
 		private static final long serialVersionUID = 2709780438468185755L;
 
@@ -48,7 +49,7 @@ public class FCoatAttribute extends TopAttribute {
     
 
     public FCoatAttribute(AttributeColor color, String textureName) {
-        super(color, textureName);
+        super(ATTRIBUTE_CONSTITUENT, color, textureName);
     }
 
 }
diff --git a/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/top/FShirtAttribute.java b/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/top/FShirtAttribute.java
index 59ce1124b90f27ec3dbfb118155e7fb255dd751e..23bf9f9c5092b3d1bcc1056c6bb6dc2f5d3af828 100644
--- a/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/top/FShirtAttribute.java
+++ b/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/top/FShirtAttribute.java
@@ -27,7 +27,8 @@ import cz.nic.tablexia.game.games.robbery.creature.attribute.AttributeDescriptio
 
 public class FShirtAttribute extends TopAttribute {
 
-    private static final List<AttributeDescription> TEXTURES = new ArrayList<AttributeDescription>() {
+    private static final AttributeConstituent       ATTRIBUTE_CONSTITUENT   = AttributeConstituent.N;
+    private static final List<AttributeDescription> TEXTURES                = new ArrayList<AttributeDescription>() {
 
         private static final long serialVersionUID = 1614881281381641153L;
 
@@ -50,7 +51,7 @@ public class FShirtAttribute extends TopAttribute {
 	}
 
     public FShirtAttribute(AttributeColor color, String textureName) {
-        super(color, textureName);
+        super(ATTRIBUTE_CONSTITUENT, color, textureName);
     }
 
 }
diff --git a/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/top/FSweaterAttribute.java b/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/top/FSweaterAttribute.java
index 646eebb10c0901040d0b5c53806a0d1b97604d5a..5531176386379fbcd822732535458f13e9fd153c 100644
--- a/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/top/FSweaterAttribute.java
+++ b/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/top/FSweaterAttribute.java
@@ -27,7 +27,8 @@ import cz.nic.tablexia.game.games.robbery.creature.attribute.AttributeDescriptio
 
 public class FSweaterAttribute extends TopAttribute {
 
-    private static final List<AttributeDescription> TEXTURES = new ArrayList<AttributeDescription>() {
+    private static final AttributeConstituent       ATTRIBUTE_CONSTITUENT   = AttributeConstituent.M;
+    private static final List<AttributeDescription> TEXTURES                = new ArrayList<AttributeDescription>() {
 
         private static final long serialVersionUID = 1614881281381641153L;
 
@@ -35,9 +36,9 @@ public class FSweaterAttribute extends TopAttribute {
             add(new AttributeDescription(AttributeColor.BROWN, 	AttributeGender.FEMALE, RobberyAssets.ATTRIBUTE_F_SWEATER_BROWN, 	FSweaterAttribute.class));
             add(new AttributeDescription(AttributeColor.GREEN, 	AttributeGender.FEMALE, RobberyAssets.ATTRIBUTE_F_SWEATER_GREEN, 	FSweaterAttribute.class));
             add(new AttributeDescription(AttributeColor.GREY, 	AttributeGender.FEMALE, RobberyAssets.ATTRIBUTE_F_SWEATER_GREY, 	FSweaterAttribute.class));
-            add(new AttributeDescription(AttributeColor.PURPLE, AttributeGender.FEMALE, RobberyAssets.ATTRIBUTE_F_SWEATER_PURPLE, FSweaterAttribute.class));
-            add(new AttributeDescription(AttributeColor.RED, 	AttributeGender.FEMALE, RobberyAssets.ATTRIBUTE_F_SWEATER_RED, 	FSweaterAttribute.class));
-            add(new AttributeDescription(AttributeColor.YELLOW, AttributeGender.FEMALE, RobberyAssets.ATTRIBUTE_F_SWEATER_YELLOW, FSweaterAttribute.class));
+            add(new AttributeDescription(AttributeColor.PURPLE, AttributeGender.FEMALE, RobberyAssets.ATTRIBUTE_F_SWEATER_PURPLE,   FSweaterAttribute.class));
+            add(new AttributeDescription(AttributeColor.RED, 	AttributeGender.FEMALE, RobberyAssets.ATTRIBUTE_F_SWEATER_RED, 	    FSweaterAttribute.class));
+            add(new AttributeDescription(AttributeColor.YELLOW, AttributeGender.FEMALE, RobberyAssets.ATTRIBUTE_F_SWEATER_YELLOW,   FSweaterAttribute.class));
         }
     };
 
@@ -51,7 +52,7 @@ public class FSweaterAttribute extends TopAttribute {
     
 
     public FSweaterAttribute(AttributeColor color, String textureName) {
-        super(color, textureName);
+        super(ATTRIBUTE_CONSTITUENT, color, textureName);
     }
 
 }
diff --git a/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/top/FVestAttribute.java b/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/top/FVestAttribute.java
index 98b25918cd38d8a7aa97020fea8929bdcde10168..b2597fb6390647bfcf1cd91da2fe90f7e385b10f 100644
--- a/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/top/FVestAttribute.java
+++ b/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/top/FVestAttribute.java
@@ -27,7 +27,8 @@ import cz.nic.tablexia.game.games.robbery.creature.attribute.AttributeDescriptio
 
 public class FVestAttribute extends TopAttribute {
 
-    private static final List<AttributeDescription> TEXTURES = new ArrayList<AttributeDescription>() {
+    private static final AttributeConstituent       ATTRIBUTE_CONSTITUENT   = AttributeConstituent.N;
+    private static final List<AttributeDescription> TEXTURES                = new ArrayList<AttributeDescription>() {
 
         private static final long serialVersionUID = 1614881281381641153L;
 
@@ -51,7 +52,7 @@ public class FVestAttribute extends TopAttribute {
     
 
     public FVestAttribute(AttributeColor color, String textureName) {
-        super(color, textureName);
+        super(ATTRIBUTE_CONSTITUENT, color, textureName);
     }
 
 }
diff --git a/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/top/MCoatAttribute.java b/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/top/MCoatAttribute.java
index 25fcfdeecd5cbd5625c1ddfdcc14310bd83b8d7c..47e6b737cf2df32613bd71d73342492d1dc6433c 100644
--- a/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/top/MCoatAttribute.java
+++ b/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/top/MCoatAttribute.java
@@ -27,13 +27,14 @@ import cz.nic.tablexia.game.games.robbery.creature.attribute.AttributeDescriptio
 
 public class MCoatAttribute extends TopAttribute {
 
-    private static final List<AttributeDescription> TEXTURES = new ArrayList<AttributeDescription>() {
+    private static final AttributeConstituent       ATTRIBUTE_CONSTITUENT   = AttributeConstituent.M;
+    private static final List<AttributeDescription> TEXTURES                = new ArrayList<AttributeDescription>() {
 
 		private static final long serialVersionUID = 2709780438468185755L;
 
 		{
 			add(new AttributeDescription(AttributeColor.BLUE, 	AttributeGender.MALE, RobberyAssets.ATTRIBUTE_M_COAT_BLUE, 	MCoatAttribute.class));
-            add(new AttributeDescription(AttributeColor.BROWN, 	AttributeGender.MALE, RobberyAssets.ATTRIBUTE_M_COAT_BROWN, 	MCoatAttribute.class));
+            add(new AttributeDescription(AttributeColor.BROWN, 	AttributeGender.MALE, RobberyAssets.ATTRIBUTE_M_COAT_BROWN, MCoatAttribute.class));
             add(new AttributeDescription(AttributeColor.GREY, 	AttributeGender.MALE, RobberyAssets.ATTRIBUTE_M_COAT_GREY, 	MCoatAttribute.class));
         }
     };
@@ -48,7 +49,7 @@ public class MCoatAttribute extends TopAttribute {
     
 
     public MCoatAttribute(AttributeColor color, String textureName) {
-        super(color, textureName);
+        super(ATTRIBUTE_CONSTITUENT, color, textureName);
     }
 
 }
diff --git a/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/top/MShirtAttribute.java b/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/top/MShirtAttribute.java
index 35cf3a791f3aadd82b81713b9060c5f2bd1d4bef..55aed746a3df274710bae9659b69e1ecbc94981f 100644
--- a/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/top/MShirtAttribute.java
+++ b/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/top/MShirtAttribute.java
@@ -27,7 +27,8 @@ import cz.nic.tablexia.game.games.robbery.creature.attribute.AttributeDescriptio
 
 public class MShirtAttribute extends TopAttribute {
 
-    private static final List<AttributeDescription> TEXTURES = new ArrayList<AttributeDescription>() {
+    private static final AttributeConstituent       ATTRIBUTE_CONSTITUENT   = AttributeConstituent.N;
+    private static final List<AttributeDescription> TEXTURES                = new ArrayList<AttributeDescription>() {
 
         private static final long serialVersionUID = 1614881281381641153L;
 
@@ -36,8 +37,8 @@ public class MShirtAttribute extends TopAttribute {
             add(new AttributeDescription(AttributeColor.BROWN, 	AttributeGender.MALE, RobberyAssets.ATTRIBUTE_M_SHIRT_BROWN, 	MShirtAttribute.class));
             add(new AttributeDescription(AttributeColor.GREEN, 	AttributeGender.MALE, RobberyAssets.ATTRIBUTE_M_SHIRT_GREEN, 	MShirtAttribute.class));
             add(new AttributeDescription(AttributeColor.GREY, 	AttributeGender.MALE, RobberyAssets.ATTRIBUTE_M_SHIRT_GREY, 	MShirtAttribute.class));
-            add(new AttributeDescription(AttributeColor.RED, 	AttributeGender.MALE, RobberyAssets.ATTRIBUTE_M_SHIRT_RED, 	MShirtAttribute.class));
-            add(new AttributeDescription(AttributeColor.YELLOW, AttributeGender.MALE, RobberyAssets.ATTRIBUTE_M_SHIRT_YELLOW, MShirtAttribute.class));
+            add(new AttributeDescription(AttributeColor.RED, 	AttributeGender.MALE, RobberyAssets.ATTRIBUTE_M_SHIRT_RED, 	    MShirtAttribute.class));
+            add(new AttributeDescription(AttributeColor.YELLOW, AttributeGender.MALE, RobberyAssets.ATTRIBUTE_M_SHIRT_YELLOW,   MShirtAttribute.class));
         }
     };
 
@@ -51,7 +52,7 @@ public class MShirtAttribute extends TopAttribute {
     
 
     public MShirtAttribute(AttributeColor color, String textureName) {
-        super(color, textureName);
+        super(ATTRIBUTE_CONSTITUENT, color, textureName);
     }
 
 }
diff --git a/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/top/MSweaterAttribute.java b/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/top/MSweaterAttribute.java
index 78cfa99217d2935f6a0aa7490b7620519e7e5a99..de95e3bb6dcdd63ae9101d9291b775081e89f32b 100644
--- a/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/top/MSweaterAttribute.java
+++ b/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/top/MSweaterAttribute.java
@@ -27,7 +27,8 @@ import cz.nic.tablexia.game.games.robbery.creature.attribute.AttributeDescriptio
 
 public class MSweaterAttribute extends TopAttribute {
 
-    private static final List<AttributeDescription> TEXTURES = new ArrayList<AttributeDescription>() {
+    private static final AttributeConstituent       ATTRIBUTE_CONSTITUENT   = AttributeConstituent.M;
+    private static final List<AttributeDescription> TEXTURES                = new ArrayList<AttributeDescription>() {
 
         private static final long serialVersionUID = 1614881281381641153L;
 
@@ -50,7 +51,7 @@ public class MSweaterAttribute extends TopAttribute {
 	}
 
     public MSweaterAttribute(AttributeColor color, String textureName) {
-        super(color, textureName);
+        super(ATTRIBUTE_CONSTITUENT, color, textureName);
     }
 
 }
diff --git a/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/top/MVestAttribute.java b/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/top/MVestAttribute.java
index 8372d068a5aed17dcb6a1fa8e6ccd5af2508974e..10998c2ae7b1793ca4257a73c7ab4ef5eb6ee605 100644
--- a/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/top/MVestAttribute.java
+++ b/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/top/MVestAttribute.java
@@ -27,7 +27,8 @@ import cz.nic.tablexia.game.games.robbery.creature.attribute.AttributeDescriptio
 
 public class MVestAttribute extends TopAttribute {
 
-    private static final List<AttributeDescription> TEXTURES = new ArrayList<AttributeDescription>() {
+    private static final AttributeConstituent       ATTRIBUTE_CONSTITUENT   = AttributeConstituent.N;
+    private static final List<AttributeDescription> TEXTURES                = new ArrayList<AttributeDescription>() {
 
         private static final long serialVersionUID = 1614881281381641153L;
 
@@ -51,7 +52,7 @@ public class MVestAttribute extends TopAttribute {
     
 
     public MVestAttribute(AttributeColor color, String textureName) {
-        super(color, textureName);
+        super(ATTRIBUTE_CONSTITUENT, color, textureName);
     }
 
 }
diff --git a/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/top/TopAttribute.java b/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/top/TopAttribute.java
index 99efdcb6b7b76b84cd7c02deda03065ed9bb25a7..0e355d79fc077d57551c832c88f23f94fb72ba84 100644
--- a/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/top/TopAttribute.java
+++ b/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/clothing/top/TopAttribute.java
@@ -27,7 +27,9 @@ import cz.nic.tablexia.game.games.robbery.creature.attribute.Attribute.CreatureG
 import cz.nic.tablexia.game.games.robbery.creature.attribute.clothing.ClothingAttribute;
 
 @CreatureGenericType(isGeneric = true)
-public abstract class TopAttribute extends ClothingAttribute {
+public class TopAttribute extends ClothingAttribute {
+
+    private static final AttributeConstituent   ATTRIBUTE_CONSTITUENT = AttributeConstituent.N;
 
     private static final int POSITION_X = 0;
     private static final int POSITION_Y = 0;
@@ -70,8 +72,12 @@ public abstract class TopAttribute extends ClothingAttribute {
         };
     }
 
-    public TopAttribute(AttributeColor color, String textureName) {
-        super(color, POSITION_X, POSITION_Y, Z_INDEX, textureName);
+    public TopAttribute() {
+        this(ATTRIBUTE_CONSTITUENT, null, null);
+    }
+
+    public TopAttribute(AttributeConstituent attributeConstituent, AttributeColor color, String textureName) {
+        super(attributeConstituent, color, POSITION_X, POSITION_Y, Z_INDEX, textureName);
     }
 
     @Override
diff --git a/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/glasses/GlassesAttribute.java b/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/glasses/GlassesAttribute.java
index e11f747586dec9902f01964fba2db605b4956c96..ba2119a1c4711614d1053b200c8132547091f520 100644
--- a/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/glasses/GlassesAttribute.java
+++ b/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/glasses/GlassesAttribute.java
@@ -28,6 +28,8 @@ import cz.nic.tablexia.game.games.robbery.creature.attribute.Attribute.CreatureG
 @CreatureGenericType(isGeneric = true)
 public abstract class GlassesAttribute extends Attribute {
 
+    private static final AttributeConstituent ATTRIBUTE_CONSTITUENT = AttributeConstituent.F_FORCED;
+
     private static final int POSITION_X = 0;
     private static final int POSITION_Y = 0;
     private static final int Z_INDEX    = 6;
@@ -60,7 +62,7 @@ public abstract class GlassesAttribute extends Attribute {
     }
 
     public GlassesAttribute(AttributeColor color, String textureName) {
-        super(color, POSITION_X, POSITION_Y, Z_INDEX, textureName);
+        super(ATTRIBUTE_CONSTITUENT, color, POSITION_X, POSITION_Y, Z_INDEX, textureName);
     }
 
     @Override
diff --git a/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/hair/HairAttribute.java b/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/hair/HairAttribute.java
index 3583bf410339f389acf0333767f023068565bc50..f3b268dfbb92ae71bc79644be6404326595e0f14 100644
--- a/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/hair/HairAttribute.java
+++ b/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/hair/HairAttribute.java
@@ -28,6 +28,8 @@ import cz.nic.tablexia.game.games.robbery.creature.attribute.Attribute.CreatureG
 @CreatureGenericType(isGeneric = true)
 public abstract class HairAttribute extends Attribute {
 
+    private static final AttributeConstituent ATTRIBUTE_CONSTITUENT = AttributeConstituent.F;
+
     private static final int POSITION_X = 0;
     private static final int POSITION_Y = 0;
     private static final int Z_INDEX    = 4;
@@ -60,7 +62,7 @@ public abstract class HairAttribute extends Attribute {
     }
 
     public HairAttribute(AttributeColor color, String textureName) {
-        super(color, POSITION_X, POSITION_Y, Z_INDEX, textureName);
+        super(ATTRIBUTE_CONSTITUENT, color, POSITION_X, POSITION_Y, Z_INDEX, textureName);
     }
 
     @Override
diff --git a/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/head/HeadAttribute.java b/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/head/HeadAttribute.java
index 052bfd7f96b9bf1461c354c8975d900ef51833ac..e903d123017b572edfa3c167f62989deefd4c609 100644
--- a/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/head/HeadAttribute.java
+++ b/core/src/cz/nic/tablexia/game/games/robbery/creature/attribute/head/HeadAttribute.java
@@ -28,6 +28,8 @@ import cz.nic.tablexia.game.games.robbery.creature.attribute.Attribute.CreatureG
 @CreatureGenericType(isGeneric = true)
 public abstract class HeadAttribute extends Attribute {
 
+    private static final AttributeConstituent   ATTRIBUTE_CONSTITUENT = AttributeConstituent.M;
+
     private static final int                    POSITION_X = 0;
     private static final int                    POSITION_Y = 0;
     private static final int                    Z_INDEX    = 3;
@@ -62,7 +64,7 @@ public abstract class HeadAttribute extends Attribute {
     }
 
     public HeadAttribute(AttributeColor color, String textureName) {
-        super(color, POSITION_X, POSITION_Y, Z_INDEX, textureName);
+        super(ATTRIBUTE_CONSTITUENT, color, POSITION_X, POSITION_Y, Z_INDEX, textureName);
     }
 
     @Override
diff --git a/core/src/cz/nic/tablexia/game/games/robbery/rules/GameRule.java b/core/src/cz/nic/tablexia/game/games/robbery/rules/GameRule.java
index c4670db74329c895a362f8fd489ced9e2a57c084..33f137361f93265f8f34713db9e0268237a6c4e9 100644
--- a/core/src/cz/nic/tablexia/game/games/robbery/rules/GameRule.java
+++ b/core/src/cz/nic/tablexia/game/games/robbery/rules/GameRule.java
@@ -44,9 +44,11 @@ import cz.nic.tablexia.util.Log;
  */
 public abstract class GameRule {
 
-    protected static final int                GENERATOR_TRY_COUNT               = 10000;
-    protected static final String             RULE_LOG_PREFIX                   = "[RULE] ";
-    protected static final CreatureDescriptor BAN_ATTRIBUTES_SET_FOR_GENERATING = new CreatureDescriptor() {
+    protected static final int                  GENERATOR_TRY_COUNT                 = 10000;
+    private static final String                 SUFFIX_STRING                       = "<SFIX>";
+    private static final String                 NEXT_BIG_CHAR_PATTERN               = "<BIG>";
+    protected static final String               RULE_LOG_PREFIX                     = "[RULE] ";
+    protected static final CreatureDescriptor   BAN_ATTRIBUTES_SET_FOR_GENERATING   = new CreatureDescriptor() {
         {
 
             addDescription(new AttributeDescription(null, null, HeadAttribute.class));
@@ -262,7 +264,23 @@ public abstract class GameRule {
     }
 
     public String getRuleMessageText(AbstractTablexiaScreen abstractTablexiaScreen) {
-        return abstractTablexiaScreen.getFormattedText(getGameRuleDefinition().getGameRuleStringName(), (Object[]) getRuleMessageParameters(abstractTablexiaScreen));
+        String formattedRule = abstractTablexiaScreen.getFormattedText(getGameRuleDefinition().getGameRuleStringName(), (Object[]) getRuleMessageParameters(abstractTablexiaScreen));
+
+        // suffixes processing
+        for (String ruleMessageConstituentParameter: prepareRuleMessageConstituentParameters(abstractTablexiaScreen)) {
+            formattedRule = formattedRule.replaceFirst(SUFFIX_STRING, ruleMessageConstituentParameter);
+        }
+
+        // big chars processing
+        int index = -1;
+        while ((index = formattedRule.indexOf(NEXT_BIG_CHAR_PATTERN, index + 1)) != -1) {
+            if (index + NEXT_BIG_CHAR_PATTERN.length() < formattedRule.length()) {
+                String charToReplace = String.valueOf(formattedRule.charAt(index + NEXT_BIG_CHAR_PATTERN.length()));
+                formattedRule = formattedRule.replaceFirst(NEXT_BIG_CHAR_PATTERN + charToReplace, charToReplace.toUpperCase());
+            }
+        }
+
+        return formattedRule;
     }
 
     /**
@@ -352,6 +370,10 @@ public abstract class GameRule {
         return specialCreature != null ? !(specialCreature.isThief() && isThief) && (specialCreature.checkDescriptionCompactibility(creatureDescriptor)) : true;
     }
 
+    public String[] prepareRuleMessageConstituentParameters(AbstractTablexiaScreen abstractTablexiaScreen) {
+        return new String[]{};
+    }
+
     /**
      * Returns array of strings with parameters to the rule message. Specific rule class implementation
      *
diff --git a/core/src/cz/nic/tablexia/game/games/robbery/rules/GameRuleUtility.java b/core/src/cz/nic/tablexia/game/games/robbery/rules/GameRuleUtility.java
index c3c4f95d9463f6806545f094a6d4c36c1146bc63..dd6a5e7bd259695c076a301187399c3239b76f1b 100644
--- a/core/src/cz/nic/tablexia/game/games/robbery/rules/GameRuleUtility.java
+++ b/core/src/cz/nic/tablexia/game/games/robbery/rules/GameRuleUtility.java
@@ -51,7 +51,7 @@ public abstract class GameRuleUtility extends GameRule {
 		globalCreatureDescriptors = new HashMap<Integer, CreatureDescriptor>();
     }
 	
-	protected void prepareCreatureDescriptionsB() {};
+	protected void prepareCreatureDescriptionsB() {}
 	
 	/**
 	 * Add global creature descriptor with offset from thief.
diff --git a/core/src/cz/nic/tablexia/game/games/robbery/rules/GameRulesDefinition.java b/core/src/cz/nic/tablexia/game/games/robbery/rules/GameRulesDefinition.java
index 56062cfef57932336dfcc3d0c1fd986d2b014792..5d41307cb48d1e5b9197b909e94a48015ca1a15b 100644
--- a/core/src/cz/nic/tablexia/game/games/robbery/rules/GameRulesDefinition.java
+++ b/core/src/cz/nic/tablexia/game/games/robbery/rules/GameRulesDefinition.java
@@ -139,7 +139,7 @@ public enum GameRulesDefinition {
     private String                    gameRuleStringName;
     private GameDifficulty            difficulty;
 
-    private GameRulesDefinition(GameDifficulty difficulty, Class<? extends GameRule> gameRuleClass, String gameRuleStringName) {
+    GameRulesDefinition(GameDifficulty difficulty, Class<? extends GameRule> gameRuleClass, String gameRuleStringName) {
         this.difficulty = difficulty;
         this.gameRuleClass = gameRuleClass;
         this.gameRuleStringName = gameRuleStringName;
diff --git a/core/src/cz/nic/tablexia/game/games/robbery/rules/easy/BC_1_BCRule.java b/core/src/cz/nic/tablexia/game/games/robbery/rules/easy/BC_1_BCRule.java
index 7ed9cdaf15b908528bab04e743e73153f196bbf3..a8167a544c3deec268795974eda608c3a5ae38c4 100644
--- a/core/src/cz/nic/tablexia/game/games/robbery/rules/easy/BC_1_BCRule.java
+++ b/core/src/cz/nic/tablexia/game/games/robbery/rules/easy/BC_1_BCRule.java
@@ -41,6 +41,7 @@ public class BC_1_BCRule extends GameRuleUtility {
 	private   static final int 	 	GROUP_SIZE	= 3;
 	protected static final Integer 	T0_OFFSET 	= CreatureDescriptor.THIEF_OFFSET;
 	protected 			   Integer 	T1_OFFSET 	= Integer.valueOf(2);
+
 	private AttributeDescription 	commonAttribute;
 
     public BC_1_BCRule(Random random, int numberOfCreatures, int numberOfThieves) {
@@ -55,8 +56,15 @@ public class BC_1_BCRule extends GameRuleUtility {
     public GameRulesDefinition getGameRuleDefinition() {
     	return GameRulesDefinition.BC_1_BC;
     }
-    
-    @Override
+
+	@Override
+	public String[] prepareRuleMessageConstituentParameters(AbstractTablexiaScreen abstractTablexiaScreen) {
+		return new String[] {
+				commonAttribute.getAttributeConstituent().getConstituent3(abstractTablexiaScreen)
+		};
+	}
+
+	@Override
     public String[] prepareRuleMessageParameters(AbstractTablexiaScreen abstractTablexiaScreen) {
         return new String[] {
                 getAttributeName(abstractTablexiaScreen, getGlobalCreatureDescriptor(T0_OFFSET).getDescriptions().get(0), true)
diff --git a/core/src/cz/nic/tablexia/game/games/robbery/rules/easy/Bb_0_BbRule.java b/core/src/cz/nic/tablexia/game/games/robbery/rules/easy/Bb_0_BbRule.java
index 26db0df5dbf15bd27bcb715abe1debb6a9f3bb6f..d466469086e98cfdd271802448ed4c4a71b980dd 100644
--- a/core/src/cz/nic/tablexia/game/games/robbery/rules/easy/Bb_0_BbRule.java
+++ b/core/src/cz/nic/tablexia/game/games/robbery/rules/easy/Bb_0_BbRule.java
@@ -20,7 +20,6 @@ package cz.nic.tablexia.game.games.robbery.rules.easy;
 
 import java.util.Random;
 
-import cz.nic.tablexia.game.common.TablexiaRandom;
 import cz.nic.tablexia.game.games.robbery.creature.attribute.clothing.bottom.BottomAttribute;
 import cz.nic.tablexia.game.games.robbery.rules.GameRulesDefinition;
 
@@ -37,7 +36,7 @@ public class Bb_0_BbRule extends Bt_0_BtRule {
     @Override
     protected void prepareCreatureDescriptionsC() {
     	super.prepareCreatureDescriptionsC();
-    	attributeClass = BottomAttribute.class;
+    	attribute = new BottomAttribute();
     }
     
     @Override
diff --git a/core/src/cz/nic/tablexia/game/games/robbery/rules/easy/Bt_0_BtRule.java b/core/src/cz/nic/tablexia/game/games/robbery/rules/easy/Bt_0_BtRule.java
index ec866d4b9d1645405dff6c94954d5046dff64d80..d18ffa4340a44c8a845a68c453ae5cc99c00e076 100644
--- a/core/src/cz/nic/tablexia/game/games/robbery/rules/easy/Bt_0_BtRule.java
+++ b/core/src/cz/nic/tablexia/game/games/robbery/rules/easy/Bt_0_BtRule.java
@@ -42,7 +42,7 @@ public class Bt_0_BtRule extends GameRuleUtility {
 	protected static final Integer 	T0_OFFSET 	= CreatureDescriptor.THIEF_OFFSET;
 	protected 			   Integer 	T1_OFFSET 	= Integer.valueOf(1);
 	
-	protected Class<? extends Attribute> attributeClass;
+	protected Attribute attribute;
 
     public Bt_0_BtRule(Random random, int numberOfCreatures, int numberOfThieves) {
         super(random, numberOfCreatures, numberOfThieves, GROUP_SIZE);
@@ -56,11 +56,18 @@ public class Bt_0_BtRule extends GameRuleUtility {
     public GameRulesDefinition getGameRuleDefinition() {
     	return GameRulesDefinition.Bt_0_Bt;
     }
-    
-    @Override
+
+	@Override
+	public String[] prepareRuleMessageConstituentParameters(AbstractTablexiaScreen abstractTablexiaScreen) {
+		return new String[] {
+				attribute.getAttributeConstituent().getConstituent3(abstractTablexiaScreen)
+		};
+	}
+
+	@Override
     public String[] prepareRuleMessageParameters(AbstractTablexiaScreen abstractTablexiaScreen) {
         return new String[] {
-        		getAttributeName(abstractTablexiaScreen, attributeClass, false)
+        		getAttributeName(abstractTablexiaScreen, attribute.getClass(), false)
         };
     }
     
@@ -87,12 +94,12 @@ public class Bt_0_BtRule extends GameRuleUtility {
     protected void prepareCreatureDescriptionsC() {
         addGlobalCreatureDescriptor(T1_OFFSET, new CreatureDescriptor());
         addGlobalCreatureDescriptor(T0_OFFSET, new CreatureDescriptor());
-        attributeClass = TopAttribute.class;
+        attribute = new TopAttribute();
     }
     
     @Override
     protected void prepareCreatureDescriptionsB() {
-    	AttributeDescription commonAttributeDescription = CreatureFactory.getInstance().generateCreature(null, BAN_ATTRIBUTES_SET_FOR_GENERATING, getRandom()).getAttributeForType(attributeClass).getAttributeDescription();
+    	AttributeDescription commonAttributeDescription = CreatureFactory.getInstance().generateCreature(null, BAN_ATTRIBUTES_SET_FOR_GENERATING, getRandom()).getAttributeForType(attribute.getClass()).getAttributeDescription();
     	
     	getGlobalCreatureDescriptor(T1_OFFSET).clearDescriptions().addDescription(commonAttributeDescription);
     	getGlobalCreatureDescriptor(T0_OFFSET).clearDescriptions().addDescription(commonAttributeDescription);
@@ -119,7 +126,7 @@ public class Bt_0_BtRule extends GameRuleUtility {
 				if (lastPosition >= 0) {					
 					CreatureRoot lastCreature = creatures.get(lastPosition);
 					if (lastCreature != null) {
-						Attribute attributeToBan = lastCreature.getAttributeForType(attributeClass);
+						Attribute attributeToBan = lastCreature.getAttributeForType(attribute.getClass());
 						if (attributeToBan != null) {							
 							creatureDescriptorToBan.addDescription(attributeToBan.getAttributeDescription());
 						}
diff --git a/core/src/cz/nic/tablexia/game/games/robbery/rules/easy/CACARule.java b/core/src/cz/nic/tablexia/game/games/robbery/rules/easy/CACARule.java
index e1de0316a78ae270bbb105e71283a7028f09205b..8219202d3e1b8ed6e030059bc7db3f9169f4826b 100644
--- a/core/src/cz/nic/tablexia/game/games/robbery/rules/easy/CACARule.java
+++ b/core/src/cz/nic/tablexia/game/games/robbery/rules/easy/CACARule.java
@@ -41,6 +41,11 @@ public class CACARule extends CCCCRule {
     public GameRulesDefinition getGameRuleDefinition() {
     	return GameRulesDefinition.CACA;
     }
+
+    @Override
+    public String[] prepareRuleMessageConstituentParameters(AbstractTablexiaScreen abstractTablexiaScreen) {
+        return new String[] {};
+    }
     
     @Override
     public String[] prepareRuleMessageParameters(AbstractTablexiaScreen abstractTablexiaScreen) {
diff --git a/core/src/cz/nic/tablexia/game/games/robbery/rules/easy/CACCRule.java b/core/src/cz/nic/tablexia/game/games/robbery/rules/easy/CACCRule.java
index 2ae9cdf96d6c34182279c31d731ba6edd1d02b9f..1c8a8a3bd19ef6500e3195f794c601ea7afa4a4a 100644
--- a/core/src/cz/nic/tablexia/game/games/robbery/rules/easy/CACCRule.java
+++ b/core/src/cz/nic/tablexia/game/games/robbery/rules/easy/CACCRule.java
@@ -42,7 +42,16 @@ public class CACCRule extends CCCCRule {
     public GameRulesDefinition getGameRuleDefinition() {
     	return GameRulesDefinition.CACC;
     }
-    
+
+    @Override
+    public String[] prepareRuleMessageConstituentParameters(AbstractTablexiaScreen abstractTablexiaScreen) {
+        AttributeDescription t0Description0 = getGlobalCreatureDescriptor(T0_OFFSET).getDescriptions().get(0);
+        return new String[] {
+                t0Description0.getAttributeConstituent().getConstituent1(abstractTablexiaScreen),
+                t0Description0.getAttributeConstituent().getConstituent2(abstractTablexiaScreen)
+        };
+    }
+
     @Override
     public String[] prepareRuleMessageParameters(AbstractTablexiaScreen abstractTablexiaScreen) {
         AttributeDescription t0Description0 = getGlobalCreatureDescriptor(T0_OFFSET).getDescriptions().get(0);
diff --git a/core/src/cz/nic/tablexia/game/games/robbery/rules/easy/CA_0_CC_0_TRule.java b/core/src/cz/nic/tablexia/game/games/robbery/rules/easy/CA_0_CC_0_TRule.java
index 817ffc660400893b91bb1a719adbe9f20e9a249e..020770ea017941ecabec1402ff41c2d5565a6791 100644
--- a/core/src/cz/nic/tablexia/game/games/robbery/rules/easy/CA_0_CC_0_TRule.java
+++ b/core/src/cz/nic/tablexia/game/games/robbery/rules/easy/CA_0_CC_0_TRule.java
@@ -52,7 +52,15 @@ public class CA_0_CC_0_TRule extends GameRuleUtility {
     public GameRulesDefinition getGameRuleDefinition() {
     	return GameRulesDefinition.CA_0_CC_0_T;
     }
-    
+
+    @Override
+    public String[] prepareRuleMessageConstituentParameters(AbstractTablexiaScreen abstractTablexiaScreen) {
+        return new String[] {
+                getGlobalCreatureDescriptor(T1_OFFSET).getDescriptions().get(0).getAttributeConstituent().getConstituent1(abstractTablexiaScreen),
+                getGlobalCreatureDescriptor(T1_OFFSET).getDescriptions().get(0).getAttributeConstituent().getConstituent2(abstractTablexiaScreen)
+        };
+    }
+
     @Override
     public String[] prepareRuleMessageParameters(AbstractTablexiaScreen abstractTablexiaScreen) {
         return new String[] {
diff --git a/core/src/cz/nic/tablexia/game/games/robbery/rules/easy/CCCCRule.java b/core/src/cz/nic/tablexia/game/games/robbery/rules/easy/CCCCRule.java
index 39d45bc93beb056bf913da2de67eebe678b20ac0..3761c0fa26b3f6f3dc4121134afd96336fac6490 100644
--- a/core/src/cz/nic/tablexia/game/games/robbery/rules/easy/CCCCRule.java
+++ b/core/src/cz/nic/tablexia/game/games/robbery/rules/easy/CCCCRule.java
@@ -47,7 +47,19 @@ public class CCCCRule extends GameRuleUtility {
     public GameRulesDefinition getGameRuleDefinition() {
     	return GameRulesDefinition.CCCC;
     }
-    
+
+    @Override
+    public String[] prepareRuleMessageConstituentParameters(AbstractTablexiaScreen abstractTablexiaScreen) {
+        AttributeDescription t0Description0 = getGlobalCreatureDescriptor(T0_OFFSET).getDescriptions().get(0);
+        AttributeDescription t0Description1 = getGlobalCreatureDescriptor(T0_OFFSET).getDescriptions().get(1);
+        return new String[] {
+                t0Description0.getAttributeConstituent().getConstituent1(abstractTablexiaScreen),
+                t0Description0.getAttributeConstituent().getConstituent2(abstractTablexiaScreen),
+                t0Description1.getAttributeConstituent().getConstituent1(abstractTablexiaScreen),
+                t0Description1.getAttributeConstituent().getConstituent2(abstractTablexiaScreen)
+        };
+    }
+
     @Override
     public String[] prepareRuleMessageParameters(AbstractTablexiaScreen abstractTablexiaScreen) {
         AttributeDescription t0Description0 = getGlobalCreatureDescriptor(T0_OFFSET).getDescriptions().get(0);
diff --git a/core/src/cz/nic/tablexia/game/games/robbery/rules/easy/CC_0_CC_0_TRule.java b/core/src/cz/nic/tablexia/game/games/robbery/rules/easy/CC_0_CC_0_TRule.java
index 353349e893bf678c2e48577adb335234cf6d0523..1306468a948999328ebd4e6b1790d21b14a618c9 100644
--- a/core/src/cz/nic/tablexia/game/games/robbery/rules/easy/CC_0_CC_0_TRule.java
+++ b/core/src/cz/nic/tablexia/game/games/robbery/rules/easy/CC_0_CC_0_TRule.java
@@ -40,6 +40,16 @@ public class CC_0_CC_0_TRule extends CA_0_CC_0_TRule {
     public GameRulesDefinition getGameRuleDefinition() {
     	return GameRulesDefinition.CC_0_CC_0_T;
     }
+
+    @Override
+    public String[] prepareRuleMessageConstituentParameters(AbstractTablexiaScreen abstractTablexiaScreen) {
+        return new String[] {
+                getGlobalCreatureDescriptor(T2_OFFSET).getDescriptions().get(0).getAttributeConstituent().getConstituent1(abstractTablexiaScreen),
+                getGlobalCreatureDescriptor(T2_OFFSET).getDescriptions().get(0).getAttributeConstituent().getConstituent2(abstractTablexiaScreen),
+                getGlobalCreatureDescriptor(T1_OFFSET).getDescriptions().get(0).getAttributeConstituent().getConstituent1(abstractTablexiaScreen),
+                getGlobalCreatureDescriptor(T1_OFFSET).getDescriptions().get(0).getAttributeConstituent().getConstituent2(abstractTablexiaScreen)
+        };
+    }
     
     @Override
     public String[] prepareRuleMessageParameters(AbstractTablexiaScreen abstractTablexiaScreen) {
diff --git a/core/src/cz/nic/tablexia/game/games/robbery/rules/easy/CC_0_notCCRule.java b/core/src/cz/nic/tablexia/game/games/robbery/rules/easy/CC_0_notCCRule.java
index 2964aed790f7defe7a22a744de9dd64dc1f7a4bd..b9e29d71c6efd8e07f2a5ce0e25e3ff1f24f221d 100644
--- a/core/src/cz/nic/tablexia/game/games/robbery/rules/easy/CC_0_notCCRule.java
+++ b/core/src/cz/nic/tablexia/game/games/robbery/rules/easy/CC_0_notCCRule.java
@@ -53,8 +53,18 @@ public class CC_0_notCCRule extends GameRuleUtility {
     public GameRulesDefinition getGameRuleDefinition() {
     	return GameRulesDefinition.CC_0_notCC;
     }
-    
-    @Override
+
+	@Override
+	public String[] prepareRuleMessageConstituentParameters(AbstractTablexiaScreen abstractTablexiaScreen) {
+		return new String[] {
+				t0CreatureDescriptorToBan.getDescriptions().get(0).getAttributeConstituent().getConstituent1(abstractTablexiaScreen),
+				t0CreatureDescriptorToBan.getDescriptions().get(0).getAttributeConstituent().getConstituent2(abstractTablexiaScreen),
+				getGlobalCreatureDescriptor(T1_OFFSET).getDescriptions().get(0).getAttributeConstituent().getConstituent1(abstractTablexiaScreen),
+				getGlobalCreatureDescriptor(T1_OFFSET).getDescriptions().get(0).getAttributeConstituent().getConstituent2(abstractTablexiaScreen)
+		};
+	}
+
+	@Override
     public String[] prepareRuleMessageParameters(AbstractTablexiaScreen abstractTablexiaScreen) {
         return new String[] {
         		getAttributeColorName(abstractTablexiaScreen, t0CreatureDescriptorToBan.getDescriptions().get(0)),
diff --git a/core/src/cz/nic/tablexia/game/games/robbery/rules/hard/Bb_1_BbRule.java b/core/src/cz/nic/tablexia/game/games/robbery/rules/hard/Bb_1_BbRule.java
index f446d2399d966eeddfd821a5e51b6345a88a745c..8cc1cfa8987e5192f8ab8df56b3d3ce97eba825d 100644
--- a/core/src/cz/nic/tablexia/game/games/robbery/rules/hard/Bb_1_BbRule.java
+++ b/core/src/cz/nic/tablexia/game/games/robbery/rules/hard/Bb_1_BbRule.java
@@ -20,7 +20,6 @@ package cz.nic.tablexia.game.games.robbery.rules.hard;
 
 import java.util.Random;
 
-import cz.nic.tablexia.game.common.TablexiaRandom;
 import cz.nic.tablexia.game.games.robbery.creature.attribute.clothing.bottom.BottomAttribute;
 import cz.nic.tablexia.game.games.robbery.rules.GameRulesDefinition;
 
@@ -42,7 +41,7 @@ public class Bb_1_BbRule extends Bt_1_BtRule {
     @Override
     protected void prepareCreatureDescriptionsC() {
     	super.prepareCreatureDescriptionsC();
-    	attributeClass = BottomAttribute.class;
+    	attribute = new BottomAttribute();
     }
 
 }
diff --git a/core/src/cz/nic/tablexia/game/games/robbery/rules/hard/CCCCnotCCRule.java b/core/src/cz/nic/tablexia/game/games/robbery/rules/hard/CCCCnotCCRule.java
index 4bb4838bc1e26e37ad929bd70a163af1f3e6dcdd..a02083f230665ae9521fa515db65d2da42c6d96f 100644
--- a/core/src/cz/nic/tablexia/game/games/robbery/rules/hard/CCCCnotCCRule.java
+++ b/core/src/cz/nic/tablexia/game/games/robbery/rules/hard/CCCCnotCCRule.java
@@ -49,8 +49,22 @@ public class CCCCnotCCRule extends GameRuleUtility {
     public GameRulesDefinition getGameRuleDefinition() {
     	return GameRulesDefinition.CCCCnotCC;
     }
-    
-    @Override
+
+	@Override
+	public String[] prepareRuleMessageConstituentParameters(AbstractTablexiaScreen abstractTablexiaScreen) {
+		AttributeDescription t0Description0 = getGlobalCreatureDescriptor(T0_OFFSET).getDescriptions().get(0);
+		AttributeDescription t0Description1 = getGlobalCreatureDescriptor(T0_OFFSET).getDescriptions().get(1);
+		return new String[] {
+				t0Description0.getAttributeConstituent().getConstituent1(abstractTablexiaScreen),
+				t0Description0.getAttributeConstituent().getConstituent2(abstractTablexiaScreen),
+				t0Description1.getAttributeConstituent().getConstituent1(abstractTablexiaScreen),
+				t0Description1.getAttributeConstituent().getConstituent2(abstractTablexiaScreen),
+				t0AttributeDescriptionToBan.getAttributeConstituent().getConstituent1(abstractTablexiaScreen),
+				t0AttributeDescriptionToBan.getAttributeConstituent().getConstituent2(abstractTablexiaScreen)
+		};
+	}
+
+	@Override
     public String[] prepareRuleMessageParameters(AbstractTablexiaScreen abstractTablexiaScreen) {
         AttributeDescription t0Description0 = getGlobalCreatureDescriptor(T0_OFFSET).getDescriptions().get(0);
         AttributeDescription t0Description1 = getGlobalCreatureDescriptor(T0_OFFSET).getDescriptions().get(1);
diff --git a/core/src/cz/nic/tablexia/game/games/robbery/rules/hard/CC_0_CC_0_CCRule.java b/core/src/cz/nic/tablexia/game/games/robbery/rules/hard/CC_0_CC_0_CCRule.java
index 4c70687861e1a097b2f47b19c26aad77cb4f8c1d..1714d3197e8b3ac82dcc6f27afb6471aedbe3e05 100644
--- a/core/src/cz/nic/tablexia/game/games/robbery/rules/hard/CC_0_CC_0_CCRule.java
+++ b/core/src/cz/nic/tablexia/game/games/robbery/rules/hard/CC_0_CC_0_CCRule.java
@@ -48,7 +48,19 @@ public class CC_0_CC_0_CCRule extends GameRuleUtility {
     public GameRulesDefinition getGameRuleDefinition() {
     	return GameRulesDefinition.CC_0_CC_0_CC;
     }
-    
+
+    @Override
+    public String[] prepareRuleMessageConstituentParameters(AbstractTablexiaScreen abstractTablexiaScreen) {
+        return new String[] {
+                getGlobalCreatureDescriptor(T2_OFFSET).getDescriptions().get(0).getAttributeConstituent().getConstituent1(abstractTablexiaScreen),
+                getGlobalCreatureDescriptor(T2_OFFSET).getDescriptions().get(0).getAttributeConstituent().getConstituent2(abstractTablexiaScreen),
+                getGlobalCreatureDescriptor(T1_OFFSET).getDescriptions().get(0).getAttributeConstituent().getConstituent1(abstractTablexiaScreen),
+                getGlobalCreatureDescriptor(T1_OFFSET).getDescriptions().get(0).getAttributeConstituent().getConstituent2(abstractTablexiaScreen),
+                getGlobalCreatureDescriptor(T0_OFFSET).getDescriptions().get(0).getAttributeConstituent().getConstituent1(abstractTablexiaScreen),
+                getGlobalCreatureDescriptor(T0_OFFSET).getDescriptions().get(0).getAttributeConstituent().getConstituent2(abstractTablexiaScreen)
+        };
+    }
+
     @Override
     public String[] prepareRuleMessageParameters(AbstractTablexiaScreen abstractTablexiaScreen) {
         return new String[] {
diff --git a/core/src/cz/nic/tablexia/game/games/robbery/rules/hard/CC_0_notCA_0_TRule.java b/core/src/cz/nic/tablexia/game/games/robbery/rules/hard/CC_0_notCA_0_TRule.java
index ae5399e48bed18246d7d305d75ad69f36391a88e..236e5636c614acb6caeeaf117b93ffc81542f135 100644
--- a/core/src/cz/nic/tablexia/game/games/robbery/rules/hard/CC_0_notCA_0_TRule.java
+++ b/core/src/cz/nic/tablexia/game/games/robbery/rules/hard/CC_0_notCA_0_TRule.java
@@ -42,7 +42,15 @@ public class CC_0_notCA_0_TRule extends CC_0_notCC_0_TRule {
     public GameRulesDefinition getGameRuleDefinition() {
     	return GameRulesDefinition.CC_0_notCA_0_T;
     }
-    
+
+    @Override
+    public String[] prepareRuleMessageConstituentParameters(AbstractTablexiaScreen abstractTablexiaScreen) {
+        return new String[] {
+                getGlobalCreatureDescriptor(T2_OFFSET).getDescriptions().get(0).getAttributeConstituent().getConstituent1(abstractTablexiaScreen),
+                getGlobalCreatureDescriptor(T2_OFFSET).getDescriptions().get(0).getAttributeConstituent().getConstituent2(abstractTablexiaScreen)
+        };
+    }
+
     @Override
     public String[] prepareRuleMessageParameters(AbstractTablexiaScreen abstractTablexiaScreen) {
         return new String[] {
diff --git a/core/src/cz/nic/tablexia/game/games/robbery/rules/hard/CC_0_notCC_0_TRule.java b/core/src/cz/nic/tablexia/game/games/robbery/rules/hard/CC_0_notCC_0_TRule.java
index 120d869841dd0621dacf54e78d4d00cb274edbf4..39279c403a72224e704996639755ed2a695def71 100644
--- a/core/src/cz/nic/tablexia/game/games/robbery/rules/hard/CC_0_notCC_0_TRule.java
+++ b/core/src/cz/nic/tablexia/game/games/robbery/rules/hard/CC_0_notCC_0_TRule.java
@@ -51,8 +51,18 @@ public class CC_0_notCC_0_TRule extends GameRuleUtility {
     public GameRulesDefinition getGameRuleDefinition() {
     	return GameRulesDefinition.CC_0_notCC_0_T;
     }
-    
-    @Override
+
+	@Override
+	public String[] prepareRuleMessageConstituentParameters(AbstractTablexiaScreen abstractTablexiaScreen) {
+		return new String[] {
+				getGlobalCreatureDescriptor(T2_OFFSET).getDescriptions().get(0).getAttributeConstituent().getConstituent1(abstractTablexiaScreen),
+				getGlobalCreatureDescriptor(T2_OFFSET).getDescriptions().get(0).getAttributeConstituent().getConstituent2(abstractTablexiaScreen),
+				t1CreatureDescriptorToBan.getDescriptions().get(0).getAttributeConstituent().getConstituent1(abstractTablexiaScreen),
+				t1CreatureDescriptorToBan.getDescriptions().get(0).getAttributeConstituent().getConstituent2(abstractTablexiaScreen)
+		};
+	}
+
+	@Override
     public String[] prepareRuleMessageParameters(AbstractTablexiaScreen abstractTablexiaScreen) {
         return new String[] {
         		getAttributeColorName(abstractTablexiaScreen, getGlobalCreatureDescriptor(T2_OFFSET).getDescriptions().get(0)),
diff --git a/core/src/cz/nic/tablexia/game/games/robbery/rules/medium/CA_1_CCRule.java b/core/src/cz/nic/tablexia/game/games/robbery/rules/medium/CA_1_CCRule.java
index f34060bc613ad7744a0cd3a6cf6b7c7103b90d17..546ea77e77b4b43ff8073983f4f1d93285739738 100644
--- a/core/src/cz/nic/tablexia/game/games/robbery/rules/medium/CA_1_CCRule.java
+++ b/core/src/cz/nic/tablexia/game/games/robbery/rules/medium/CA_1_CCRule.java
@@ -42,6 +42,14 @@ public class CA_1_CCRule extends CC_1_CCRule {
     public GameRulesDefinition getGameRuleDefinition() {
     	return GameRulesDefinition.CA_1_CC;
     }
+
+    @Override
+    public String[] prepareRuleMessageConstituentParameters(AbstractTablexiaScreen abstractTablexiaScreen) {
+        return new String[] {
+                getGlobalCreatureDescriptor(T0_OFFSET).getDescriptions().get(0).getAttributeConstituent().getConstituent1(abstractTablexiaScreen),
+                getGlobalCreatureDescriptor(T0_OFFSET).getDescriptions().get(0).getAttributeConstituent().getConstituent2(abstractTablexiaScreen)
+        };
+    }
     
     @Override
     public String[] prepareRuleMessageParameters(AbstractTablexiaScreen abstractTablexiaScreen) {
@@ -51,7 +59,7 @@ public class CA_1_CCRule extends CC_1_CCRule {
         		getAttributeColorName(abstractTablexiaScreen, getGlobalCreatureDescriptor(T1_OFFSET).getDescriptions().get(0))
         };
     }
-    
+
     @Override
     protected void prepareCreatureDescriptionsC() {
     	AttributeColor t1CommonAttributeColor = getRandomColorFromGeneratedCreature(BAN_ATTRIBUTES_SET_FOR_GENERATING);
diff --git a/core/src/cz/nic/tablexia/game/games/robbery/rules/medium/CCCCCCRule.java b/core/src/cz/nic/tablexia/game/games/robbery/rules/medium/CCCCCCRule.java
index 357ff33e3e7d40f3a2570fcef34a7da94611b300..3b581af8dccc62cde7ae5214ecb47a816f9b918e 100644
--- a/core/src/cz/nic/tablexia/game/games/robbery/rules/medium/CCCCCCRule.java
+++ b/core/src/cz/nic/tablexia/game/games/robbery/rules/medium/CCCCCCRule.java
@@ -48,7 +48,22 @@ public class CCCCCCRule extends GameRuleUtility {
     public GameRulesDefinition getGameRuleDefinition() {
     	return GameRulesDefinition.CCCCCC;
     }
-    
+
+    @Override
+    public String[] prepareRuleMessageConstituentParameters(AbstractTablexiaScreen abstractTablexiaScreen) {
+        AttributeDescription t0Description0 = getGlobalCreatureDescriptor(T0_OFFSET).getDescriptions().get(0);
+        AttributeDescription t0Description1 = getGlobalCreatureDescriptor(T0_OFFSET).getDescriptions().get(1);
+        AttributeDescription t0Description2 = getGlobalCreatureDescriptor(T0_OFFSET).getDescriptions().get(2);
+        return new String[] {
+                t0Description0.getAttributeConstituent().getConstituent1(abstractTablexiaScreen),
+                t0Description0.getAttributeConstituent().getConstituent2(abstractTablexiaScreen),
+                t0Description1.getAttributeConstituent().getConstituent1(abstractTablexiaScreen),
+                t0Description1.getAttributeConstituent().getConstituent2(abstractTablexiaScreen),
+                t0Description2.getAttributeConstituent().getConstituent1(abstractTablexiaScreen),
+                t0Description2.getAttributeConstituent().getConstituent2(abstractTablexiaScreen)
+        };
+    }
+
     @Override
     public String[] prepareRuleMessageParameters(AbstractTablexiaScreen abstractTablexiaScreen) {
         AttributeDescription t0Description0 = getGlobalCreatureDescriptor(T0_OFFSET).getDescriptions().get(0);
diff --git a/core/src/cz/nic/tablexia/game/games/robbery/rules/medium/CC_1_CCRule.java b/core/src/cz/nic/tablexia/game/games/robbery/rules/medium/CC_1_CCRule.java
index 6170c3b46d3e61c30b789ed7a3d1ab75d3828317..f869df65a1edeed87fdfdbcddbc8ac55253d28aa 100644
--- a/core/src/cz/nic/tablexia/game/games/robbery/rules/medium/CC_1_CCRule.java
+++ b/core/src/cz/nic/tablexia/game/games/robbery/rules/medium/CC_1_CCRule.java
@@ -52,8 +52,18 @@ public class CC_1_CCRule extends GameRuleUtility {
     public GameRulesDefinition getGameRuleDefinition() {
     	return GameRulesDefinition.CC_1_CC;
     }
-    
-    @Override
+
+	@Override
+	public String[] prepareRuleMessageConstituentParameters(AbstractTablexiaScreen abstractTablexiaScreen) {
+		return new String[] {
+				getGlobalCreatureDescriptor(T0_OFFSET).getDescriptions().get(0).getAttributeConstituent().getConstituent1(abstractTablexiaScreen),
+				getGlobalCreatureDescriptor(T0_OFFSET).getDescriptions().get(0).getAttributeConstituent().getConstituent2(abstractTablexiaScreen),
+				getGlobalCreatureDescriptor(T1_OFFSET).getDescriptions().get(0).getAttributeConstituent().getConstituent1(abstractTablexiaScreen),
+				getGlobalCreatureDescriptor(T1_OFFSET).getDescriptions().get(0).getAttributeConstituent().getConstituent2(abstractTablexiaScreen)
+		};
+	}
+
+	@Override
     public String[] prepareRuleMessageParameters(AbstractTablexiaScreen abstractTablexiaScreen) {
         return new String[] {
         		getAttributeColorName(abstractTablexiaScreen, getGlobalCreatureDescriptor(T0_OFFSET).getDescriptions().get(0)),
diff --git a/core/src/cz/nic/tablexia/game/games/robbery/rules/medium/CC_1_notCARule.java b/core/src/cz/nic/tablexia/game/games/robbery/rules/medium/CC_1_notCARule.java
index 102bdfd444cdb61790c92fd217e77832a149b11f..46a8a7f629f24524b169103c31ffb822f1c15174 100644
--- a/core/src/cz/nic/tablexia/game/games/robbery/rules/medium/CC_1_notCARule.java
+++ b/core/src/cz/nic/tablexia/game/games/robbery/rules/medium/CC_1_notCARule.java
@@ -47,7 +47,15 @@ public class CC_1_notCARule extends CC_0_notCCRule {
     public GameRulesDefinition getGameRuleDefinition() {
     	return GameRulesDefinition.CC_1_notCA;
     }
-    
+
+    @Override
+    public String[] prepareRuleMessageConstituentParameters(AbstractTablexiaScreen abstractTablexiaScreen) {
+        return new String[] {
+                getGlobalCreatureDescriptor(T1_OFFSET).getDescriptions().get(0).getAttributeConstituent().getConstituent1(abstractTablexiaScreen),
+                getGlobalCreatureDescriptor(T1_OFFSET).getDescriptions().get(0).getAttributeConstituent().getConstituent2(abstractTablexiaScreen)
+        };
+    }
+
     @Override
     public String[] prepareRuleMessageParameters(AbstractTablexiaScreen abstractTablexiaScreen) {
         return new String[] {
diff --git a/core/src/cz/nic/tablexia/loader/IApplicationLoader.java b/core/src/cz/nic/tablexia/loader/IApplicationLoader.java
index bdb2faa1f27253e02c6e1c04611652e5364cc89a..796809a9390d7256f1288eb8577382c545d28168 100644
--- a/core/src/cz/nic/tablexia/loader/IApplicationLoader.java
+++ b/core/src/cz/nic/tablexia/loader/IApplicationLoader.java
@@ -2,6 +2,7 @@ package cz.nic.tablexia.loader;
 
 public interface IApplicationLoader {
 	
-	public boolean update();
+	boolean update();
+	void dispose();
 	
 }
diff --git a/core/src/cz/nic/tablexia/loader/application/ApplicationAtlasManager.java b/core/src/cz/nic/tablexia/loader/application/ApplicationAtlasManager.java
index 3f7e4aebaf103b437d4a16ab5693165a8b4b76bb..acf0021daeac7ff80cd8118c066c4bd9c5cc9a8f 100644
--- a/core/src/cz/nic/tablexia/loader/application/ApplicationAtlasManager.java
+++ b/core/src/cz/nic/tablexia/loader/application/ApplicationAtlasManager.java
@@ -1,5 +1,6 @@
 package cz.nic.tablexia.loader.application;
 
+import com.badlogic.gdx.graphics.g2d.Animation;
 import com.badlogic.gdx.graphics.g2d.NinePatch;
 import com.badlogic.gdx.graphics.g2d.TextureRegion;
 
@@ -66,6 +67,12 @@ public class ApplicationAtlasManager extends TablexiaAtlasManager implements IAp
     public static final String USERMENU_MENUITEM_AVATAR_6               = AVATAR_PATH+"6";
     public static final String USERMENU_MENUITEM_AVATAR_7               = AVATAR_PATH+"7";
     public static final String USERMENU_MENUITEM_AVATAR_8               = AVATAR_PATH+"8";
+    public static final String USERMENU_MENUITEM_AVATAR_9               = AVATAR_PATH+"9";
+    public static final String USERMENU_MENUITEM_AVATAR_10              = AVATAR_PATH+"10";
+    public static final String USERMENU_MENUITEM_AVATAR_11              = AVATAR_PATH+"11";
+    public static final String USERMENU_MENUITEM_AVATAR_12              = AVATAR_PATH+"12";
+
+    public static final String SCREEN_LOADER_MOUSE                      = "screenloader/mouse";
 
     public static final String DIALOG_PATH                           = "dialog/";
     public static final String DIALOG_BUBBLE_CLASSIC                 = DIALOG_PATH + "bubble_classic";
@@ -123,4 +130,8 @@ public class ApplicationAtlasManager extends TablexiaAtlasManager implements IAp
         return getPatchFromAtlas(APPLICATION_ATLAS, patchName);
     }
 
+    public Animation getAnimation(String name, int framesCount, float frameDuration) {
+        return getAnimationFromAtlas(APPLICATION_ATLAS, name, framesCount, frameDuration);
+    }
+
 }
\ No newline at end of file
diff --git a/core/src/cz/nic/tablexia/loader/application/ApplicationFontManager.java b/core/src/cz/nic/tablexia/loader/application/ApplicationFontManager.java
index 0dc9ccae9ded50ce979ae0fa1dc399ad0544c9cf..354d3812208cb12c1bc3ea36dd9676ebff703ae3 100644
--- a/core/src/cz/nic/tablexia/loader/application/ApplicationFontManager.java
+++ b/core/src/cz/nic/tablexia/loader/application/ApplicationFontManager.java
@@ -1,8 +1,9 @@
 package cz.nic.tablexia.loader.application;
 
 import com.badlogic.gdx.Gdx;
-import com.badlogic.gdx.assets.AssetManager;
+import com.badlogic.gdx.graphics.Texture;
 import com.badlogic.gdx.graphics.g2d.DistanceFieldFont;
+import com.badlogic.gdx.graphics.g2d.TextureRegion;
 import com.badlogic.gdx.graphics.glutils.ShaderProgram;
 
 import cz.nic.tablexia.loader.IApplicationLoader;
@@ -13,7 +14,8 @@ import cz.nic.tablexia.loader.IApplicationLoader;
  * @author Matyáš Latner
  *
  */
-public class ApplicationFontManager extends AssetManager implements IApplicationLoader {
+public class ApplicationFontManager implements IApplicationLoader {
+
 	public enum FontType_NEW {
 		REGULAR_10  (10, false),
 		REGULAR_12  (12, false),
@@ -74,8 +76,11 @@ public class ApplicationFontManager extends AssetManager implements IApplication
 		}
 	}
 
-	private static final String		ROBOTO_REGULAR_FONT_FILE = "font/roboto-regular.fnt";
-	private static final String		ROBOTO_BOLD_FONT_FILE    = "font/roboto-bold.fnt";
+	private static final String		ROBOTO_REGULAR_FONT_FILE = "font/roboto-regular";
+	private static final String		ROBOTO_BOLD_FONT_FILE    = "font/roboto-bold";
+	private static final String 	FONT_FILE_EXTENSION		 = ".fnt";
+	private static final String 	FONT_BITMAP_EXTENSION	 = ".png";
+
 	public static final float		DISTANCE_FIELD_FONT_SIZE = 32;
 
 	//According to (https://github.com/libgdx/libgdx/wiki/Distance-field-fonts) it should be 8/scale... I feel like breaking the rules a little bit :/
@@ -88,6 +93,7 @@ public class ApplicationFontManager extends AssetManager implements IApplication
 
 	private ShaderProgram distanceFieldShader;
 	
+
 	private ApplicationFontManager() {
 	}
 	
@@ -97,38 +103,48 @@ public class ApplicationFontManager extends AssetManager implements IApplication
 		}
 		return instance;
 	}
-	
-	@Override
-	public synchronized void dispose() {
-		super.dispose();
-		instance = null;
+
+	public ShaderProgram getDistanceFieldShader() {
+		return distanceFieldShader;
 	}
 
-	private void loadSDFFont() {
-		robotoRegularFont = new DistanceFieldFont(Gdx.files.internal(ROBOTO_REGULAR_FONT_FILE), false);
+	public DistanceFieldFont getDistanceFieldFont(FontType_NEW fontType) {
+		return fontType.isBold() ? robotoBoldFont : robotoRegularFont;
+	}
+	
+	public void load() {
+		Texture robotoRegular = new Texture(Gdx.files.internal(ROBOTO_REGULAR_FONT_FILE + FONT_BITMAP_EXTENSION), true);
+		robotoRegular.setFilter(Texture.TextureFilter.MipMapLinearNearest, Texture.TextureFilter.MipMapLinearNearest);
+		robotoRegularFont = new DistanceFieldFont(Gdx.files.internal(ROBOTO_REGULAR_FONT_FILE + FONT_FILE_EXTENSION), new TextureRegion(robotoRegular));
 		robotoRegularFont.setUseIntegerPositions(false);
 		robotoRegularFont.setDistanceFieldSmoothing(ApplicationFontManager.DISTANCE_FIELD_FONT_SIZE);
 		robotoRegularFont.getData().markupEnabled = false;
 
-		robotoBoldFont = new DistanceFieldFont(Gdx.files.internal(ROBOTO_BOLD_FONT_FILE), false);
-
+		Texture robotoBold = new Texture(Gdx.files.internal(ROBOTO_BOLD_FONT_FILE + FONT_BITMAP_EXTENSION), true);
+		robotoBold.setFilter(Texture.TextureFilter.MipMapLinearNearest, Texture.TextureFilter.MipMapLinearNearest);
+		robotoBoldFont = new DistanceFieldFont(Gdx.files.internal(ROBOTO_BOLD_FONT_FILE + FONT_FILE_EXTENSION), new TextureRegion(robotoBold));
 		robotoBoldFont.setUseIntegerPositions(false);
 		robotoBoldFont.setDistanceFieldSmoothing(ApplicationFontManager.DISTANCE_FIELD_FONT_SIZE);
+		robotoBoldFont.getData().markupEnabled = false;
 
 		distanceFieldShader = DistanceFieldFont.createDistanceFieldShader();
 //		pedantic flag indicating whether attributes & uniforms must be present at all times
 //		distanceFieldShader.pedantic = false;
 	}
 
-	public ShaderProgram getDistanceFieldShader() {
-		return distanceFieldShader;
-	}
 
-	public DistanceFieldFont getDistanceFieldFont(FontType_NEW fontType) {
-		return fontType.isBold() ? robotoBoldFont : robotoRegularFont;
+//////////////////////////// IApplicationLoader
+
+	@Override
+	public boolean update() {
+		return true;
 	}
-	
-	public void load() {
-		loadSDFFont();
+
+	@Override
+	public synchronized void dispose() {
+		instance = null;
+		robotoRegularFont.dispose();
+		robotoBoldFont.dispose();
+		distanceFieldShader.dispose();
 	}
 }
\ No newline at end of file
diff --git a/core/src/cz/nic/tablexia/loader/application/ApplicationInternalTextureManager.java b/core/src/cz/nic/tablexia/loader/application/ApplicationInternalTextureManager.java
index d1f87eb3eee618d242a4c7afb18b1b8858aca859..00e14257eb193133f8f15a0faf433d7db6cf89ff 100644
--- a/core/src/cz/nic/tablexia/loader/application/ApplicationInternalTextureManager.java
+++ b/core/src/cz/nic/tablexia/loader/application/ApplicationInternalTextureManager.java
@@ -32,6 +32,8 @@ public class ApplicationInternalTextureManager extends TablexiaTextureManager {
     public static final String BUTTON_DISABLED          = BUTTON_PATH + "tablexiabutton_disabled" + NINE_PATCH_SUFFIX;
     public static final String BUTTON_CLOSE_PRESSED     = BUTTON_PATH + "closebutton_pressed" + PNG_SUFFIX;
     public static final String BUTTON_CLOSE_UNPRESSED   = BUTTON_PATH + "closebutton_unpressed" + PNG_SUFFIX;
+    public static final String BUTTON_YES_ICON          = BUTTON_PATH + "yes_icon" + PNG_SUFFIX;
+    public static final String BUTTON_NO_ICON           = BUTTON_PATH + "no_icon" + PNG_SUFFIX;
 
     public enum InternalNinePatch {
 
@@ -105,5 +107,7 @@ public class ApplicationInternalTextureManager extends TablexiaTextureManager {
         loadTexture(BUTTON_BLUE_PRESSED);
         loadTexture(BUTTON_CLOSE_PRESSED);
         loadTexture(BUTTON_CLOSE_UNPRESSED);
+        loadTexture(BUTTON_YES_ICON);
+        loadTexture(BUTTON_NO_ICON);
     }
 }
diff --git a/core/src/cz/nic/tablexia/loader/application/ApplicationTextManager.java b/core/src/cz/nic/tablexia/loader/application/ApplicationTextManager.java
index 982d97ce757ca77cde5f986eebabfbd8285bbc47..dc9ca8288d880a77c1e8458868b743e2984ec65f 100644
--- a/core/src/cz/nic/tablexia/loader/application/ApplicationTextManager.java
+++ b/core/src/cz/nic/tablexia/loader/application/ApplicationTextManager.java
@@ -40,6 +40,7 @@ public class ApplicationTextManager extends TablexiaDataManager<I18NBundle> impl
 		public static final String SYSTEM_NO 						= "system_no";
 		public static final String SYSTEM_EXIT 						= "system_exit";
 		public static final String SYSTEM_RETRY						= "system_retry";
+		public static final String SYSTEM_BACK						= "system_back";
 
 		public static final String ZIPASSETLOADER_ERROR				= "zipassetloader_error";
 		public static final String ZIPASSETLOADER_DOWNLOAD_REQUEST	= "zipassetloader_download_request";
diff --git a/core/src/cz/nic/tablexia/loader/zip/ZipAssetLoader.java b/core/src/cz/nic/tablexia/loader/zip/ZipAssetLoader.java
index cf651076e0b1070496f2b877cdf086369ee4f137..15dcc8e82b1d167764a7ad4a21baeb507ad2054f 100644
--- a/core/src/cz/nic/tablexia/loader/zip/ZipAssetLoader.java
+++ b/core/src/cz/nic/tablexia/loader/zip/ZipAssetLoader.java
@@ -12,6 +12,7 @@ import java.io.BufferedInputStream;
 import java.io.File;
 import java.io.FileNotFoundException;
 import java.io.FileOutputStream;
+import java.io.FilenameFilter;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
@@ -22,7 +23,6 @@ import java.util.zip.ZipEntry;
 import java.util.zip.ZipInputStream;
 
 import cz.nic.tablexia.Tablexia;
-import cz.nic.tablexia.TablexiaSettings;
 import cz.nic.tablexia.bus.ApplicationBus;
 import cz.nic.tablexia.checksum.Checksum;
 import cz.nic.tablexia.loader.IApplicationLoader;
@@ -49,7 +49,7 @@ public class ZipAssetLoader extends TablexiaDataManager<Void> implements IApplic
     private static final String                                     TABLEXIA_TRUST_KEYSTORE_NAME        = "tablexiaTrustKeystore";
     private static final String                                     TABLEXIA_TRUST_KEYSTORE_PASSWORD    = "tablexia";
 
-	public static final long										ASSET_FILE_SIZE						= 150 * 1024 * 1024;
+    public static final int										    STATUS_CODE_SUCCESS                 = 200;
 
     private static final String                                     SNAPSHOT_PACKAGE_NAME               = "SNAPSHOT";
 	public static final int                                         DOWNLOAD_TRY_COUNT                  = 3;
@@ -80,10 +80,10 @@ public class ZipAssetLoader extends TablexiaDataManager<Void> implements IApplic
     public void load(Locale locale, Map<String, String> buildChecksum) {
         this.locale = locale;
         this.buildChecksum = buildChecksum;
-        reset();
+        reset(true);
     }
 
-    public void reset() {
+    public void reset(boolean withSyncTask) {
         error = false;
         downloadResult = false;
         downloadHasResult = false;
@@ -95,7 +95,9 @@ public class ZipAssetLoader extends TablexiaDataManager<Void> implements IApplic
 
 		usingMobileData = Tablexia.getConnectionManager().isUsingMobileData();
 
-        setAsyncTask(new ZipAssetLoaderTask(this, locale, buildChecksum));
+        if (withSyncTask) {
+			setAsyncTask(new ZipAssetLoaderTask(this, locale, buildChecksum));
+		}
     }
 
     @Override
@@ -243,32 +245,33 @@ public class ZipAssetLoader extends TablexiaDataManager<Void> implements IApplic
                     }
                     Log.info(ZipAssetLoader.class, "Assets check FAILED!");
 
+                    boolean downloadResult = true;
 
                     String assetsPackageName = language + "_" + buildChecksum;
                     String zipAssetsPackageName = assetsPackageName + ZIP_FILE_EXTENSION;
                     FileHandle assetsPackageFileHandle = TablexiaAbstractFileManager.getFileStoragePathFileHandle(ZIP_FILES_STORAGE_TYPE, zipAssetsPackageName);
 
                     // check current package file and download it if it is necessary
-                    boolean usedSnapshot = false;
                     prepareKeyStore();
-                    if (TablexiaSettings.getInstance().getVersionName().contains(TablexiaSettings.DEV_VERSION_TYPE) || TablexiaSettings.getInstance().getBuildType() == TablexiaSettings.BuildType.DEVEL) {
+                    if (!checkAndDownload(assetsPackageName)) {
+                        Log.err(getClass(), String.format("Cannot download assets package: %s", zipAssetsPackageName));
+
                         Log.info(ZipAssetLoader.class, "Devel mode --> try to use SNAPSHOT assets package");
                         String snapshotAssetsPackageName = language + "_" + SNAPSHOT_PACKAGE_NAME;
                         String snapshotZipAssetsPackageName = snapshotAssetsPackageName + ZIP_FILE_EXTENSION;
+
                         if (checkAndDownload(snapshotAssetsPackageName)) {
-                            usedSnapshot = true;
                             assetsPackageFileHandle = TablexiaAbstractFileManager.getFileStoragePathFileHandle(ZIP_FILES_STORAGE_TYPE, snapshotZipAssetsPackageName);
                         } else {
-                            Log.err(getClass(), String.format("Cannot download assets package: %s", snapshotZipAssetsPackageName));
+                            error(getClass(), String.format("Cannot download assets package: %s", snapshotZipAssetsPackageName));
+                            downloadResult = false;
                         }
                     }
-                    if (!usedSnapshot && !checkAndDownload(assetsPackageName)) {
-                        error(getClass(), String.format("Cannot download assets package: %s", zipAssetsPackageName));
-                        return null;
-                    }
 
-                    deleteOldContent(extractDestinationDirectory);
-                    extractNewContent(assetsPackageFileHandle, extractDestinationDirectory);
+                    if(downloadResult) {
+                        deleteOldContent(extractDestinationDirectory);
+                        extractNewContent(assetsPackageFileHandle, extractDestinationDirectory);
+                    }
                 } else {
                     error(getClass(), "BUILD CHECKSUM: no build checksum specified for language " + language);
                 }
@@ -342,9 +345,11 @@ public class ZipAssetLoader extends TablexiaDataManager<Void> implements IApplic
                         return true;
                     } else {
                         Log.info(ZipAssetLoader.class, String.format("Malformed assets package file: %s", zipFileName));
+                        removeUnnecessaryAssetFiles();
                     }
                 } else {
                     Log.info(ZipAssetLoader.class, String.format("Checksum or assets package file not found!", zipFileName));
+                    removeUnnecessaryAssetFiles();
                 }
 
                 /*
@@ -368,15 +373,25 @@ public class ZipAssetLoader extends TablexiaDataManager<Void> implements IApplic
                 }
 
 				// download assets package checksum
-				Log.info(ZipAssetLoader.class, String.format("Downloading checksum file: %s try %d/%d", checksumFileName, tryCounter + 1, DOWNLOAD_TRY_COUNT));
+				boolean checksumDownloadSuccess = false;
+                boolean assetsDownloadSuccess   = false;
+
+                Log.info(ZipAssetLoader.class, String.format("Downloading checksum file: %s try %d/%d", checksumFileName, tryCounter + 1, DOWNLOAD_TRY_COUNT));
 				startTimer();
-				downloadToOutputStream(fileName + CHECKSUM_FILE_EXTENSION, checksumFileHandle.write(false));
+				checksumDownloadSuccess = downloadToOutputStream(fileName + CHECKSUM_FILE_EXTENSION, checksumFileHandle.write(false));
 				resultTimer("Download delay of " + checksumFileName);
 
-				Log.info(ZipAssetLoader.class, String.format("Downloading assets package file: %s try %d/%d", zipFileName, tryCounter + 1, DOWNLOAD_TRY_COUNT));
-				startTimer();
-				downloadToOutputStream(fileName + ZIP_FILE_EXTENSION, zipFileHandle.write(false));
-				resultTimer("Download delay of " + zipFileName);
+                if(checksumDownloadSuccess) {
+                    Log.info(ZipAssetLoader.class, String.format("Downloading assets package file: %s try %d/%d", zipFileName, tryCounter + 1, DOWNLOAD_TRY_COUNT));
+                    startTimer();
+                    assetsDownloadSuccess = downloadToOutputStream(fileName + ZIP_FILE_EXTENSION, zipFileHandle.write(false));
+                    resultTimer("Download delay of " + zipFileName);
+                }
+
+                if(!checksumDownloadSuccess)
+                    deleteFile(checksumFileHandle.file());
+                if(!assetsDownloadSuccess)
+                    deleteFile(zipFileHandle.file());
 
 				tryCounter++;
             }
@@ -393,6 +408,13 @@ public class ZipAssetLoader extends TablexiaDataManager<Void> implements IApplic
 
                 @Override
                 public void handleHttpResponse(Net.HttpResponse httpResponse) {
+                    if(httpResponse.getStatus().getStatusCode() != STATUS_CODE_SUCCESS) {
+                        Log.info(ZipAssetLoader.class, String.format("Download failed. Returned status code: %d", httpResponse.getStatus().getStatusCode()));
+                        downloadResult = false;
+                        notifyDownload();
+                        return;
+                    }
+
                     long length = Long.parseLong(httpResponse.getHeader("Content-Length"));
 
                     InputStream is = httpResponse.getResultAsStream();
@@ -462,6 +484,23 @@ public class ZipAssetLoader extends TablexiaDataManager<Void> implements IApplic
             }
         }
 
+        private void removeUnnecessaryAssetFiles() {
+            File dir = new File(TablexiaAbstractFileManager.getFileStoragePath(TablexiaAbstractFileManager.DownloadStorageType.EXTERNAL));
+            File [] files = dir.listFiles(new FilenameFilter() {
+                @Override
+                public boolean accept(File dir, String name) {
+                    return name.startsWith(locale.getLanguage()) && !name.contains(SNAPSHOT_PACKAGE_NAME);
+                }
+            });
+
+            if(files == null) return;
+
+            for (File assetFile : files) {
+                Log.info(ZipAssetLoader.class, "Removing unnecessary asset file: " + assetFile.getName());
+                deleteFile(assetFile);
+            }
+        }
+
 
 //////////////////////////// EXTRACT
 
diff --git a/core/src/cz/nic/tablexia/menu/main/locale/LocaleSelectBox.java b/core/src/cz/nic/tablexia/menu/main/locale/LocaleSelectBox.java
index 9bfc0eccefb2e976b0d42fc04f7de43d09db3fff..ee906b0302e38f24dc668546fe301941deef1ead 100644
--- a/core/src/cz/nic/tablexia/menu/main/locale/LocaleSelectBox.java
+++ b/core/src/cz/nic/tablexia/menu/main/locale/LocaleSelectBox.java
@@ -71,6 +71,7 @@ public class LocaleSelectBox extends AbstractTablexiaSelectBox<LocaleSelectBox.L
     public LocaleSelectBox(float itemHeight) {
         super(itemHeight);
         ApplicationBus.getInstance().subscribe(this);
+        setCheckValidity(false);
         prepareLocales();
     }
 
@@ -81,10 +82,12 @@ public class LocaleSelectBox extends AbstractTablexiaSelectBox<LocaleSelectBox.L
         List<LocaleItem> localeItems = new ArrayList<LocaleItem>();
         for (TablexiaSettings.LocaleDefinition localeDefinition: TablexiaSettings.LocaleDefinition.getEnabledLocaleDefinitions()) {
             LocaleItem localeItem = new LocaleItem(localeDefinition);
-            localeItems.add(localeItem);
             if (localeDefinition.equals(TablexiaSettings.getInstance().getLocaleDefinition())) {
                 selectedLocaleItem = localeItem;
             }
+            else {
+                localeItems.add(localeItem);
+            }
         }
         setItems(localeItems.toArray(new LocaleItem[]{}));
         if (selectedLocaleItem != null) {
@@ -93,6 +96,13 @@ public class LocaleSelectBox extends AbstractTablexiaSelectBox<LocaleSelectBox.L
         addCaptureListener(changeListener);
     }
 
+    @Override
+    public boolean onSelectBoxItemSelected(LocaleItem item) {
+        getSelectBoxList().changeToSelected();
+        prepareLocales();
+        return true;
+    }
+
     @Override
     protected void drawSelectedItem(Batch batch, float parentAlpha, LocaleItem selected, float width, float height) {
         selected.setBounds(getX(), getY(), width, height);
diff --git a/core/src/cz/nic/tablexia/menu/main/user/UserSelectBox.java b/core/src/cz/nic/tablexia/menu/main/user/UserSelectBox.java
index 6ecc26932496c5d62ac602062eadfc0f77b78daa..193420267bd8d68534bbd6a5a093657fb36fb9fe 100644
--- a/core/src/cz/nic/tablexia/menu/main/user/UserSelectBox.java
+++ b/core/src/cz/nic/tablexia/menu/main/user/UserSelectBox.java
@@ -69,6 +69,7 @@ public class UserSelectBox extends AbstractTablexiaSelectBox<UserSelectBox.UserS
             }
         };
 
+        setCheckValidity(false);
         prepareActiveUsers();
     }
 
@@ -78,12 +79,14 @@ public class UserSelectBox extends AbstractTablexiaSelectBox<UserSelectBox.UserS
         List<UserSelectBoxItem> userItems = new ArrayList<UserSelectBoxItem>();
         for (User user: UserDAO.selectActiveUsers()) {
             UserMenuSelectBoxItemGroup userItem = new UserMenuSelectBoxItemGroup(new UserMenuItem(user), getWidth());
-            userItems.add(userItem);
             if (user.equals(TablexiaSettings.getInstance().getSelectedUser())) {
                 selectedUserItem = userItem;
             }
+            else {
+                userItems.add(userItem);
+            }
         }
-        userItems.add(new UserMenuNewSelectBoxItemGroup() {
+        UserMenuNewSelectBoxItemGroup newUserItem = new UserMenuNewSelectBoxItemGroup() {
             @Override
             public void performAction() {
                 TablexiaSettings.getInstance().changeUser(null, new TablexiaSettings.LogoutAcceptListener() {
@@ -98,11 +101,16 @@ public class UserSelectBox extends AbstractTablexiaSelectBox<UserSelectBox.UserS
             public User getUser() {
                 return null;
             }
-        });
+        };
+        userItems.add(newUserItem);
+
         setItems(userItems.toArray(new UserSelectBoxItem[]{}));
         if (selectedUserItem != null) {
             setSelected(selectedUserItem);
         }
+        else {
+            setSelected(newUserItem);
+        }
         addCaptureListener(changeListener);
     }
 
diff --git a/core/src/cz/nic/tablexia/menu/user/UserAvatarDefinition.java b/core/src/cz/nic/tablexia/menu/user/UserAvatarDefinition.java
index 32518df780b179fff1e7a35a6eb28f927c3cce1d..defe43f21ed7ee14eddba8897b46ab18b01d1ca6 100644
--- a/core/src/cz/nic/tablexia/menu/user/UserAvatarDefinition.java
+++ b/core/src/cz/nic/tablexia/menu/user/UserAvatarDefinition.java
@@ -7,26 +7,36 @@ import cz.nic.tablexia.loader.application.ApplicationAtlasManager;
  */
 public enum  UserAvatarDefinition {
 
-    AVATAR_0(ApplicationAtlasManager.USERMENU_MENUITEM_AVATAR_0),
-    AVATAR_1(ApplicationAtlasManager.USERMENU_MENUITEM_AVATAR_1),
-    AVATAR_2(ApplicationAtlasManager.USERMENU_MENUITEM_AVATAR_2),
-    AVATAR_3(ApplicationAtlasManager.USERMENU_MENUITEM_AVATAR_3),
-    AVATAR_4(ApplicationAtlasManager.USERMENU_MENUITEM_AVATAR_4),
-    AVATAR_5(ApplicationAtlasManager.USERMENU_MENUITEM_AVATAR_5),
-    AVATAR_6(ApplicationAtlasManager.USERMENU_MENUITEM_AVATAR_6),
-    AVATAR_7(ApplicationAtlasManager.USERMENU_MENUITEM_AVATAR_7),
-    AVATAR_8(ApplicationAtlasManager.USERMENU_MENUITEM_AVATAR_8);
+    AVATAR_0(ApplicationAtlasManager.USERMENU_MENUITEM_AVATAR_0,13),
+    AVATAR_1(ApplicationAtlasManager.USERMENU_MENUITEM_AVATAR_1,9),
+    AVATAR_2(ApplicationAtlasManager.USERMENU_MENUITEM_AVATAR_2,1),
+    AVATAR_3(ApplicationAtlasManager.USERMENU_MENUITEM_AVATAR_3,10),
+    AVATAR_4(ApplicationAtlasManager.USERMENU_MENUITEM_AVATAR_4,11),
+    AVATAR_5(ApplicationAtlasManager.USERMENU_MENUITEM_AVATAR_5,12),
+    AVATAR_6(ApplicationAtlasManager.USERMENU_MENUITEM_AVATAR_6,2),
+    AVATAR_7(ApplicationAtlasManager.USERMENU_MENUITEM_AVATAR_7,3),
+    AVATAR_8(ApplicationAtlasManager.USERMENU_MENUITEM_AVATAR_8,4),
+    AVATAR_9(ApplicationAtlasManager.USERMENU_MENUITEM_AVATAR_9,5),
+    AVATAR_10(ApplicationAtlasManager.USERMENU_MENUITEM_AVATAR_10,6),
+    AVATAR_11(ApplicationAtlasManager.USERMENU_MENUITEM_AVATAR_11,7),
+    AVATAR_12(ApplicationAtlasManager.USERMENU_MENUITEM_AVATAR_12,8);
 
     private String avatarPath;
+    private int order;
 
-    UserAvatarDefinition(String avatarPath) {
+    UserAvatarDefinition(String avatarPath, int order) {
         this.avatarPath = avatarPath;
+        this.order = order;
     }
 
     public String getAvatarPath() {
         return avatarPath;
     }
 
+    public int getOrder() {
+        return order;
+    }
+
     public static String getAvatar(String id){
         return values()[Integer.parseInt(id)].getAvatarPath();
     }
@@ -34,4 +44,11 @@ public enum  UserAvatarDefinition {
     public static String getAvatar(int id){
         return values()[id].getAvatarPath();
     }
+
+    public static int getOrdinalByOrder(int order) {
+        for(UserAvatarDefinition def : values()) {
+            if(def.getOrder() == order) return def.ordinal();
+        }
+        return 0;
+    }
 }
diff --git a/core/src/cz/nic/tablexia/model/UserDAO.java b/core/src/cz/nic/tablexia/model/UserDAO.java
index ef3b22ab1a4604c29fd9290c9091053776e86db9..1898b43e10671ea9eeba1f8ebfc938c31b805272 100644
--- a/core/src/cz/nic/tablexia/model/UserDAO.java
+++ b/core/src/cz/nic/tablexia/model/UserDAO.java
@@ -20,6 +20,7 @@ import cz.nic.tablexia.shared.model.Game;
 import cz.nic.tablexia.shared.model.GamePause;
 import cz.nic.tablexia.shared.model.Screen;
 import cz.nic.tablexia.shared.model.User;
+import cz.nic.tablexia.shared.model.UserDifficultySettings;
 import cz.nic.tablexia.util.Log;
 
 /**
@@ -265,6 +266,12 @@ public class UserDAO {
                 }
             }
 
+			if (user.getDifficultySettings() != null) {
+				for (UserDifficultySettings setting : user.getDifficultySettings()) {
+					UserDifficultySettingsDAO.saveSettingsForUser(dbUser.getId(), setting.getGameNumber(), setting.getGameDifficulty());
+				}
+			}
+
             TablexiaStorage.getInstance().commit();
             TablexiaStorage.getInstance().setAutoCommit(true);
 
@@ -282,95 +289,6 @@ public class UserDAO {
         return null;
     }
 
-//////////////////////////// DB MIGRATIONS
-
-    public static void migrateUserSignaturesData() {
-        String replaceSql = "update user set signature = ? where id = ?";
-        String conditionSql = "select id, signature from user where signature like '%\"size\"%'";
-
-        PreparedStatement statement = TablexiaStorage.getInstance().prepareStatement(conditionSql);
-        PreparedStatement replaceStatement = TablexiaStorage.getInstance().prepareStatement(replaceSql);
-        try {
-            ResultSet resultSet = statement.executeQuery();
-            while (resultSet.next()) {
-                long id = resultSet.getLong("id");
-                String signature = resultSet.getString("signature");
-
-                // replace old JSON structure with new one
-                signature = signature.replaceAll("\\{\"items\":", "");
-                signature = signature.replaceAll("\"x\"", "class:cz.nic.tablexia.util.Point,x");
-                signature = signature.replaceAll("\"y\"", "y");
-                signature = signature.replaceAll(",\"ordered\":true,\"size\":[0-9]+\\}|,\"size\":[0-9]+,\"ordered\":true\\}", "");
-
-				replaceStatement.setString(1, signature);
-				replaceStatement.setLong(2, id);
-				replaceStatement.addBatch();
-            }
-            statement.close();
-
-			replaceStatement.executeBatch();
-            replaceStatement.close();
-
-        } catch (SQLException e) {
-            Log.err(User.class, "Cannot migrate user signature data", e);
-        }
-    }
-
-	public static void fixUserNames() {
-		String replaceSql = "update user set name = ? where id = ?";
-		String selectSql = "select id, name from user";
-
-		PreparedStatement statement = TablexiaStorage.getInstance().prepareStatement(selectSql);
-		PreparedStatement replaceStatement = TablexiaStorage.getInstance().prepareStatement(replaceSql);
-		try {
-			ResultSet resultSet = statement.executeQuery();
-			while (resultSet.next()) {
-				long id = resultSet.getLong("id");
-				String name = resultSet.getString("name").replaceAll("\\u0000", "");
-
-				replaceStatement.setString(1, name);
-				replaceStatement.setLong(2, id);
-				replaceStatement.addBatch();
-			}
-			statement.close();
-
-			replaceStatement.executeBatch();
-			replaceStatement.close();
-
-		} catch (SQLException e) {
-			Log.err(User.class, "Cannot fix user name", e);
-		}
-	}
-
-    public static void migrateUserTableStructure() {
-        String addUuidColumn = "ALTER TABLE user ADD COLUMN uuid TEXT";
-        String addSyncAtColumn = "ALTER TABLE game ADD COLUMN sync_at INTEGER";
-
-        PreparedStatement statement = TablexiaStorage.getInstance().prepareStatement(addUuidColumn);
-        if (statement == null) {
-            Log.info(UserDAO.class, "uuid column in user table is already there");
-        } else {
-            try {
-                statement.executeUpdate();
-                statement.close();
-            } catch (SQLException e) {
-                Log.err(User.class, "Cannot migrate user structure: " + e.getMessage(), e);
-            }
-        }
-
-        PreparedStatement syncAtStatement = TablexiaStorage.getInstance().prepareStatement(addSyncAtColumn);
-        if (syncAtStatement == null) {
-            Log.info(UserDAO.class, "sync_at column in game table is already there");
-        } else {
-            try {
-                syncAtStatement.executeUpdate();
-                syncAtStatement.close();
-            } catch (SQLException e) {
-                Log.err(User.class, "Cannot migrate game structure: " + e.getMessage(), e);
-            }
-        }
-    }
-
 
 //////////////////////////// EVENT
 
diff --git a/core/src/cz/nic/tablexia/model/UserDifficultySettingsDAO.java b/core/src/cz/nic/tablexia/model/UserDifficultySettingsDAO.java
new file mode 100644
index 0000000000000000000000000000000000000000..f0bdf006b38f720883adaa6fc88c62a6250525d8
--- /dev/null
+++ b/core/src/cz/nic/tablexia/model/UserDifficultySettingsDAO.java
@@ -0,0 +1,83 @@
+package cz.nic.tablexia.model;
+
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.List;
+
+import cz.nic.tablexia.TablexiaStorage;
+import cz.nic.tablexia.game.difficulty.GameDifficulty;
+import cz.nic.tablexia.shared.model.User;
+import cz.nic.tablexia.shared.model.UserDifficultySettings;
+import cz.nic.tablexia.util.Log;
+
+/**
+ * Created by frantisek on 24.3.16.
+ */
+public class UserDifficultySettingsDAO {
+
+//////////////////////////// DB ACCESS
+
+	public static final String CREATE_TABLE							= "CREATE TABLE IF NOT EXISTS user_difficulty_setting (user_id INTEGER NOT NULL, game_number INTEGER NOT NULL, difficulty_number INTEGER NOT NULL, FOREIGN KEY(user_id) REFERENCES user(id), PRIMARY KEY(user_id, game_number))";
+	public static final String SELECT_SETTINGS_FOR_USER				= "SELECT game_number, difficulty_number FROM user_difficulty_setting WHERE user_id = ?";
+	public static final String SELECT_SETTINGS_FOR_USER_AND_GAME	= "SELECT difficulty_number FROM user_difficulty_setting WHERE user_id = ? AND game_number = ?";
+	public static final String INSERT_SETTING_FOR_USER				= "REPLACE INTO user_difficulty_setting(user_id, game_number, difficulty_number) VALUES (?, ?, ?)";
+
+	public static List<UserDifficultySettings> getUserSettings(long userId) {
+		ArrayList<UserDifficultySettings> settings = new ArrayList<UserDifficultySettings>();
+		try {
+			PreparedStatement statement = TablexiaStorage.getInstance().prepareStatement(SELECT_SETTINGS_FOR_USER);
+			statement.setLong(1, userId);
+			try {
+				ResultSet resultSet = statement.executeQuery();
+				while (resultSet.next()) {
+					settings.add(new UserDifficultySettings(userId, resultSet.getInt("game_number"), resultSet.getInt("difficulty_number")));
+				}
+				resultSet.close();
+			} catch (SQLException e) {
+				Log.err(User.class, "Cannot select users game settings from DB!", e);
+			}
+			statement.close();
+		} catch (SQLException e) {
+			Log.err(User.class, "Cannot select users game settings from DB!", e);
+		}
+		return settings;
+	}
+
+	public static GameDifficulty getUserSettingsByGame(long userId, int gameNumber) {
+		GameDifficulty difficulty = GameDifficulty.EASY;
+		try {
+			PreparedStatement statement = TablexiaStorage.getInstance().prepareStatement(SELECT_SETTINGS_FOR_USER_AND_GAME);
+			statement.setLong(1, userId);
+			statement.setInt(2, gameNumber);
+			try {
+				ResultSet resultSet = statement.executeQuery();
+				while (resultSet.next()) {
+					difficulty = GameDifficulty.getGameDifficultyForDifficultyNumber(resultSet.getInt("difficulty_number"));
+				}
+			} catch (SQLException e) {
+				Log.err(User.class, "Cannot select users game settings from DB!", e);
+			}
+			statement.close();
+		} catch (SQLException e) {
+			Log.err(User.class, "Cannot select users game settings from DB!", e);
+		}
+
+		return difficulty;
+	}
+
+	public static void saveSettingsForUser(long userId, int gameNumber, int difficultyNumber) {
+		try {
+			PreparedStatement insertStatement = TablexiaStorage.getInstance().prepareStatement(INSERT_SETTING_FOR_USER);
+			insertStatement.setLong(1, userId);
+			insertStatement.setInt(2, gameNumber);
+			insertStatement.setInt(3, difficultyNumber);
+			insertStatement.executeUpdate();
+			insertStatement.close();
+
+		} catch (SQLException ex) {
+			Log.err(UserDifficultySettingsDAO.class, "Cannot insert new user difficulty settings record into DB!", ex);
+		}
+	}
+}
diff --git a/core/src/cz/nic/tablexia/model/game/GameDAO.java b/core/src/cz/nic/tablexia/model/game/GameDAO.java
index 445f0fb88f2789c4c771f8b4591f1031131b6370..375adb48756f1c4fb1edcff1f1401af3f21869dc 100644
--- a/core/src/cz/nic/tablexia/model/game/GameDAO.java
+++ b/core/src/cz/nic/tablexia/model/game/GameDAO.java
@@ -17,6 +17,7 @@ import cz.nic.tablexia.game.common.TablexiaRandom;
 import cz.nic.tablexia.game.difficulty.GameDifficulty;
 import cz.nic.tablexia.model.UserDAO;
 import cz.nic.tablexia.shared.model.Game;
+import cz.nic.tablexia.shared.model.GamePause;
 import cz.nic.tablexia.shared.model.GameScore;
 import cz.nic.tablexia.shared.model.User;
 import cz.nic.tablexia.util.Log;
@@ -74,6 +75,25 @@ public class GameDAO {
         return null;
     }
 
+	public static Long getAllPausesDuration(Game game) {
+		long pausesDuration = 0;
+		List<GamePause> gamePauses = GamePauseDAO.selectGamePausesForGame(game);
+
+		for (GamePause gamePause : gamePauses) {
+			if (gamePause.hasStartTime() && gamePause.hasEndTime()) {
+				pausesDuration = pausesDuration + (gamePause.getEndTime() - gamePause.getStartTime());
+			}
+		}
+		return pausesDuration;
+	}
+
+	public static Long getGameDuration(Game game) {
+		if (game.getEndTime() == null || game.getGameStartTime() == null) {
+			return null;
+		}
+		return game.getEndTime() - game.getGameStartTime() - getAllPausesDuration(game);
+	}
+
     public static void setGameScore(final Game game, final String key, final String value) {
         new Thread(new Runnable() {
             @Override
@@ -118,7 +138,7 @@ public class GameDAO {
     public static final String GAME_SELECT_FOR_ID = "SELECT id, user_id, difficulty_number, game_number, random_seed, start_time, end_time FROM game WHERE id = ?";
     public static final String GAME_SELECT_LAST_ID = "SELECT max(id) FROM game";
     public static final String GAME_SELECT_COUNT_FOR_GAME_AND_DIFFICULTY = "SELECT count(id) FROM game WHERE game_number = ? AND difficulty_number = ? AND user_id = ? AND end_time IS NOT NULL";
-    public static final String GAME_SELECT_FOR_USER_AND_DEFINITION = "SELECT id, user_id, difficulty_number, game_number, random_seed, start_time, end_time FROM game WHERE user_id = ? AND game_number = ? AND end_time IS NOT NULL AND end_time != 0";
+    public static final String GAME_SELECT_FOR_USER_AND_DEFINITION = "SELECT id, user_id, difficulty_number, game_number, random_seed, start_time, end_time FROM game WHERE user_id = ? AND game_number = ? AND end_time IS NOT NULL AND end_time != 0 ORDER BY start_time ASC";
     public static final String GAME_SELECT_COUNT_FOR_GAME = "SELECT count(id) FROM game WHERE game_number = ? AND user_id = ?";
     public static final String GAME_SELECT_ALL_FOR_USER_SYNC = "SELECT id, user_id, difficulty_number, game_number, random_seed, start_time, end_time FROM game where user_id = ? AND sync_at is null";
     public static final String GAME_SELECT_BY_START_AND_END = "SELECT id FROM game WHERE user_id = ? AND start_time = ? AND end_time = ?";
diff --git a/core/src/cz/nic/tablexia/model/game/UserTrophy.java b/core/src/cz/nic/tablexia/model/game/UserTrophy.java
index a7f31383f3b8098c3305a1b93d183ff62025f58f..e09600dfc32915530eb0fb5319a23a8b55c2f15d 100644
--- a/core/src/cz/nic/tablexia/model/game/UserTrophy.java
+++ b/core/src/cz/nic/tablexia/model/game/UserTrophy.java
@@ -198,17 +198,35 @@ public class UserTrophy {
             } catch (SQLException e) {
                 Log.err(UserTrophy.class, "Cannot select game with user_id: " + user.getId() + ", difficulty: " + trophyDef.getLimit(), e);
             }
-            Set<Integer> gamesPlayed = new HashSet<Integer>();
+
+            if(games.size() < GameDefinition.values().length) return false;
+            int[] sixConsecutiveGames = new int[GameDefinition.values().length];
 
             for (Game game : games) {
-                if (GameDAO.getGameResult(game).getStarCount() == AbstractTablexiaGame.GameResult.THREE_STAR.getStarCount()
-                    && !gamesPlayed.contains(game.getGameNumber())) {
-                    gamesPlayed.add(game.getGameNumber());
-                } else {
-                    gamesPlayed.clear();
+                boolean duplicateFound = false;
+
+                //shifting games in array
+                for (int i = 0; i < sixConsecutiveGames.length - 1; i++) {
+                    sixConsecutiveGames[i] = sixConsecutiveGames[i + 1];
+                }
+                sixConsecutiveGames[sixConsecutiveGames.length - 1] = game.getGameNumber();
+
+                //if array sixConsecutiveGames has minimum number of games loaded, we can try achieve a trophy
+                if(games.indexOf(game) + 1 >= GameDefinition.values().length) {
+                    for (int i = 0; i < sixConsecutiveGames.length; i++) {
+                        for (int j = i + 1; j < sixConsecutiveGames.length; j++) {
+                            if (sixConsecutiveGames[i] == sixConsecutiveGames[j] ||
+                                    GameDAO.getGameResult(game).getStarCount() != AbstractTablexiaGame.GameResult.THREE_STAR.getStarCount()) {
+                                duplicateFound = true;
+                                break;
+                            }
+                        }
+                        if (duplicateFound) break;
+                    }
+                    if (!duplicateFound) return true;
                 }
             }
-            return gamesPlayed.size() == GameDefinition.values().length;
+            return false;
         }
 
         public static Map<GameDefinition, Integer> getNumberOfStarsResults(User user) {
diff --git a/core/src/cz/nic/tablexia/screen/createuser/FormScreen.java b/core/src/cz/nic/tablexia/screen/createuser/FormScreen.java
index 5a46ae1fff7544c6e153e50574dc18f0dc7bf813..41b5287cb611917dfeaa4d59499edbf116092142 100644
--- a/core/src/cz/nic/tablexia/screen/createuser/FormScreen.java
+++ b/core/src/cz/nic/tablexia/screen/createuser/FormScreen.java
@@ -35,6 +35,8 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
+import java.util.Timer;
+import java.util.TimerTask;
 
 import cz.nic.tablexia.Tablexia;
 import cz.nic.tablexia.TablexiaApplication;
@@ -104,6 +106,8 @@ public class FormScreen extends AbstractTablexiaScreen<Void> {
 	private static final int    COMMON_INT_CODE_FOR_ENTER		= 13;
 	private static final int    ANDROID_INT_CODE_FOR_ENTER		= 10;
 
+    private static final int    TEXT_FIELD_HINT_DELAY           = 5000;
+
     public static final  String GFX_PATH            = "gfx/";
     public static final  String AVATAR_PATH         = GFX_PATH + "avatar/";
     public static final  String HINT_FINGER_SOUND   = "mfx/profil_podpis_prst.mp3";
@@ -118,6 +122,8 @@ public class FormScreen extends AbstractTablexiaScreen<Void> {
     protected Map<FormValidationEnum, Boolean> validations;
     protected Set<String> alreadyPlayedHints;
     private Group mugshots;
+    private Timer timer;
+    private boolean timerSet;
 
     protected TextField nameField;
 
@@ -197,12 +203,27 @@ public class FormScreen extends AbstractTablexiaScreen<Void> {
         nameField.setFocusTraversal(false);
 		nameField.setMaxLength(MAX_NAME_LENGTH);
 
+        timerSet = false;
+
         nameField.addListener(new InputListener() {
             @Override
             public boolean keyTyped(InputEvent event, char character) {
-				// have to check also (int)character because of some bug in iOS keyboard. It returns code Input.Keys.ENTER for every key after "done" button pressed
+
+                if(timerSet) timer.cancel();
+
+                // have to check also (int)character because of some bug in iOS keyboard. It returns code Input.Keys.ENTER for every key after "done" button pressed
                 if ((event.getKeyCode() == Input.Keys.ENTER && ((int)character == ANDROID_INT_CODE_FOR_ENTER || (int)character == COMMON_INT_CODE_FOR_ENTER)) || event.getKeyCode() == Input.Keys.TAB) {
                     validate();
+                } else {
+                    timer = new Timer();
+                    timer.schedule(new TimerTask() {
+                        @Override
+                        public void run() {
+                            validate();
+                            timerSet = false;
+                        }
+                    }, TEXT_FIELD_HINT_DELAY);
+                    timerSet = true;
                 }
                 return false;
             }
@@ -481,8 +502,9 @@ public class FormScreen extends AbstractTablexiaScreen<Void> {
         // avatar pictures
         HorizontalGroup hg = new HorizontalGroup();
         for (int i = 0; i < TablexiaSettings.AVATAR_COUNT; i++) {
-            final Actor avatar = prepareAvatarPicture(i + 1);
-            avatar.setName(String.valueOf(i + 1));
+            int ordinal = UserAvatarDefinition.getOrdinalByOrder(i + 1);
+            final Actor avatar = prepareAvatarPicture(ordinal);
+            avatar.setName(String.valueOf(ordinal));
             avatar.addListener(new ClickListener() {
                 @Override
                 public void clicked(InputEvent event, float x, float y) {
diff --git a/core/src/cz/nic/tablexia/screen/createuser/PanoramaScreen.java b/core/src/cz/nic/tablexia/screen/createuser/PanoramaScreen.java
index c4740dc04fff123a5c90fb44b0b0aa6946d47c41..2b7fff6b40b833bb0e470bde497c5f7027bbdb35 100644
--- a/core/src/cz/nic/tablexia/screen/createuser/PanoramaScreen.java
+++ b/core/src/cz/nic/tablexia/screen/createuser/PanoramaScreen.java
@@ -42,6 +42,7 @@ import cz.nic.tablexia.util.Point;
 import cz.nic.tablexia.util.ScaleUtil;
 import cz.nic.tablexia.util.Utility;
 import cz.nic.tablexia.util.ui.ComponentScaleUtil;
+import cz.nic.tablexia.util.ui.ScrollPaneWithBorders;
 import cz.nic.tablexia.util.ui.TablexiaNoBlendingImage;
 import cz.nic.tablexia.util.ui.dialog.TablexiaComponentDialog;
 import cz.nic.tablexia.util.ui.dialog.TablexiaComponentDialogFactory;
@@ -62,6 +63,11 @@ import cz.nic.tablexia.util.ui.dialog.components.ViewportMaximumSizeComponent;
  */
 public class PanoramaScreen extends AbstractTablexiaScreen<int[][]> {
 
+    private static Vector2 NEWSPAPER_TITLE_POSITION = new Vector2(0.26f, 0.197f);
+    private static Vector2 SIGN_POSITION            = new Vector2(0.30f, 0.285f);
+    private static Vector2 PLATE_TITLE_POSITION     = new Vector2(0.368f, 0.638f);
+    private static Vector2 DOOR_SIGN_POSITION       = new Vector2(0.575f, 0f);
+
     public static final String GFX_PATH = "gfx/";
     public static final String SFX_PATH = "sfx/";
     public static final String MFX_PATH = "mfx/";
@@ -72,6 +78,9 @@ public class PanoramaScreen extends AbstractTablexiaScreen<int[][]> {
     public static final String BALCONY_BLUR        = GFX_PATH + "balcony_blur";
     public static final String BALCONY_BLUR_WINTER = GFX_PATH + "balcony_blur_winter";
 
+    public static final String SWIPE_OVERSCROLL_RIGHT      = GFX_PATH + "swipe/overscroll_right";
+    public static final Color  SWIPE_OVERSCROLL_LEFT_COLOR = new Color(118/255f, 133/255f, 200/255f, 1);
+
     private static final String NEWSPAPER_DETAIL = "newspaper/detail0";
 
     public static final String SFX_NEWSPAPER_SPINNER = SFX_PATH + "noviny_prilet.mp3";
@@ -86,29 +95,34 @@ public class PanoramaScreen extends AbstractTablexiaScreen<int[][]> {
     public static final String MUSIC_3 = MFX_PATH + "newspaper/3.mp3";
     public static final String MUSIC_4 = MFX_PATH + "newspaper/4.mp3";
 
-    private static final String AMBIENT_RESTAURANT  = MFX_PATH + "ambient/restaurant.mp3";
-    private static final String AMBIENT_STREET      = MFX_PATH + "ambient/swipe_street.mp3";
+    public static final float    AMBIENT_SOUND_VOLUME = 0.5f;
+
+    private static final String  AMBIENT_RESTAURANT  = MFX_PATH + "ambient/restaurant.mp3";
+    private static final String  AMBIENT_STREET      = MFX_PATH + "ambient/swipe_street.mp3";
 
-    private static final int NUMBER_OF_NEWSPAPER_OPEN_FRAMES    = 5;
-    private static final int NUMBER_OF_OFFICE_KNOCKS            = 3;
-    private static final int NUMBER_OF_OFFICE_DIALOGS           = 4;
+    private static final int     NUMBER_OF_NEWSPAPER_OPEN_FRAMES        = 5;
+    private static final int     NUMBER_OF_OFFICE_KNOCKS                = 3;
+    private static final int     NUMBER_OF_OFFICE_DIALOGS               = 4;
 
-    private static final Vector2 OFFICE_DIALOG_OFFSET           = new Vector2(24, 12);
-    private static final int OFFICE_DIALOG_TEXT_PADDING_LEFT    = 4;
-    private static final int OFFICE_DIALOG_TEXT_PADDING_RIGHT   = 24;
+    private static final float   OVERSCROLL_DISTANCE                    = 50;
+    private static final float   OVERSCROLL_MIN_SPEED                   = 30;
+    private static final float   OVERSCROLL_MAX_SPEED                   = 200;
 
-	private static final int NEWSPAPERS_SPEECH_DIALOG_OFFSET			= 4;
-	private static final float NEWSPAPERS_SPEECH_DIALOG_OFFSET_MULTI	= 0.6f;
+    private static final Vector2 OFFICE_DIALOG_OFFSET                   = new Vector2(24, 12);
+    private static final int     OFFICE_DIALOG_TEXT_PADDING_LEFT        = 4;
+    private static final int     OFFICE_DIALOG_TEXT_PADDING_RIGHT       = 24;
 
-    private static final float NEWSPAPER_DETAIL_DIALOG_DIMMER = 0.6f;
+	private static final int     NEWSPAPERS_SPEECH_DIALOG_OFFSET		= 4;
+	private static final float   NEWSPAPERS_SPEECH_DIALOG_OFFSET_MULTI	= 0.6f;
+    private static final float   NEWSPAPER_DETAIL_DIALOG_DIMMER         = 0.6f;
 
-    private static final float NEWS_DIALOG_MAX_WIDTH = 0.85f;
-    private static final float NEWS_DIALOG_MAX_HEIGHT = 0.85f;
+    private static final float   NEWS_DIALOG_MAX_WIDTH                  = 0.85f;
+    private static final float   NEWS_DIALOG_MAX_HEIGHT                 = 0.85f;
 
     private TextureRegion clickmap;
 
     private Group panel;
-    private ScrollPane scrollpane;
+    private ScrollPaneWithBorders scrollpane;
     private Music ambient;
 
     private Image leftFinger, rightFinger, hint;
@@ -157,14 +171,17 @@ public class PanoramaScreen extends AbstractTablexiaScreen<int[][]> {
         boolean isWinter = TablexiaSettings.getInstance().isWinterMode();
         ambient = getMusic(AMBIENT_RESTAURANT);
         ambient.setLooping(true);
+        ambient.setVolume(AMBIENT_SOUND_VOLUME);
         ambient.play();
 
         final Image balcony = new TablexiaNoBlendingImage(getScreenTextureRegion(isWinter ? BALCONY_WINTER : BALCONY));
         setActorToFullScene(balcony);
         getStage().addActor(balcony);
 
-        Image balconyNewsTitle = new Image(getScreenTextureRegion(BALCONY_NEWS_TITLE));
-        setActorToFullScene(balconyNewsTitle);
+        Image balconyNewsTitle = ScaleUtil.createImageWidthPosition(getScreenTextureRegion(BALCONY_NEWS_TITLE),
+                balcony.getWidth() * PanoramaActorsLayout.NEWSPAPERS_TITLE_WIDTH,
+                NEWSPAPER_TITLE_POSITION.x * balcony.getWidth(),
+                NEWSPAPER_TITLE_POSITION.y * balcony.getHeight());
         balconyNewsTitle.setTouchable(Touchable.disabled);
         getStage().addActor(balconyNewsTitle);
 
@@ -424,7 +441,11 @@ public class PanoramaScreen extends AbstractTablexiaScreen<int[][]> {
 			private Color getTouchedColor(float x, float y) {
 				int clickX = (int) (x / TablexiaSettings.getSceneWidth(getStage()) * clickmap.getRegionWidth());
 				int clickY = clickmap.getRegionHeight() - (int) (y / TablexiaSettings.getSceneInnerHeight(getStage()) * clickmap.getRegionHeight());
-				return new Color(getData()[clickX][clickY]);
+
+                if( clickX < 0 || clickY < 0 || clickX > getData().length || clickY > getData()[0].length)
+                    return Color.WHITE;
+                else
+				    return new Color(getData()[clickX][clickY]);
 			}
 		});
     }
@@ -623,6 +644,7 @@ public class PanoramaScreen extends AbstractTablexiaScreen<int[][]> {
      */
     private Actor prepareSwipeStreet() {
         ambient = getMusic(AMBIENT_STREET);
+        ambient.setVolume(AMBIENT_SOUND_VOLUME);
         ambient.setLooping(true);
         ambient.play();
 
@@ -726,32 +748,51 @@ public class PanoramaScreen extends AbstractTablexiaScreen<int[][]> {
         Table group = new Table();
         group.setBounds(getSceneLeftX(), getSceneOuterBottomY(), getSceneWidth(), getSceneOuterHeight());
 
-        TablexiaNoBlendingImage tile00 = ScaleUtil.createNoBlendingImageToHeight(getScreenTextureRegion(GFX_PATH + "swipe/tile0"), panel.getHeight());
-        TablexiaNoBlendingImage tile01 = ScaleUtil.createNoBlendingImageToHeight(getScreenTextureRegion(GFX_PATH + "swipe/tile1"), panel.getHeight());
+        TablexiaNoBlendingImage tile00 = new TablexiaNoBlendingImage(getScreenTextureRegion(GFX_PATH + "swipe/tile0"));
+        TablexiaNoBlendingImage tile01 = new TablexiaNoBlendingImage(getScreenTextureRegion(GFX_PATH + "swipe/tile1"));
+
+        tile00.setSize((int) (panel.getHeight() * (tile00.getWidth() / tile00.getHeight())), panel.getHeight());
+        tile01.setSize((int) (panel.getHeight() * (tile01.getWidth() / tile01.getHeight())), panel.getHeight());
+
         group.add(tile00).height(tile00.getHeight()).width(tile00.getWidth());
         group.add(tile01).height(tile01.getHeight()).width(tile01.getWidth());
-
         //tile2
-        Stack tile2 = new Stack();
-        TablexiaNoBlendingImage tile02 = ScaleUtil.createNoBlendingImageToHeight(getScreenTextureRegion(GFX_PATH + "swipe/tile2"), panel.getHeight());
-        tile2.add(tile02);
-        tile2.add(ScaleUtil.createImageToHeight(getScreenTextureRegion(GFX_PATH + "swipe/tile2_title"), panel.getHeight()));
+        Group tile2 = new Group();
+        TablexiaNoBlendingImage tile02 = new TablexiaNoBlendingImage(getScreenTextureRegion(GFX_PATH + "swipe/tile2"));
+        tile02.setSize((int) (panel.getHeight() * (tile02.getWidth() / tile02.getHeight())), panel.getHeight());
+        tile2.addActor(tile02);
+        Image tile02_title = ScaleUtil.createImageWidthPosition(
+                getScreenTextureRegion(GFX_PATH + "swipe/tile2_title"), 
+                tile02.getWidth() * PanoramaActorsLayout.STREET_TILE2_TITLE_IMAGE_WIDTH,
+                SIGN_POSITION.x*tile02.getWidth(),
+                SIGN_POSITION.y*tile02.getHeight());
+
+        tile2.addActor(tile02_title);
         group.add(tile2).width(tile02.getWidth()).height(tile02.getHeight());
-
         //tile3
-        final Image tile3Background = ScaleUtil.createNoBlendingImageToHeight(getScreenTextureRegion(GFX_PATH + "swipe/tile3"), getStage().getHeight());
-        final Image tile3Title = ScaleUtil.createImageToHeight(getScreenTextureRegion(GFX_PATH + "swipe/tile3_title"), getStage().getHeight());
+        final TablexiaNoBlendingImage tile3Background = new TablexiaNoBlendingImage(getScreenTextureRegion(GFX_PATH + "swipe/tile3"));
+        tile3Background.setSize((int) (panel.getHeight() * (tile3Background.getWidth() / tile3Background.getHeight())), panel.getHeight());
+        final Image tile3DoorSign = ScaleUtil.createImageHeightPosition(getScreenTextureRegion(GFX_PATH + "swipe/tile3_door_sign"),
+                tile3Background.getHeight() * PanoramaActorsLayout.STREET_TILE3_DOOR_SIGN_IMAGE_HEIGHT,
+                DOOR_SIGN_POSITION.x * tile3Background.getWidth(),
+                DOOR_SIGN_POSITION.y * tile3Background.getHeight());
+        Image tile3PlateTitle = ScaleUtil.createImageWidthPosition(
+                getScreenTextureRegion(GFX_PATH + "swipe/tile3_plate_title"),
+                tile3Background.getWidth() * PanoramaActorsLayout.STREET_TILE3_PLATE_TITLE_IMAGE_WIDTH,
+                PLATE_TITLE_POSITION.x * tile3Background.getWidth(),
+                PLATE_TITLE_POSITION.y * tile3Background.getHeight());
+        //Detective door group
         final Group detectiveDoor = new Group();
 
-        tile3Title.addListener(new ClickListener() {
+        tile3DoorSign.addListener(new ClickListener() {
             private int knockCount = 0;
 
             @Override
             public void clicked(InputEvent event, float x, float y) {
                 super.clicked(event, x, y);
-                if (x > tile3Background.getWidth() * PanoramaActorsLayout.STREET_DOOR_KNOCK_X && knockCount < NUMBER_OF_OFFICE_KNOCKS) {
+                if (knockCount < NUMBER_OF_OFFICE_KNOCKS) {
                     knockCount++;
-                    Image knock = ScaleUtil.createImageWidthPosition(getScreenTextureRegion(GFX_PATH + "swipe/knock"), getStage().getWidth() * PanoramaActorsLayout.STREET_KNOCK_IMAGE_WIDTH, x, y);
+                    Image knock = ScaleUtil.createImageWidthPosition(getScreenTextureRegion(GFX_PATH + "swipe/knock"), getStage().getWidth() * PanoramaActorsLayout.STREET_KNOCK_IMAGE_WIDTH, tile3DoorSign.getX() + x, tile3DoorSign.getY() + y);
                     detectiveDoor.addActor(knock);
 
                     RunnableAction moveToOffice = new RunnableAction();
@@ -788,14 +829,21 @@ public class PanoramaScreen extends AbstractTablexiaScreen<int[][]> {
         });
 
         detectiveDoor.addActor(tile3Background);
-        detectiveDoor.addActor(tile3Title);
+        detectiveDoor.addActor(tile3DoorSign);
+        detectiveDoor.addActor(tile3PlateTitle);
         detectiveDoor.setSize(tile3Background.getWidth(), tile3Background.getHeight());
         group.add(detectiveDoor);
 
-        scrollpane = new ScrollPane(group);
+        TablexiaNoBlendingImage leftBorder = new TablexiaNoBlendingImage(ApplicationAtlasManager.getInstance().getColorTexture(SWIPE_OVERSCROLL_LEFT_COLOR));
+        leftBorder.setSize(OVERSCROLL_DISTANCE, getSceneInnerHeight());
+
+        TablexiaNoBlendingImage rightBorder = new TablexiaNoBlendingImage(getScreenTextureRegion(SWIPE_OVERSCROLL_RIGHT));
+        rightBorder.setHeight(getSceneInnerHeight());
+
+        scrollpane = new ScrollPaneWithBorders(group, leftBorder, rightBorder);
         scrollpane.setFillParent(true);
         scrollpane.setScrollingDisabled(false, true);
-
+        scrollpane.setupOverscroll(OVERSCROLL_DISTANCE, OVERSCROLL_MIN_SPEED, OVERSCROLL_MAX_SPEED);
         return scrollpane;
     }
 
diff --git a/core/src/cz/nic/tablexia/screen/createuser/panorama/PanoramaActorsLayout.java b/core/src/cz/nic/tablexia/screen/createuser/panorama/PanoramaActorsLayout.java
index a727a8c988acef19a2f1a512c17e37e29e212ade..1962716cafeb70f617dc3aab90f58e75d0b1190a 100644
--- a/core/src/cz/nic/tablexia/screen/createuser/panorama/PanoramaActorsLayout.java
+++ b/core/src/cz/nic/tablexia/screen/createuser/panorama/PanoramaActorsLayout.java
@@ -40,6 +40,8 @@ public class PanoramaActorsLayout {
     public static final float RIGHT_FINGER_MOVE_TO                  = 0.6f;
 
     public static final float HINT_WIDTH                            = 0.5f;
+    
+    public static final float NEWSPAPERS_TITLE_WIDTH                = 0.095f;
 
     public static final float NEWSPAPERS_OPEN_STAGE_1               = 0.0025f;
     public static final float NEWSPAPERS_OPEN_STAGE_2               = 0.05f;
@@ -56,16 +58,19 @@ public class PanoramaActorsLayout {
 
     public static final int NEWSPAPERS_DIALOG_WIDTH                 = 300;
     public static final int NEWSPAPERS_CONTINUE_DIALOG_HEIGHT       = 150;
-    public static final int NEWSPAPERS_BUBBLE_DIALOG_HEIGHT         = 70;
+    public static final int NEWSPAPERS_BUBBLE_DIALOG_HEIGHT         = 90;
 
     public static final float OFFICE_DIALOG_X                       = 0.3f;
     public static final float OFFICE_DIALOG_Y                       = 0.23f;
     public static final float OFFICE_DIALOG_WIDTH                   = 0.3f;
     public static final float OFFICE_DIALOG_HEIGHT                  = 0.085f;
 
-    public static final float STREET_DOOR_KNOCK_X                   = 0.3f;
     public static final float STREET_KNOCK_IMAGE_WIDTH              = 0.2f;
-
+   
+    public static final float STREET_TILE2_TITLE_IMAGE_WIDTH        = 0.15f;
+    public static final float STREET_TILE3_PLATE_TITLE_IMAGE_WIDTH  = 0.13f;
+    public static final float STREET_TILE3_DOOR_SIGN_IMAGE_HEIGHT   = 0.8f;
+    
     public static final float STREET_OFFICE_TRANSITION_DURATION     = 0.5f;
     public static final float OFFICE_FIRST_DIALOG_DELAY             = 0.25f;
 
diff --git a/core/src/cz/nic/tablexia/screen/encyclopedia/content/model/Header.java b/core/src/cz/nic/tablexia/screen/encyclopedia/content/model/Header.java
index 82d36158151a3e42410737efbfd259ca24d46022..42d07c1fdedc2843c300bf805ac885ee9bba2611 100644
--- a/core/src/cz/nic/tablexia/screen/encyclopedia/content/model/Header.java
+++ b/core/src/cz/nic/tablexia/screen/encyclopedia/content/model/Header.java
@@ -63,8 +63,7 @@ public class Header extends Content {
         if (soundResource != null) {
             final EncyclopediaScreen encyclopediaScreen = ((EncyclopediaScreen) (screen));
             final ImageTablexiaButton button = new ImageTablexiaButton(screen.getText(EncyclopediaAssets.PLAY), encyclopediaScreen.getPlayIcon());
-					button.adaptiveSizeRatio(BUTTON_ADAPTIVE_SIZE_RATIO)
-							.checkable(true);
+					button.adaptiveSizeRatio(BUTTON_ADAPTIVE_SIZE_RATIO).checkable(true);
                     button.setInputListener(new ClickListener() {
                         @Override
                         public void clicked(InputEvent event, float x, float y) {
diff --git a/core/src/cz/nic/tablexia/screen/gamemenu/GameMenuAssets.java b/core/src/cz/nic/tablexia/screen/gamemenu/GameMenuAssets.java
index 6958c7802a132a26a60ac2d277b5b14749dd42e3..ca13a733a9dbb0f38e1ad8bd82caf91ca5cdb2fe 100644
--- a/core/src/cz/nic/tablexia/screen/gamemenu/GameMenuAssets.java
+++ b/core/src/cz/nic/tablexia/screen/gamemenu/GameMenuAssets.java
@@ -40,6 +40,9 @@ public final class GameMenuAssets {
     public static final String BASE_ASSETS_SHOOTING_RANGE = "strelnice";
     public static final String BASE_ASSETS_IN_THE_DARKNESS = "potme";
 
+    public static final String LEFT_OVERSCROLL  = GFX_PATH + "overscroll_left";
+    public static final String RIGHT_OVERSCROLL = GFX_PATH + "overscroll_right";
+
     public static final String BASE_ASSETS_FOREGROUND_POSTFIX = "fore";
     public static final String BASE_ASSETS_MIDDLE_POSTFIX = "mid";
     public static final String BASE_ASSETS_BACKGROUND_POSTFIX = "back";
diff --git a/core/src/cz/nic/tablexia/screen/gamemenu/GameMenuScreen.java b/core/src/cz/nic/tablexia/screen/gamemenu/GameMenuScreen.java
index 1714c5573f5abb0efd74c90f93ef985dbde7bd4d..116a0143dc6a94f9547f08505307c543a920ebc8 100644
--- a/core/src/cz/nic/tablexia/screen/gamemenu/GameMenuScreen.java
+++ b/core/src/cz/nic/tablexia/screen/gamemenu/GameMenuScreen.java
@@ -34,17 +34,19 @@ import cz.nic.tablexia.util.Utility;
  * Edited by Drahomir Karchnak on 2/12/15
  */
 public class GameMenuScreen extends AbstractTablexiaScreen<int[][]> {
+
     public static final String SCREEN_STATE_PAGE_NUMBER = "pageNumber";
     public static final String INTRO_SPEECH             = MFX_PATH + "intro.mp3";
+    public static final float  AMBIENT_SOUND_VOLUME     = 0.5f;
 
     private Music ambientMusic;
 
     public enum GameMenuPageDefinition {
         OFFICE_PAGE(0, null, null, null),
         ROBBERY_PAGE(        1, GameDefinition.ROBBERY,          GameMenuAssets.BASE_ASSETS_ROBBERY,         new Vector2(0.168f, 0.016f)),
-        PURSUIT_PAGE(        2, GameDefinition.PURSUIT,          GameMenuAssets.BASE_ASSETS_PURSUIT,         new Vector2(0f, -0.152f)),
+        PURSUIT_PAGE(        2, GameDefinition.PURSUIT,          GameMenuAssets.BASE_ASSETS_PURSUIT,         new Vector2(0f, -0.12f)),
         KIDNAPPING_PAGE(     3, GameDefinition.KIDNAPPING,       GameMenuAssets.BASE_ASSETS_KIDNAPPING,      new Vector2(-0.080f, -0.219f)),
-        NIGH_WATCH_PAGE(     4, GameDefinition.NIGHT_WATCH,      GameMenuAssets.BASE_ASSETS_NIGHT_WATCH,     new Vector2(-0.300f, -0.219f)),
+        NIGH_WATCH_PAGE(     4, GameDefinition.NIGHT_WATCH,      GameMenuAssets.BASE_ASSETS_NIGHT_WATCH,     new Vector2(-0.330f, -0.219f)),
         SHOOTING_RANGE_PAGE( 5, GameDefinition.SHOOTING_RANGE,   GameMenuAssets.BASE_ASSETS_SHOOTING_RANGE,  new Vector2(0.220f, -0.219f)),
         IN_THE_DARKNESS_PAGE(6, GameDefinition.IN_THE_DARKNESS,  GameMenuAssets.BASE_ASSETS_IN_THE_DARKNESS, new Vector2(-0.340f, 0.028f));
 
@@ -121,7 +123,10 @@ public class GameMenuScreen extends AbstractTablexiaScreen<int[][]> {
         // /game menu pages list, which will be later used for turning on sounds after first scroll
         final List<GameMenuPage> gameMenuPages = new ArrayList<GameMenuPage>();
 
-        pagedScrollPane = new PagedScrollPane();
+        Image leftBorder = new Image(getScreenTextureRegion(GameMenuAssets.LEFT_OVERSCROLL));
+        Image rightBorder = new Image(getScreenTextureRegion(GameMenuAssets.RIGHT_OVERSCROLL));
+
+        pagedScrollPane = new PagedScrollPane(leftBorder, rightBorder);
         pagedScrollPane.setBounds(getSceneLeftX(), getSceneOuterBottomY(), getSceneWidth(), getSceneOuterHeight());
 
         vignette = new Image(getScreenPatch(GameMenuAssets.VIGNETTE));
@@ -203,6 +208,7 @@ public class GameMenuScreen extends AbstractTablexiaScreen<int[][]> {
 
     private void playAmbientMusic() {
         ambientMusic = getMusic(GameMenuAssets.AMBIENT_MUSIC);
+        ambientMusic.setVolume(AMBIENT_SOUND_VOLUME);
         ambientMusic.setLooping(true);
         ambientMusic.play();
     }
diff --git a/core/src/cz/nic/tablexia/screen/gamemenu/PagedScrollPane.java b/core/src/cz/nic/tablexia/screen/gamemenu/PagedScrollPane.java
index d1d30cc51d7b3ea51e2f29bcf3561217f66023a0..c48a065b2fd7ddbc9125a6fa41b4cbc897c4c501 100644
--- a/core/src/cz/nic/tablexia/screen/gamemenu/PagedScrollPane.java
+++ b/core/src/cz/nic/tablexia/screen/gamemenu/PagedScrollPane.java
@@ -8,9 +8,10 @@ import com.badlogic.gdx.scenes.scene2d.Actor;
 import com.badlogic.gdx.scenes.scene2d.InputEvent;
 import com.badlogic.gdx.scenes.scene2d.InputListener;
 import com.badlogic.gdx.scenes.scene2d.ui.HorizontalGroup;
-import com.badlogic.gdx.scenes.scene2d.ui.ScrollPane;
+import com.badlogic.gdx.scenes.scene2d.ui.Image;
 
 import cz.nic.tablexia.screen.gamemenu.pages.MenuPage;
+import cz.nic.tablexia.util.ui.ScrollPaneWithBorders;
 
 /**
  * Represents Horizontal Paged Scroll Pane
@@ -18,8 +19,14 @@ import cz.nic.tablexia.screen.gamemenu.pages.MenuPage;
  *
  * Created by Drahomir Karchnak on 01/12/15.
  */
-public class PagedScrollPane extends ScrollPane {
-	private static final int BACKGROUND_SPACING_WORKAROUND = -1;
+public class PagedScrollPane extends ScrollPaneWithBorders {
+	private static final int   BACKGROUND_SPACING_WORKAROUND = -1;
+
+    //TODO - This is overscroll workaround... If you use int distance (like 50) it renders weird gap between menu pages and borders...
+    private static final float OVERSCROLL_DISTANCE           = 49.5f;
+    private static final float OVERSCROLL_MIN_SPEED          = 30f;
+    private static final float OVERSCROLL_MAX_SPEED          = 200f;
+
     private static final int INITIAL_PAGE_NUMBER = GameMenuScreen.GameMenuPageDefinition.OFFICE_PAGE.getPageNumber();
 
 	private HorizontalGroup content;
@@ -34,8 +41,8 @@ public class PagedScrollPane extends ScrollPane {
 
 	private int backgroundTotalWidth;
 
-    public PagedScrollPane() {
-        super(null);
+    public PagedScrollPane(Image leftBorder, Image rightBorder) {
+        super(null, leftBorder, rightBorder);
         prepareScrollPane();
         prepareInput();
 
@@ -46,13 +53,14 @@ public class PagedScrollPane extends ScrollPane {
      * Prepares ScrollPane and it's content
      */
     private void prepareScrollPane() {
-		content = new HorizontalGroup();
+        content = new HorizontalGroup();
 		content.space(BACKGROUND_SPACING_WORKAROUND);
-		super.setWidget(content);
+        super.setWidget(content);
 
         setFlingTime(0);
         setScrollingDisabled(false, true);
         setCancelTouchFocus(false);
+        setupOverscroll(OVERSCROLL_DISTANCE, OVERSCROLL_MIN_SPEED, OVERSCROLL_MAX_SPEED);
     }
 
 	@Override
@@ -93,7 +101,7 @@ public class PagedScrollPane extends ScrollPane {
 				//Is page visible ?
 				if(posX < getWidth() && posX + page.getWidth() > 0) {
 					batch.draw(page.getBackgroundTextureRegion(),
-							posX,
+							MathUtils.ceil(posX),
 							getY() + getHeight() - page.getBackgroundTextureRegion().getRegionHeight(),
 							backgroundWidth,
 							page.getBackgroundTextureRegion().getRegionHeight());
diff --git a/core/src/cz/nic/tablexia/screen/gamemenu/pages/GameMenuPage.java b/core/src/cz/nic/tablexia/screen/gamemenu/pages/GameMenuPage.java
index f8fa14e5cb6a92617e239ce68876170391888057..a1de6a256b07bee852ac253badb680ad599d3394 100644
--- a/core/src/cz/nic/tablexia/screen/gamemenu/pages/GameMenuPage.java
+++ b/core/src/cz/nic/tablexia/screen/gamemenu/pages/GameMenuPage.java
@@ -1,5 +1,6 @@
 package cz.nic.tablexia.screen.gamemenu.pages;
 
+import com.badlogic.gdx.Gdx;
 import com.badlogic.gdx.audio.Music;
 import com.badlogic.gdx.graphics.Color;
 import com.badlogic.gdx.graphics.g2d.Batch;
@@ -7,6 +8,7 @@ import com.badlogic.gdx.graphics.g2d.TextureRegion;
 import com.badlogic.gdx.math.MathUtils;
 import com.badlogic.gdx.scenes.scene2d.Actor;
 import com.badlogic.gdx.scenes.scene2d.InputEvent;
+import com.badlogic.gdx.scenes.scene2d.InputListener;
 import com.badlogic.gdx.scenes.scene2d.actions.Actions;
 import com.badlogic.gdx.scenes.scene2d.actions.SequenceAction;
 import com.badlogic.gdx.scenes.scene2d.ui.Image;
@@ -14,6 +16,8 @@ import com.badlogic.gdx.scenes.scene2d.ui.Stack;
 import com.badlogic.gdx.scenes.scene2d.utils.ClickListener;
 import com.badlogic.gdx.utils.Align;
 
+import net.engio.mbassy.listener.Handler;
+
 import cz.nic.tablexia.Tablexia;
 import cz.nic.tablexia.TablexiaApplication;
 import cz.nic.tablexia.TablexiaSettings;
@@ -21,6 +25,7 @@ import cz.nic.tablexia.bus.ApplicationBus;
 import cz.nic.tablexia.game.GameDefinition;
 import cz.nic.tablexia.game.difficulty.GameDifficulty;
 import cz.nic.tablexia.loader.application.ApplicationFontManager;
+import cz.nic.tablexia.model.UserDifficultySettingsDAO;
 import cz.nic.tablexia.screen.gamemenu.GameMenuAssets;
 import cz.nic.tablexia.screen.gamemenu.GameMenuScreen;
 import cz.nic.tablexia.util.MusicUtil;
@@ -73,6 +78,8 @@ public class GameMenuPage extends MenuPage {
     private static final float DIFFICULTY_BAR_EDGE_OFFSET   = 14/251f;
 
     private static final float INTRO_SOUND_DELAY    =   1.0f; //Delay in seconds
+    
+    private static final int DRAGGING_THRESHOLD = 20;
 
     //Font for difficulty labels
     private static final ApplicationFontManager.FontType_NEW LABELS_FONT_STYLE = ApplicationFontManager.FontType_NEW.BOLD_18;
@@ -96,8 +103,8 @@ public class GameMenuPage extends MenuPage {
 
     private Music introSound;
 
-    //Can we play the step sounds on difficulty change ?
-    private boolean stepSoundsReady = false;
+    //Enabled playing sound steps on difficulty change
+    private boolean stepSoundsEnabled = false;
 
     //Step sounds assets
     private Music step_easy_medium, step_medium_easy;
@@ -131,7 +138,10 @@ public class GameMenuPage extends MenuPage {
 		prepareTitle();
         prepareStartButton();
         prepareDifficulty();
-    }
+
+		// init event bus handlers
+		ApplicationBus.getInstance().subscribe(this);
+	}
 
 	private void prepareBackground() {
 		background = getScreen().getScreenTextureRegion(   GameMenuScreen.GameMenuPageDefinition.getResourcePath(game, GameMenuAssets.AssetType.BACK));
@@ -145,8 +155,8 @@ public class GameMenuPage extends MenuPage {
 
     private void prepareForegroundLayer() {
         this.foregroundLayer = getScreen().getScreenTextureRegion(
-            GameMenuScreen.GameMenuPageDefinition.getResourcePath(game, GameMenuAssets.AssetType.FORE)
-        );
+				GameMenuScreen.GameMenuPageDefinition.getResourcePath(game, GameMenuAssets.AssetType.FORE)
+		);
     }
 
 	/**
@@ -198,8 +208,7 @@ public class GameMenuPage extends MenuPage {
         TextureRegion startReleased = getScreen().getScreenTextureRegion(GameMenuScreen.GameMenuPageDefinition.getResourcePath(game, GameMenuAssets.AssetType.STARTBUTTON_PRESSED));
 
         TablexiaButton startButton = new TablexiaButton(null, false, startPressed, startReleased, null, null)
-                .adaptiveSize(true)
-                .useOnce(true);
+                .adaptiveSize(true);
 
 		// Size
         int startWidth = (int) (getScreen().getSceneWidth() * START_BUTTON_WIDTH);
@@ -219,13 +228,35 @@ public class GameMenuPage extends MenuPage {
 
 		startButton.setSize(startWidth, startHeight);
 		startButton.setPosition(startX, startY);
+        
+        startButton.setInputListener(new InputListener(){
+            
+            private boolean dragged;
+            private float startX;
+            
+            @Override
+            public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
+                super.touchDown(event, x, y, pointer, button);
+                dragged = false;
+                startX = x;
+                return true;
+            }
+            
+            @Override
+            public void touchUp(InputEvent event, float x, float y, int pointer, int button) {
+                super.touchUp(event, x, y, pointer, button);
+                if (!dragged){
+                        ApplicationBus.getInstance().publishAsync(new Tablexia.ChangeScreenEvent(GameMenuPage.this.game.getScreenClass(),
+                                TablexiaApplication.ScreenTransaction.FADE));
+                }
+            }
 
-        startButton.setInputListener(new ClickListener() {
             @Override
-            public void clicked(InputEvent event, float x, float y) {
-                ApplicationBus.getInstance().publishAsync(new Tablexia.ChangeScreenEvent(GameMenuPage.this.game.getScreenClass(),
-                        TablexiaApplication.ScreenTransaction.FADE));
-                super.clicked(event, x, y);
+            public void touchDragged(InputEvent event, float x, float y, int pointer) {
+                super.touchDragged(event, x, y, pointer);
+                if (Math.abs(startX-x)>DRAGGING_THRESHOLD){
+                    dragged =true;
+                }
             }
         });
 
@@ -236,6 +267,8 @@ public class GameMenuPage extends MenuPage {
      * Creates and prepares Difficulty slider, Difficulty labels and Buttons
      */
     public void prepareDifficulty() {
+        stepSoundsEnabled = false;
+
         final float difficultyY = getScreen().getSceneInnerHeight() * DIFFICULTY_BOTTOM_OFFSET - pagedScrollPaneOffsetY;
 
         // Difficulty bar
@@ -252,7 +285,6 @@ public class GameMenuPage extends MenuPage {
         diffBarImage.setSize(diffBarWidth, diffBarHeight);
         addActor(diffBarImage);
 
-
         //Difficulty Thumb
         final TextureRegion diff = getScreen().getScreenTextureRegion(GameMenuAssets.DIFF_THUMB_EASY);
 
@@ -307,27 +339,21 @@ public class GameMenuPage extends MenuPage {
         buttonDifficultyEasy.addListener(new ClickListener() {
             @Override
             public void clicked(InputEvent event, float x, float y) {
-                super.clicked(event, x, y);
-                difficultyChanged(GameDifficulty.EASY);
-                dragSwitchListener.switchToStep(gameDifficulty.getDifficultyNumber() - 1);
+                dragSwitchListener.switchToStep(GameDifficulty.EASY.getDifficultyNumber() - 1);
             }
         });
 
         buttonDifficultyMedium.addListener(new ClickListener() {
             @Override
             public void clicked(InputEvent event, float x, float y) {
-                super.clicked(event, x, y);
-                difficultyChanged(GameDifficulty.MEDIUM);
-                dragSwitchListener.switchToStep(gameDifficulty.getDifficultyNumber() - 1);
+                dragSwitchListener.switchToStep(GameDifficulty.MEDIUM.getDifficultyNumber() - 1);
             }
         });
 
         buttonDifficultyHard.addListener(new ClickListener() {
             @Override
             public void clicked(InputEvent event, float x, float y) {
-                super.clicked(event, x, y);
-                difficultyChanged(GameDifficulty.HARD);
-                dragSwitchListener.switchToStep(gameDifficulty.getDifficultyNumber() - 1);
+                dragSwitchListener.switchToStep(GameDifficulty.HARD.getDifficultyNumber() - 1);
             }
         });
 
@@ -356,29 +382,13 @@ public class GameMenuPage extends MenuPage {
                     diffStack.getChildren().get(i).setVisible(i == step);
                     if(i == step) {
                         if(lastDragDifficultyStep != step) {
-                            GameDifficulty difficulty;
-
-                            switch (step) {
-                                case 0:
-                                    difficulty = GameDifficulty.EASY;
-                                    break;
-                                case 1:
-                                    difficulty = GameDifficulty.MEDIUM;
-                                    break;
-                                case 2:
-                                    difficulty = GameDifficulty.HARD;
-                                    break;
-                                default:
-                                    difficulty = GameDifficulty.DEFAULT_DIFFICULTY;
-                            }
+                            GameDifficulty difficulty = GameDifficulty.getGameDifficultyForDifficultyNumber(step + 1);
+                            GameDifficulty previous = GameDifficulty.getGameDifficultyForDifficultyNumber(lastDragDifficultyStep + 1);
 
-                            if(stepSoundsReady) {
-                                playStepSound(gameDifficulty, difficulty);
-                            } else {
-                                stepSoundsReady = true;
+                            if (stepSoundsEnabled) {
+                                playStepSound(previous, difficulty);
                             }
 
-                            difficultyChanged(difficulty);
                             lastDragDifficultyStep = step;
                         }
                     }
@@ -391,8 +401,10 @@ public class GameMenuPage extends MenuPage {
                 difficultyChanged(GameDifficulty.getVisibleGameDifficultyList().get(step));
             }
         });
-        gameDifficulty = TablexiaSettings.getInstance().getGameDifficulty(game);
+        gameDifficulty = UserDifficultySettingsDAO.getUserSettingsByGame(TablexiaSettings.getInstance().getSelectedUser().getId(), game.getGameNumber());
         dragSwitchListener.switchToStep(gameDifficulty.getDifficultyNumber() - 1);
+
+        stepSoundsEnabled = true;
     }
 
     /**
@@ -400,10 +412,17 @@ public class GameMenuPage extends MenuPage {
      *
      * @param difficulty
      */
-    public void difficultyChanged(GameDifficulty difficulty) {
+    public void difficultyChanged(final GameDifficulty difficulty) {
         gameDifficulty = difficulty;
         TablexiaSettings.getInstance().setGameDifficulty(game, difficulty);
-    }
+
+		new Runnable() {
+			@Override
+			public void run() {
+				UserDifficultySettingsDAO.saveSettingsForUser(TablexiaSettings.getInstance().getSelectedUser().getId(), game.getGameNumber(), difficulty.getDifficultyNumber());
+			}
+		}.run();
+	}
 
     private void playStepSound(GameDifficulty previous, GameDifficulty current) {
         switch (previous) {
@@ -544,4 +563,19 @@ public class GameMenuPage extends MenuPage {
     public void setIsFirstLogin(boolean isFirstLogin) {
         this.isFirstLogin = isFirstLogin;
     }
-}
+
+	@Handler
+	public void handleSelectedUserEvent(final TablexiaSettings.SelectedUserEvent selectedUserEvent) {
+		Gdx.app.postRunnable(new Runnable() {
+			@Override
+			public void run() {
+				if (selectedUserEvent.isUserSelected()) {
+                    stepSoundsEnabled = false;
+					gameDifficulty = UserDifficultySettingsDAO.getUserSettingsByGame(TablexiaSettings.getInstance().getSelectedUser().getId(), game.getGameNumber());
+					dragSwitchListener.switchToStep(gameDifficulty.getDifficultyNumber() - 1);
+                    stepSoundsEnabled = true;
+				}
+			}
+		});
+	}
+}
\ No newline at end of file
diff --git a/core/src/cz/nic/tablexia/screen/halloffame/HallOfFameScreen.java b/core/src/cz/nic/tablexia/screen/halloffame/HallOfFameScreen.java
index b20e64391c673ae8f02c6ad4bb5b6dd29734899f..9407a89267e9da6fbed4fdb1ac2b6ae7d448811d 100644
--- a/core/src/cz/nic/tablexia/screen/halloffame/HallOfFameScreen.java
+++ b/core/src/cz/nic/tablexia/screen/halloffame/HallOfFameScreen.java
@@ -1,11 +1,11 @@
 package cz.nic.tablexia.screen.halloffame;
 
 import com.badlogic.gdx.graphics.Color;
-import com.badlogic.gdx.graphics.g2d.BitmapFont;
 import com.badlogic.gdx.graphics.g2d.DistanceFieldFont;
 import com.badlogic.gdx.graphics.g2d.GlyphLayout;
 import com.badlogic.gdx.graphics.g2d.Sprite;
 import com.badlogic.gdx.graphics.g2d.TextureRegion;
+import com.badlogic.gdx.math.MathUtils;
 import com.badlogic.gdx.math.Vector2;
 import com.badlogic.gdx.scenes.scene2d.Group;
 import com.badlogic.gdx.scenes.scene2d.InputEvent;
@@ -46,7 +46,10 @@ import cz.nic.tablexia.shared.model.User;
 import cz.nic.tablexia.util.Log;
 import cz.nic.tablexia.util.Point;
 import cz.nic.tablexia.util.structure.Trio;
+import cz.nic.tablexia.util.ui.ComponentScaleUtil;
+import cz.nic.tablexia.util.ui.ScrollPaneWithBorders;
 import cz.nic.tablexia.util.ui.TablexiaLabel;
+import cz.nic.tablexia.util.ui.TablexiaNoBlendingImage;
 import cz.nic.tablexia.util.ui.dialog.TablexiaComponentDialog;
 import cz.nic.tablexia.util.ui.dialog.TablexiaComponentDialogFactory;
 import cz.nic.tablexia.util.ui.dialog.components.AdaptiveSizeDialogComponent;
@@ -64,11 +67,13 @@ import cz.nic.tablexia.util.ui.dialog.components.TwoColumnTextContentDialogCompo
 public class HallOfFameScreen extends AbstractTablexiaScreen<Map<ITrophyDefinition, Boolean>> {
 
     private static final Point  SCREEN_SIZE = new Point(TablexiaSettings.getWorldSize(), TablexiaSettings.getMinWorldHeight());
-    private static final int    TROPHY_DIALOG_WIDTH             = 350;
-    private static final int    TROPHY_DIALOG_HEIGHT            = 350;
-    private static final int    BACKGROUND_TILE_REPEAT_COUNT    = 22;
-    private static final float  TILE_SCREE_WIDTH_RATIO          = 0.25f;
-    private static final long   MOUSE_DIALOG_DURATION           = 5000;
+    private static final int    TROPHY_DIALOG_WIDTH                 = 350;
+    private static final int    TROPHY_DIALOG_HEIGHT                = 350;
+    private static final int    BACKGROUND_TILE_REPEAT_COUNT        = 22;
+    private static final float  TILE_SCREE_WIDTH_RATIO              = 0.25f;
+    private static final long   MOUSE_DIALOG_DURATION               = 5000;
+    private static final float  MOUSE_DIALOG_PADDING                = 8;
+    private static final float  MOUSE_DIALOG_PADDING_TRESHOLD_SCALE = 1.7f;
 
     public static final     String  HALL_OF_FAME_SPEECH             = MFX_PATH + "halloffame.mp3";
     private static final    String  SCREEN_STATE_SCROLL_POSITION_X  = "scrollPositionX";
@@ -98,8 +103,9 @@ public class HallOfFameScreen extends AbstractTablexiaScreen<Map<ITrophyDefiniti
 
     private HorizontalGroup backgroundGroup;
     private Group foregroundGroup;
+    private TablexiaNoBlendingImage wallImage;
 
-    private ScrollPane scrollPane;
+    private ScrollPaneWithBorders scrollPane;
 
     @Override
     protected Viewport createViewport() {
@@ -129,7 +135,8 @@ public class HallOfFameScreen extends AbstractTablexiaScreen<Map<ITrophyDefiniti
         contentStack.addActor(foregroundGroup);
         contentStack.setDebug(TablexiaSettings.getInstance().isShowBoundingBoxes());
 
-        scrollPane = new ScrollPane(contentStack);
+        wallImage = new TablexiaNoBlendingImage(getScreenTextureRegion(HallOfFameAssets.HALL_OF_FAME_WALL));
+        scrollPane = new ScrollPaneWithBorders(contentStack, wallImage);
         scrollPane.setScrollingDisabled(false, true);
         scrollPane.setFillParent(true);
 
@@ -388,11 +395,15 @@ public class HallOfFameScreen extends AbstractTablexiaScreen<Map<ITrophyDefiniti
                 GlyphLayout layout = new GlyphLayout();
                 layout.setText(font, text);
 
+                float padding = ComponentScaleUtil.isUnderThreshold() ? MOUSE_DIALOG_PADDING * MOUSE_DIALOG_PADDING_TRESHOLD_SCALE : MOUSE_DIALOG_PADDING;
+                float dialogWidth  = layout.width * defaultFontType.getScale() + 2 * padding;
+                float dialogHeight = layout.height;
+
                 final TablexiaComponentDialog tcd = TablexiaComponentDialogFactory.getInstance().createDialog(
                         getStage(),
                         TablexiaComponentDialog.TablexiaDialogType.BUBBLE_ROUNDED,
                         components.toArray(new TablexiaDialogComponentAdapter[]{}));
-                tcd.show(layout.width * defaultFontType.getScale(), layout.height);
+                tcd.show(dialogWidth, dialogHeight);
 
                 timer.schedule(new TimerTask() {
                     @Override
@@ -441,4 +452,4 @@ public class HallOfFameScreen extends AbstractTablexiaScreen<Map<ITrophyDefiniti
         }
         return achievedTrophies;
     }
-}
+}
\ No newline at end of file
diff --git a/core/src/cz/nic/tablexia/screen/halloffame/assets/HallOfFameAssets.java b/core/src/cz/nic/tablexia/screen/halloffame/assets/HallOfFameAssets.java
index 78000b73c0c5faf66d34cbe05b3ad610539d4dcb..72c7cf5a53890a6e071376860befa82f35be5904 100644
--- a/core/src/cz/nic/tablexia/screen/halloffame/assets/HallOfFameAssets.java
+++ b/core/src/cz/nic/tablexia/screen/halloffame/assets/HallOfFameAssets.java
@@ -14,6 +14,7 @@ public final class HallOfFameAssets {
     public static final String HALL_OF_FAME_DOOR_TITLE              = HALL_OF_FAME_ASSET_PREFIX + "background_start_title";
     public static final String HALL_OF_FAME_DOOR_BUTTON_PRESSED     = HALL_OF_FAME_ASSET_PREFIX + "background_door_pressed";
     public static final String HALL_OF_FAME_DOOR_BUTTON_UNPRESSED   = HALL_OF_FAME_ASSET_PREFIX + "background_door_unpressed";
+    public static final String HALL_OF_FAME_WALL                    = HALL_OF_FAME_ASSET_PREFIX + "wall";
 
     public static final String HALL_OF_FAME_MOUSE_PRESSED       = HALL_OF_FAME_ASSET_PREFIX + "mouse_pressed";
     public static final String HALL_OF_FAME_MOUSE_UNPRESSED     = HALL_OF_FAME_ASSET_PREFIX + "mouse_unpressed";
diff --git a/core/src/cz/nic/tablexia/screen/loader/LoaderAssets.java b/core/src/cz/nic/tablexia/screen/loader/LoaderAssets.java
index 65733ba486780b9b9c0af8a9568510b3754e0741..7ef0bbf028f700d00248f82fa53260c6263d80c0 100644
--- a/core/src/cz/nic/tablexia/screen/loader/LoaderAssets.java
+++ b/core/src/cz/nic/tablexia/screen/loader/LoaderAssets.java
@@ -20,11 +20,6 @@ public class LoaderAssets {
 
     public static final String LOADER_BAR_BACKGROUND = BASE_PATH + "bar_bg.png";
     public static final String LOADER_BAR_FOREGROUND = BASE_PATH + "bar_fg.png";
-    public static final String LOADER_BAR_SHADOW     = BASE_PATH + "bar_shadow.png";
-
-    //Nine patch values for shadow texture
-    public static final int LOADER_BAR_SHADOW_LEFT_RIGHT   = 45;
-    public static final int LOADER_BAR_SHADOW_TOP_BOTTOM   =  2;
 
     public static final String LOADER_STATUS_CHECK      = "loading_status_check";
     public static final String LOADER_STATUS_DOWNLOAD   = "loading_status_download";
diff --git a/core/src/cz/nic/tablexia/screen/loader/LoaderScreen.java b/core/src/cz/nic/tablexia/screen/loader/LoaderScreen.java
index 62ef7f3197b4153a5b1cfe7c3f49ee2fca459c31..e1f3699f98c2e6f21a6ee2852dfc44047a4d3996 100644
--- a/core/src/cz/nic/tablexia/screen/loader/LoaderScreen.java
+++ b/core/src/cz/nic/tablexia/screen/loader/LoaderScreen.java
@@ -2,6 +2,7 @@ package cz.nic.tablexia.screen.loader;
 
 import com.badlogic.gdx.Gdx;
 import com.badlogic.gdx.audio.Music;
+import com.badlogic.gdx.graphics.Color;
 import com.badlogic.gdx.graphics.Texture;
 import com.badlogic.gdx.graphics.g2d.NinePatch;
 import com.badlogic.gdx.scenes.scene2d.actions.Actions;
@@ -18,6 +19,7 @@ import cz.nic.tablexia.TablexiaSettings;
 import cz.nic.tablexia.bus.ApplicationBus;
 import cz.nic.tablexia.loader.TablexiaAbstractFileManager;
 import cz.nic.tablexia.loader.TablexiaTextureManager;
+import cz.nic.tablexia.loader.application.ApplicationAtlasManager;
 import cz.nic.tablexia.loader.zip.ZipAssetLoader;
 import cz.nic.tablexia.menu.AbstractMenu;
 import cz.nic.tablexia.menu.user.UserMenu;
@@ -41,9 +43,10 @@ public class LoaderScreen extends AbstractTablexiaScreen<Void> {
     private static final float LAUNCH_LOGO_Y_TOP_OFFSET		= 0.10f;
 
     //Loading Bar
+    private static final Color LOADING_BAR_SHADOW_COLOR     = Color.BLACK;
     private static final float LOADING_BAR_WIDTH            = 0.52f;
     private static final float LOADING_BAR_OFFSET_Y         = 0.16f;
-	private static final float LOADING_BAR_FADE_IN_TIME		= 0.5f;
+    private static final float LOADING_BAR_FADE_IN_TIME		= 0.5f;
     private static final float LOADING_BAR_FADE_OUT_TIME	= 0.5f;
 
 	//Loading Status Text
@@ -59,7 +62,7 @@ public class LoaderScreen extends AbstractTablexiaScreen<Void> {
 
     public static final String LOGIN_SPEECH                 = MFX_PATH + "login.mp3";
 
-	private TablexiaTextureManager textureManager;
+    private TablexiaTextureManager textureManager;
     private String backgroundAsset = LoaderAssets.LOADER_BACKGROUND;
 
 	private LoadingBar loadingBar;
@@ -204,7 +207,6 @@ public class LoaderScreen extends AbstractTablexiaScreen<Void> {
 
         textureManager.loadTexture(LoaderAssets.LOADER_BAR_BACKGROUND);
         textureManager.loadTexture(LoaderAssets.LOADER_BAR_FOREGROUND);
-        textureManager.loadTexture(LoaderAssets.LOADER_BAR_SHADOW);
         textureManager.finishLoading();
     }
 
@@ -315,15 +317,11 @@ public class LoaderScreen extends AbstractTablexiaScreen<Void> {
         LoadingBar.LoadingBarSkin skin = new LoadingBar.LoadingBarSkin(
                 textureManager.getTexture(LoaderAssets.LOADER_BAR_FOREGROUND),
                 textureManager.getTexture(LoaderAssets.LOADER_BAR_BACKGROUND),
-                new NinePatch(
-                    textureManager.getTexture(LoaderAssets.LOADER_BAR_SHADOW),
-                    LoaderAssets.LOADER_BAR_SHADOW_LEFT_RIGHT,
-                    LoaderAssets.LOADER_BAR_SHADOW_LEFT_RIGHT,
-                    LoaderAssets.LOADER_BAR_SHADOW_TOP_BOTTOM,
-                    LoaderAssets.LOADER_BAR_SHADOW_TOP_BOTTOM
-                )
+                LOADING_BAR_SHADOW_COLOR
         );
 
+        ApplicationAtlasManager.getInstance().getColorTexture(Color.BLACK);
+
         //Creates loading bar
         this.loadingBar = new LoadingBar(0, skin);
 
@@ -376,4 +374,10 @@ public class LoaderScreen extends AbstractTablexiaScreen<Void> {
 
         loadingStatusText.addAction(new SequenceAction(Actions.fadeOut(time), Actions.visible(false)));
     }
+
+    @Override
+    protected void screenDisposed() {
+        super.screenDisposed();
+        loadingBar.dispose();
+    }
 }
\ No newline at end of file
diff --git a/core/src/cz/nic/tablexia/screen/loader/LoadingBar.java b/core/src/cz/nic/tablexia/screen/loader/LoadingBar.java
index 81a50fa50111fbc1f2d5b21b5a6b90f8f4ecf8ae..653eb98d45d681bca7f0e8eb0b8d041de43b0be6 100644
--- a/core/src/cz/nic/tablexia/screen/loader/LoadingBar.java
+++ b/core/src/cz/nic/tablexia/screen/loader/LoadingBar.java
@@ -3,10 +3,11 @@ package cz.nic.tablexia.screen.loader;
 import com.badlogic.gdx.graphics.Color;
 import com.badlogic.gdx.graphics.Texture;
 import com.badlogic.gdx.graphics.g2d.Batch;
-import com.badlogic.gdx.graphics.g2d.NinePatch;
 import com.badlogic.gdx.math.MathUtils;
 import com.badlogic.gdx.scenes.scene2d.Actor;
 
+import cz.nic.tablexia.loader.application.ApplicationAtlasManager;
+
 /**
  * Created by Drahomir Karchnak on 09/12/15.
  * Simple Loading Bar...
@@ -18,16 +19,17 @@ public class LoadingBar extends Actor {
      */
     public static class LoadingBarSkin {
         private Texture foregroundImage, backgroundImage;
-        private NinePatch shadow;
+        private Texture shadowImage;
 
-        public LoadingBarSkin(Texture foregroundImage, Texture backgroundImage, NinePatch shadow) {
+        public LoadingBarSkin(Texture foregroundImage, Texture backgroundImage, Color shadowColor) {
             super();
             this.foregroundImage = foregroundImage;
             this.backgroundImage = backgroundImage;
+            this.shadowImage     = ApplicationAtlasManager.getInstance().getColorTexture(shadowColor);
 
             this.foregroundImage.setFilter(Texture.TextureFilter.Linear, Texture.TextureFilter.Linear);
             this.backgroundImage.setFilter(Texture.TextureFilter.Linear, Texture.TextureFilter.Linear);
-            this.shadow = shadow;
+            this.shadowImage.setFilter(Texture.TextureFilter.Nearest, Texture.TextureFilter.Nearest);
         }
 
         public Texture getForegroundImage() {
@@ -38,8 +40,14 @@ public class LoadingBar extends Actor {
             return backgroundImage;
         }
 
-        public NinePatch getShadow() {
-            return shadow;
+        public Texture getShadow() {
+            return shadowImage;
+        }
+
+        public void dispose() {
+            foregroundImage.dispose();
+            backgroundImage.dispose();
+            shadowImage.dispose();
         }
     }
 
@@ -103,9 +111,9 @@ public class LoadingBar extends Actor {
                     idleCurrent -= step;
                 }
             }
-        }
 
-        current = MathUtils.clamp(current, 0, 1 - IDLE_BAR_WIDTH);
+            idleCurrent = MathUtils.clamp(idleCurrent, 0, 1 - IDLE_BAR_WIDTH);
+        }
     }
 
     @Override
@@ -114,26 +122,8 @@ public class LoadingBar extends Actor {
 
         batch.enableBlending();
 
-        Color batchColor = batch.getColor();
-        float originalAlpha = batchColor.a;
-        batchColor.a *= SHADOW_ALPHA_VALUE;
-        batch.setColor(batchColor);
-
-        /*
-         * Draw Shadow Layer
-         */
-        skin.shadow.draw(
-            batch,
-            getX() - SHADOW_LEFT_PADDING * getWidth(),
-            getY() - SHADOW_BOTTOM_PADDING * getHeight(),
-            getWidth() + (SHADOW_LEFT_PADDING + SHADOW_RIGHT_PADDING) * getWidth(),
-            getHeight() + (SHADOW_BOTTOM_PADDING + SHADOW_TOP_PADDING) * getHeight()
-        );
-        batchColor.a = originalAlpha;
-        batch.setColor(batchColor);
-
         /*
-         * Draw Background Layer
+         * Variables for Background/Progress Layer
          */
         float borderX = (skin.foregroundImage.getWidth() - skin.backgroundImage.getWidth()) / 2;
         float borderY = (skin.foregroundImage.getHeight() - skin.backgroundImage.getHeight()) / 2;
@@ -144,6 +134,28 @@ public class LoadingBar extends Actor {
         float offsetX = relativeBorderX * getWidth();
         float offsetY = relativeBorderY * getHeight();
 
+        /*
+         * Draw Shadow Layer
+         */
+        Color batchColor = batch.getColor();
+        float originalAlpha = batchColor.a;
+        batchColor.a *= SHADOW_ALPHA_VALUE;
+        batch.setColor(batchColor);
+
+        batch.draw(
+                skin.shadowImage,
+                getX() + offsetX,
+                getY() + offsetY,
+                getWidth()  - 2 * offsetX,
+                getHeight() - 2 * offsetY
+        );
+
+        batchColor.a = originalAlpha;
+        batch.setColor(batchColor);
+
+        /*
+         * Draw Background/Progress Layer
+         */
         if(activity == LoadingBarActivity.PROGRESS) {
             batch.draw(skin.backgroundImage,
                     getX() + offsetX,
@@ -197,4 +209,8 @@ public class LoadingBar extends Actor {
     public void changeActivity(LoadingBarActivity activity) {
         this.activity = activity;
     }
+
+    public void dispose() {
+        skin.dispose();
+    }
 }
diff --git a/core/src/cz/nic/tablexia/screen/profile/ProfileScreen.java b/core/src/cz/nic/tablexia/screen/profile/ProfileScreen.java
index 4b539aeb3cf03cd42abeda98cc272948d4844fb4..bf9202c612551d49d9cfe7b14616d74e6d0972c2 100644
--- a/core/src/cz/nic/tablexia/screen/profile/ProfileScreen.java
+++ b/core/src/cz/nic/tablexia/screen/profile/ProfileScreen.java
@@ -19,11 +19,13 @@ import cz.nic.tablexia.util.ui.button.CloseTablexiaButton;
 import cz.nic.tablexia.util.ui.button.TablexiaButton;
 
 public class ProfileScreen extends FormScreen {
+    private static final String USER_UUID_ERROR            = "user_uuid_error";
+    private static final String USER_UUID_DESCRIPTION_TEXT = "user_uuid_description";
 
-    private static final String USER_UUID_DESCRIPTIOM_TEXT = "user_uuid_description";
     private static final float  BADGE_POSITON_Y_SCALE = 0.35f;
     private static final float  USER_UUID_DESCRIPTION_POSITION_Y_SCALE = 0.135f;
     private static final float  USER_UUID_POSITION_Y_SCALE = 0.1f;
+    private static final float  USER_UUID_PADDING = 0.055f; //Percent from page width
     private static final int    CLOSE_BUTTON_PADDING = 20;
 
     private TablexiaButton      closeButton;
@@ -59,11 +61,13 @@ public class ProfileScreen extends FormScreen {
         closeButton = createCloseButton();
         getStage().addActor(closeButton);
         positionCloseButton();
-        if (getSelectedUser().getUuid() != null && !getSelectedUser().getUuid().isEmpty()) {
-            badge.setY(getViewportHeight() * BADGE_POSITON_Y_SCALE);
-            getStage().addActor(createUserUuidDescription());
+
+        badge.setY(getViewportHeight() * BADGE_POSITON_Y_SCALE);
+        getStage().addActor(createUserUuidDescription());
+
+        TablexiaLabel userUuidLabel = createUserUuidLabel();
+        if(userUuidLabel != null)
             getStage().addActor(createUserUuidLabel());
-        }
     }
 
     @Override
@@ -99,21 +103,33 @@ public class ProfileScreen extends FormScreen {
     }
 
     private TablexiaLabel createUserUuidDescription() {
-        TablexiaLabel label = new TablexiaLabel(getText(USER_UUID_DESCRIPTIOM_TEXT), new TablexiaLabel.TablexiaLabelStyle(ApplicationFontManager.FontType_NEW.BOLD_16, Color.BLACK));
-        label.setPosition(
-                book.getX(),
+        TablexiaLabel resultLabel;
+
+        String resultLabelText = getSelectedUser().getUuid() == null || getSelectedUser().getUuid().isEmpty() ? getText(USER_UUID_ERROR) : getText(USER_UUID_DESCRIPTION_TEXT);
+
+        resultLabel = new TablexiaLabel(
+                resultLabelText,
+                new TablexiaLabel.TablexiaLabelStyle(ApplicationFontManager.FontType_NEW.BOLD_16, Color.BLACK)
+        );
+
+        resultLabel.setPosition(
+                book.getX() + book.getWidth() / 2 * USER_UUID_PADDING,
                 getStage().getWidth() * USER_UUID_DESCRIPTION_POSITION_Y_SCALE
         );
-        label.setWidth(book.getWidth() / 2f);
-        label.setAlignment(Align.center);
-        return label;
+        resultLabel.setWidth(book.getWidth() / 2f - 2 * (book.getWidth() / 2) * USER_UUID_PADDING);
+        resultLabel.setAlignment(Align.center);
+        resultLabel.setWrap(true);
+        return resultLabel;
     }
 
     private TablexiaLabel createUserUuidLabel() {
+        if(getSelectedUser().getUuid() == null || getSelectedUser().getUuid().isEmpty())
+            return null;
+
         TablexiaLabel label = new TablexiaLabel(getSelectedUser().getUuid(), new TablexiaLabel.TablexiaLabelStyle(ApplicationFontManager.FontType_NEW.BOLD_16, Color.BLACK));
         label.setPosition(
                 book.getX(),
-            getStage().getWidth() * USER_UUID_POSITION_Y_SCALE
+                getStage().getWidth() * USER_UUID_POSITION_Y_SCALE
         );
         label.setWidth(book.getWidth() / 2f);
         label.setAlignment(Align.center);
diff --git a/core/src/cz/nic/tablexia/screen/statistics/StatisticsScreen.java b/core/src/cz/nic/tablexia/screen/statistics/StatisticsScreen.java
index c049ba909a552ba6d106cb530b5c26c9ce360a6e..c8059c9ddabf13f85aa97b7ba8d98d7cda1fd8b5 100644
--- a/core/src/cz/nic/tablexia/screen/statistics/StatisticsScreen.java
+++ b/core/src/cz/nic/tablexia/screen/statistics/StatisticsScreen.java
@@ -236,18 +236,27 @@ public class StatisticsScreen extends AbstractTablexiaScreen<Void> {
 
     private void selectFirstGameAndDifficultyAvailable() {
 
-        List<Game> games = null;
+        List<Game> games;
+        boolean gameSelected = false;
         for(int i = 1; i < GameMenuDefinition.values().length+1; i++) {
             games = getGames(GameDefinition.getGameDefinitionForGameNumber(i));
             if(games.size() > 0) {
-                selectGame(GameDefinition.getGameDefinitionForGameNumber(i));
-                GameDifficulty difficulty = GameDifficulty.getByGame(games.get(0));
-                setDifficultyButtonChecked(difficultyButtons.get(difficulty), true, difficulty);
-                break;
+
+                GameDifficulty difficulty;
+                for(Game game : games) {
+                    difficulty = GameDifficulty.getByGame(game);
+                    if(difficulty.hasScore()) {
+                        selectGame(GameDefinition.getGameDefinitionForGameNumber(i));
+                        setDifficultyButtonChecked(difficultyButtons.get(difficulty), true, difficulty);
+                        gameSelected = true;
+                        break;
+                    }
+                }
             }
+            if(gameSelected) break;
         }
 
-        if(games != null && games.size() == 0) {
+        if(!gameSelected) {
             selectGame(DEFAULT_GAME);
             setDifficultyButtonChecked((TablexiaButton)difficulties.getChildren().get(0),true,GameDifficulty.DEFAULT_DIFFICULTY);
         }
diff --git a/core/src/cz/nic/tablexia/sync/work/PushDataToServer.java b/core/src/cz/nic/tablexia/sync/work/PushDataToServer.java
index a6018c627bb6553b7380f413c464ec60d32e1ac3..77eb89efed9b007bafb180292db69f8a43b2e0bf 100644
--- a/core/src/cz/nic/tablexia/sync/work/PushDataToServer.java
+++ b/core/src/cz/nic/tablexia/sync/work/PushDataToServer.java
@@ -5,6 +5,7 @@ import com.badlogic.gdx.net.HttpStatus;
 
 import cz.nic.tablexia.bus.ApplicationBus;
 import cz.nic.tablexia.model.UserDAO;
+import cz.nic.tablexia.model.UserDifficultySettingsDAO;
 import cz.nic.tablexia.model.game.GameDAO;
 import cz.nic.tablexia.model.screen.ScreenDAO;
 import cz.nic.tablexia.shared.model.User;
@@ -42,6 +43,7 @@ public class PushDataToServer extends SyncWork {
         setUser(user);
         getUser().setGames(GameDAO.selectUsersGamesForSync(user.getId()));
         getUser().setScreens(ScreenDAO.selectAllScreenForSync(user.getId()));
+		getUser().setDifficultySettings(UserDifficultySettingsDAO.getUserSettings(user.getId()));
         this.syncType = syncType;
     }
 
diff --git a/core/src/cz/nic/tablexia/util/listener/DragAndRotateActorListener.java b/core/src/cz/nic/tablexia/util/listener/DragAndRotateActorListener.java
index 65363a9f34ec771976a8dfb393881dec068ef384..959156c5bf168695155cd62fecd040da4a815336 100644
--- a/core/src/cz/nic/tablexia/util/listener/DragAndRotateActorListener.java
+++ b/core/src/cz/nic/tablexia/util/listener/DragAndRotateActorListener.java
@@ -13,9 +13,9 @@ import cz.nic.tablexia.game.games.pursuit.action.RotateAndMovePieceInPosition;
 import cz.nic.tablexia.game.games.pursuit.action.RotatePieceToClosestAngle;
 import cz.nic.tablexia.game.games.pursuit.helper.ArithmeticsHelper;
 import cz.nic.tablexia.game.games.pursuit.model.Grid;
+import cz.nic.tablexia.game.games.pursuit.model.PuzzlePiece;
 import cz.nic.tablexia.util.Log;
 import cz.nic.tablexia.util.Point;
-import cz.nic.tablexia.game.games.pursuit.model.PuzzlePiece;
 
 /**
  * Created by Vaclav Tarantik on 6/18/15.
@@ -115,7 +115,7 @@ public class DragAndRotateActorListener extends InputListener {
     @Override
     public void touchUp(InputEvent event, final float x, final float y, int pointer, int button) {
         if (button != 1) {
-            if (draggedActor != null && !performingAction) {
+            if (draggedActor != null && !performingAction && activePointers.size()>=1) {
                 //storing original fingers positions and deciding which finger was released
                 boolean draggingFingerLifted = ((Integer) (activePointers.keySet().toArray()[0]) == pointer);
                 boolean rotatingFingerLifted = false;
diff --git a/core/src/cz/nic/tablexia/util/ui/AbstractTablexiaSelectBox.java b/core/src/cz/nic/tablexia/util/ui/AbstractTablexiaSelectBox.java
index ac0ca4ac1d47609d1f5cb098aeeabfd7196915a3..7cb258fb9627245b83c377da336af2d987eb46c2 100644
--- a/core/src/cz/nic/tablexia/util/ui/AbstractTablexiaSelectBox.java
+++ b/core/src/cz/nic/tablexia/util/ui/AbstractTablexiaSelectBox.java
@@ -42,6 +42,7 @@ public abstract class AbstractTablexiaSelectBox<T> extends Widget implements Dis
     private float prefWidth, prefHeight;
     private ClickListener clickListener;
     boolean disabled;
+    boolean checkValidity = true;
 
     public AbstractTablexiaSelectBox(float itemHeight) {
         setSize(getPrefWidth(), itemHeight);
@@ -167,12 +168,17 @@ public abstract class AbstractTablexiaSelectBox<T> extends Widget implements Dis
 
     /** Sets the selection to only the passed item, if it is a possible choice, else selects the first item. */
     public void setSelected (T item) {
-        if (items.contains(item, false))
+        if (!isCheckValidity()) {
             selection.set(item);
-        else if (items.size > 0)
-            selection.set(items.first());
-        else
-            selection.clear();
+        }
+        else {
+            if (items.contains(item, false))
+                selection.set(item);
+            else if (items.size > 0)
+                selection.set(items.first());
+            else
+                selection.clear();
+        }
     }
 
     /** @return The index of the first selected item. The top item has an index of 0. Nothing selected has an index of -1. */
@@ -191,6 +197,14 @@ public abstract class AbstractTablexiaSelectBox<T> extends Widget implements Dis
         this.disabled = disabled;
     }
 
+    public void setCheckValidity(boolean checkValidity) {
+        this.checkValidity = checkValidity;
+    }
+
+    public boolean isCheckValidity() {
+        return checkValidity;
+    }
+
     public boolean isDisabled () {
         return disabled;
     }
diff --git a/core/src/cz/nic/tablexia/util/ui/ScrollPaneWithBorders.java b/core/src/cz/nic/tablexia/util/ui/ScrollPaneWithBorders.java
new file mode 100644
index 0000000000000000000000000000000000000000..2712ef9ca4efb7bca3f863ce5b5d454dbea3d16d
--- /dev/null
+++ b/core/src/cz/nic/tablexia/util/ui/ScrollPaneWithBorders.java
@@ -0,0 +1,89 @@
+package cz.nic.tablexia.util.ui;
+
+import com.badlogic.gdx.graphics.g2d.Batch;
+import com.badlogic.gdx.math.MathUtils;
+import com.badlogic.gdx.scenes.scene2d.Actor;
+import com.badlogic.gdx.scenes.scene2d.ui.Image;
+import com.badlogic.gdx.scenes.scene2d.ui.ScrollPane;
+
+/**
+ * Created by drahomir on 4/4/16.
+ */
+public class ScrollPaneWithBorders extends ScrollPane{
+
+    private float lastScrollX;
+    private Image leftBorder, rightBorder;
+
+    private boolean singleBorder = false;
+
+    public ScrollPaneWithBorders(Actor widget, Image border) {
+        this(widget, border, null);
+    }
+
+    public ScrollPaneWithBorders(Actor widget, Image leftBorder, Image rightBorder) {
+        super(widget);
+        lastScrollX = getVisualScrollX();
+
+        this.leftBorder = leftBorder;
+        this.rightBorder = rightBorder;
+
+        leftBorder.setVisible(false);
+
+        if(rightBorder != null) {
+            rightBorder.setVisible(false);
+        }
+        else {
+            singleBorder = true;
+            this.rightBorder = leftBorder;
+        }
+    }
+
+    @Override
+    public void act(float delta) {
+        super.act(delta);
+
+        if(lastScrollX != getVisualScrollX()) {
+            lastScrollX = getVisualScrollX();
+
+            if(isRightEdge()) {
+                rightBorder.setVisible(true);
+                float posX = getX() + getWidth() - (getVisualScrollX() - (getWidget().getWidth() - getWidth()));
+                rightBorder.setPosition(MathUtils.floor(posX), getY());
+                rightBorder.setSize(rightBorder.getWidth(), getHeight());
+            }
+            else if(isLeftEdge()) {
+                leftBorder.setVisible(true);
+                float posX = getX() - leftBorder.getWidth() - getVisualScrollX();
+                leftBorder.setPosition(MathUtils.ceil(posX), getY());
+                leftBorder.setSize(leftBorder.getWidth(), getHeight());
+            }
+            else {
+                leftBorder.setVisible(false);
+                rightBorder.setVisible(false);
+            }
+        }
+    }
+
+    @Override
+    public void draw(Batch batch, float parentAlpha) {
+        super.draw(batch, parentAlpha);
+
+        if(getLeftBorder().isVisible())
+            getLeftBorder().draw(batch, parentAlpha);
+
+        if(getRightBorder().isVisible())
+            getRightBorder().draw(batch, parentAlpha);
+    }
+
+    public boolean isSingleBorder() {
+        return singleBorder;
+    }
+
+    public Image getLeftBorder() {
+        return leftBorder;
+    }
+
+    public Image getRightBorder() {
+        return rightBorder;
+    }
+}
diff --git a/core/src/cz/nic/tablexia/util/ui/Switch.java b/core/src/cz/nic/tablexia/util/ui/Switch.java
index fc3c4c7a1f2d5323994901629847cedac9c001ef..45f035f764fe82a14da2e63107458461ca10526a 100644
--- a/core/src/cz/nic/tablexia/util/ui/Switch.java
+++ b/core/src/cz/nic/tablexia/util/ui/Switch.java
@@ -120,7 +120,6 @@ public class Switch extends Group {
                 switchSelectedListener.stepSelected(getStep(false));
             }
             event.stop();
-            playButtonSound();
         }
 
         //Sound effect is played when touching up switch, not on click
@@ -148,14 +147,19 @@ public class Switch extends Group {
             return maxX;
         }
 
-        public void switchToStep(int step) {
-            actor.setX(getX(step));
-            if (switchMovedListener != null) {
-                switchMovedListener.movedToStep(getStep(true));
-            }
-            if (switchSelectedListener != null) {
-                switchSelectedListener.stepSelected(getStep(true));
-            }
+
+		public void switchToStep(int step, boolean triggerEvent) {
+			actor.setX(getX(step));
+			if (switchMovedListener != null && triggerEvent) {
+				switchMovedListener.movedToStep(getStep(true));
+			}
+			if (switchSelectedListener != null && triggerEvent) {
+				switchSelectedListener.stepSelected(getStep(true));
+			}
+		}
+
+		public void switchToStep(int step) {
+			switchToStep(step, true);
         }
 
         private float getClosestValue(boolean useDisabled) {
diff --git a/core/src/cz/nic/tablexia/util/ui/button/ImageTablexiaButton.java b/core/src/cz/nic/tablexia/util/ui/button/ImageTablexiaButton.java
index d1bcbd6fa106fea598f3cc3db22d421a3f41b88c..4e5dbdb4fa889cdc8a957a6fdb093028d78df7c9 100644
--- a/core/src/cz/nic/tablexia/util/ui/button/ImageTablexiaButton.java
+++ b/core/src/cz/nic/tablexia/util/ui/button/ImageTablexiaButton.java
@@ -5,14 +5,15 @@ import com.badlogic.gdx.scenes.scene2d.ui.Image;
 import com.badlogic.gdx.utils.Align;
 
 import cz.nic.tablexia.util.ScaleUtil;
+import cz.nic.tablexia.util.ui.TablexiaLabel;
 
 /**
  * Created by frantisek on 18.2.16.
  */
 public class ImageTablexiaButton extends StandardTablexiaButton {
-
 	private static final int	DEFAULT_ICON_ALIGN			= Align.left;
-	private static final float 	DEFAULT_IMAGE_HEIGHT_RATIO 	= 2f / 3;
+	private static final float 	DEFAULT_IMAGE_HEIGHT_RATIO 	= 2f / 4;
+	private static final int 	IMAGE_CONTENT_SPACING 		= 20;
 
 	private int					iconAlign 					= DEFAULT_ICON_ALIGN;
 	private final Group 		ICON_LAYER;
@@ -29,9 +30,11 @@ public class ImageTablexiaButton extends StandardTablexiaButton {
 	}
 
 	public ImageTablexiaButton(String text, Image icon, int align, TablexiaButtonType tablexiaButtonType) {
-		super(text, tablexiaButtonType);
-		ICON_LAYER = new Group();
-		init(icon, align);
+		this(text, icon, align, tablexiaButtonType, false);
+	}
+
+	public ImageTablexiaButton(String text, Image icon, TablexiaButtonType tablexiaButtonType, boolean wrapText) {
+		this(text, icon, DEFAULT_ICON_ALIGN, tablexiaButtonType, wrapText);
 	}
 
 	public ImageTablexiaButton(String text, Image icon, int align, TablexiaButtonType tablexiaButtonType, boolean wrapText) {
@@ -41,9 +44,6 @@ public class ImageTablexiaButton extends StandardTablexiaButton {
 	}
 
 	private void init(Image icon, int align) {
-		this.icon = icon;
-		this.iconAlign = align;
-
 		addActor(ICON_LAYER);
 		setIcon(icon, align);
 	}
@@ -63,7 +63,7 @@ public class ImageTablexiaButton extends StandardTablexiaButton {
 		}
 
 		ICON_LAYER.addActor(icon);
-		setSizeForIcon(icon, align);
+		adjustBounds();
 		return this;
 	}
 
@@ -71,20 +71,63 @@ public class ImageTablexiaButton extends StandardTablexiaButton {
 		ScaleUtil.setImageHeight(icon, getInnerHeight() * DEFAULT_IMAGE_HEIGHT_RATIO);
 		switch (align) {
 			case Align.left:
-				icon.setX(getActualPatch().getPadLeft() + icon.getWidth() / 2);
+				icon.setX(getLabel().getX() + ((getLabel().getWidth() - getLabel().getPrefWidth())/2) - icon.getWidth() - IMAGE_CONTENT_SPACING / 2);
 				break;
 			case Align.right:
-				icon.setX(getActualPatch().getTotalWidth() - getActualPatch().getPadRight() - icon.getWidth() / 2);
+				icon.setX(getLabel().getX() + getLabel().getWidth() - (getLabel().getWidth() - getLabel().getPrefWidth())/2 + IMAGE_CONTENT_SPACING / 2);
 				break;
 		}
 		icon.setY(getActualPatch().getPadBottom() + (getInnerHeight() - icon.getHeight()) / 2);
 		return this;
 	}
 
+	@Override
 	protected void adjustBounds() {
 		if (icon != null) {
 			setSizeForIcon(icon, iconAlign);
 		}
 		super.adjustBounds();
 	}
+
+	@Override
+	public float getContentWidth() {
+		float iconWidth = 0;
+		if (icon != null) {
+			iconWidth = icon.getDrawable().getMinWidth();
+		}
+		return super.getContentWidth() + iconWidth + IMAGE_CONTENT_SPACING;
+	}
+
+	@Override
+	protected void prepareTextSize(TablexiaLabel label) {
+		super.prepareTextSize(label);
+
+		float iconWidth = 0;
+		if (icon != null) {
+			iconWidth = icon.getWidth();
+		}
+
+		label.setWidth(label.getWidth() - iconWidth / 2 - IMAGE_CONTENT_SPACING / 2);
+	}
+
+	@Override
+	protected void prepareTextPosition(TablexiaLabel label) {
+		float iconWidth = 0;
+		if (icon != null) {
+			iconWidth = icon.getWidth();
+		}
+
+		switch (iconAlign) {
+			case Align.left:
+				label.setPosition(getActualPatch().getPadLeft(), getActualPatch().getPadBottom());
+				label.setPosition(label.getX() + iconWidth / 2 + IMAGE_CONTENT_SPACING / 2, label.getY());
+				break;
+
+			case Align.right:
+				label.setPosition(getWidth() - label.getWidth() - getActualPatch().getPadRight(), getActualPatch().getPadBottom());
+				label.setPosition(label.getX() - iconWidth / 2 - IMAGE_CONTENT_SPACING / 2, label.getY());
+				break;
+		}
+
+	}
 }
diff --git a/core/src/cz/nic/tablexia/util/ui/button/TablexiaButton.java b/core/src/cz/nic/tablexia/util/ui/button/TablexiaButton.java
index e4889550e84a8c0bcee8e926f7d23a443647ef41..38ec65c1acd375a2862f868dced2a75ceb8984df 100644
--- a/core/src/cz/nic/tablexia/util/ui/button/TablexiaButton.java
+++ b/core/src/cz/nic/tablexia/util/ui/button/TablexiaButton.java
@@ -431,11 +431,11 @@ public class TablexiaButton extends Group {
             float width = getWidth();
             float height = getHeight();
             if (adjustSize) {
-                if (getInnerWidth() < textLabel.getMinWidth()) {
-                    width = textLabel.getMinWidth() + getActualPatchHorizontalBorder();
+                if (getInnerWidth() < getContentWidth()) {
+                    width = getContentWidth() + getActualPatchHorizontalBorder();
                 }
-                if (getInnerHeight() < textLabel.getMinHeight()) {
-                    height = textLabel.getMinHeight() + getActualPatchVerticalBorder();
+                if (getInnerHeight() < getContentHeight()) {
+                    height = getContentHeight() + getActualPatchVerticalBorder();
                 }
                 if (adjustPositionX) {
                     x = originalX + ((originalWidth - width) / 2);
@@ -457,6 +457,14 @@ public class TablexiaButton extends Group {
         }
     }
 
+    public float getContentWidth() {
+        return textLabel.getMinWidth();
+    }
+
+    public float getContentHeight() {
+        return textLabel.getMinHeight();
+    }
+
     private void setSizeForImage(Image image, NinePatch patch) {
         if (image != null && patch != null) {
             image.setPosition(0, 0);
@@ -464,13 +472,21 @@ public class TablexiaButton extends Group {
         }
     }
 
-    private void setSizeTextLabel(Label label) {
+    private void setSizeTextLabel(TablexiaLabel label) {
         if (label != null && actualPatch != null) {
-            label.setPosition(actualPatch.getPadLeft(), actualPatch.getPadBottom());
-            label.setSize(getInnerWidth(), getInnerHeight());
+            prepareTextSize(label);
+            prepareTextPosition(label);
         }
     }
 
+    protected void prepareTextPosition(TablexiaLabel label) {
+        label.setPosition(actualPatch.getPadLeft(), actualPatch.getPadBottom());
+    }
+
+    protected void prepareTextSize(TablexiaLabel label) {
+        label.setSize(getInnerWidth(), getInnerHeight());
+    }
+
     private float getActualPatchHorizontalBorder() {
         float result = 0;
         if (actualPatch != null) {
diff --git a/core/src/cz/nic/tablexia/util/ui/dialog/TablexiaComponentDialog.java b/core/src/cz/nic/tablexia/util/ui/dialog/TablexiaComponentDialog.java
index 4793d778db8b437f462c297447b34f53c1a1d3d9..3dc343f910b8fd3d15ea44ee7ddc8f96132b7f86 100644
--- a/core/src/cz/nic/tablexia/util/ui/dialog/TablexiaComponentDialog.java
+++ b/core/src/cz/nic/tablexia/util/ui/dialog/TablexiaComponentDialog.java
@@ -77,6 +77,7 @@ public class TablexiaComponentDialog extends Stack {
     private static final Interpolation.ExpOut   FADE_IN_INTERPOLATION               = Interpolation.exp10Out;
     private static final float                  FADE_OUT_DURATION                   = 0.2f;
     private static final Interpolation          FADE_OUT_INTERPOLATION              = Interpolation.linear;
+    public  static final boolean                DEFAULT_HIDE_ANIMATION              = true;
 
     private float               originalX;
     private float               originalY;
@@ -193,19 +194,31 @@ public class TablexiaComponentDialog extends Stack {
     }
 
     public void hide() {
-        backgroundLayer.addAction(Actions.sequence(Actions.fadeOut(FADE_OUT_DURATION, FADE_OUT_INTERPOLATION)));
-        addAction(Actions.sequence(Actions.fadeOut(FADE_OUT_DURATION, FADE_OUT_INTERPOLATION), Actions.run(new Runnable() {
-            @Override
-            public void run() {
-                for (TablexiaDialogComponentAdapter tablexiaDialogComponentAdapter : dialogComponents) {
-                    tablexiaDialogComponentAdapter.hide();
+        hide(DEFAULT_HIDE_ANIMATION);
+    }
+
+    public void hide(boolean animated) {
+        if (animated) {
+            backgroundLayer.addAction(Actions.sequence(Actions.fadeOut(FADE_OUT_DURATION, FADE_OUT_INTERPOLATION)));
+            addAction(Actions.sequence(Actions.fadeOut(FADE_OUT_DURATION, FADE_OUT_INTERPOLATION), Actions.run(new Runnable() {
+                @Override
+                public void run() {
+                    performHideActions();
                 }
-                unregisterInputListener();
-                backgroundLayer.remove();
-                remove();
-                ApplicationBus.getInstance().post(new DialogVisibleEvent(false)).asynchronously();
-            }
-        })));
+            })));
+        } else {
+            performHideActions();
+        }
+    }
+
+    private void performHideActions() {
+        for (TablexiaDialogComponentAdapter tablexiaDialogComponentAdapter : dialogComponents) {
+            tablexiaDialogComponentAdapter.hide();
+        }
+        unregisterInputListener();
+        backgroundLayer.remove();
+        remove();
+        ApplicationBus.getInstance().post(new DialogVisibleEvent(false)).asynchronously();
     }
 
     @Override
diff --git a/core/src/cz/nic/tablexia/util/ui/dialog/components/BackButtonHideComponent.java b/core/src/cz/nic/tablexia/util/ui/dialog/components/BackButtonHideComponent.java
index 1e97cc39b122e87332f091d9647a697a1dc245f6..dd32c96573cf635e7b24173d7be9afc327445a3f 100644
--- a/core/src/cz/nic/tablexia/util/ui/dialog/components/BackButtonHideComponent.java
+++ b/core/src/cz/nic/tablexia/util/ui/dialog/components/BackButtonHideComponent.java
@@ -4,13 +4,21 @@ import net.engio.mbassy.listener.Handler;
 
 import cz.nic.tablexia.TablexiaApplication;
 import cz.nic.tablexia.bus.ApplicationBus;
+import cz.nic.tablexia.util.ui.dialog.TablexiaComponentDialog;
 
 /**
  * Created by frantisek on 23. 2. 2016.
  */
 public class BackButtonHideComponent extends TablexiaDialogComponentAdapter {
 
-	public BackButtonHideComponent() {
+    private boolean animated;
+
+    public BackButtonHideComponent() {
+        this(TablexiaComponentDialog.DEFAULT_HIDE_ANIMATION);
+    }
+
+    public BackButtonHideComponent(boolean animated) {
+        this.animated = animated;
     }
 
     public void show() {
@@ -32,6 +40,6 @@ public class BackButtonHideComponent extends TablexiaDialogComponentAdapter {
     }
 
     protected void hideDialog() {
-        getDialog().hide();
+        getDialog().hide(animated);
     }
 }
diff --git a/core/src/cz/nic/tablexia/util/ui/dialog/components/DimmerDialogComponent.java b/core/src/cz/nic/tablexia/util/ui/dialog/components/DimmerDialogComponent.java
index 02a2b547144c5e2d5f4990e423a76ca122d487ab..44cfadc3a07a53fa42e2065827a89e8f80581f9b 100644
--- a/core/src/cz/nic/tablexia/util/ui/dialog/components/DimmerDialogComponent.java
+++ b/core/src/cz/nic/tablexia/util/ui/dialog/components/DimmerDialogComponent.java
@@ -17,8 +17,6 @@ public class DimmerDialogComponent extends TablexiaDialogComponentAdapter {
     private Float alpha;
     private Color color;
 
-    private Float   lastScreenWidth   = null;
-    private Float   lastScreenHeight  = null;
     private Image   background;
 
     public DimmerDialogComponent() {
@@ -40,21 +38,11 @@ public class DimmerDialogComponent extends TablexiaDialogComponentAdapter {
         backgroundLayer.addActor(background);
     }
 
-    // TODO use event for screen size change handling
     @Override
-    public void beforeDraw() {
-        if (lastScreenWidth == null || getViewportWidth() != lastScreenWidth ||
-                lastScreenHeight == null || getViewportHeight() != lastScreenHeight) {
-            rememberScreenSize();
-            background.setBounds(getViewportLeftX(),
-                                 getViewportBottomY(),
-                                 getViewportWidth(),
-                                 getViewportHeight());
-        }
-    }
-
-    private void rememberScreenSize() {
-        lastScreenWidth = getViewportWidth();
-        lastScreenHeight = getViewportHeight();
+    public void sizeChanged() {
+        background.setBounds(getViewportLeftX(),
+                     getViewportBottomY(),
+                     getViewportWidth(),
+                     getViewportHeight());
     }
 }
diff --git a/core/src/cz/nic/tablexia/util/ui/dialog/components/PositiveNegativeButtonContentDialogComponent.java b/core/src/cz/nic/tablexia/util/ui/dialog/components/PositiveNegativeButtonContentDialogComponent.java
index 7c8ff0d50bb03cf8d66bdd0e3fbd848531d3495c..4921574a0a01cc9effa1b5d7b383fe1f7391b974 100644
--- a/core/src/cz/nic/tablexia/util/ui/dialog/components/PositiveNegativeButtonContentDialogComponent.java
+++ b/core/src/cz/nic/tablexia/util/ui/dialog/components/PositiveNegativeButtonContentDialogComponent.java
@@ -1,7 +1,9 @@
 package cz.nic.tablexia.util.ui.dialog.components;
 
 import com.badlogic.gdx.scenes.scene2d.InputListener;
+import com.badlogic.gdx.scenes.scene2d.ui.Image;
 
+import cz.nic.tablexia.loader.application.ApplicationInternalTextureManager;
 import cz.nic.tablexia.loader.application.ApplicationTextManager;
 import cz.nic.tablexia.util.ui.button.StandardTablexiaButton;
 
@@ -15,7 +17,8 @@ public class PositiveNegativeButtonContentDialogComponent extends TwoButtonConte
     public enum PositiveNegativeButtonType {
         YES_NO              (ApplicationTextManager.ApplicationTextsAssets.SYSTEM_YES,      ApplicationTextManager.ApplicationTextsAssets.SYSTEM_NO),
         CONFIRM_DECLINE     (ApplicationTextManager.ApplicationTextsAssets.SYSTEM_CONFIRM,  ApplicationTextManager.ApplicationTextsAssets.SYSTEM_DECLINE),
-        AGAIN_EXIT          (ApplicationTextManager.ApplicationTextsAssets.SYSTEM_RETRY,    ApplicationTextManager.ApplicationTextsAssets.SYSTEM_EXIT);
+        AGAIN_EXIT          (ApplicationTextManager.ApplicationTextsAssets.SYSTEM_RETRY,    ApplicationTextManager.ApplicationTextsAssets.SYSTEM_EXIT),
+		AGAIN_BACK          (ApplicationTextManager.ApplicationTextsAssets.SYSTEM_RETRY,    ApplicationTextManager.ApplicationTextsAssets.SYSTEM_BACK);
 
         private final String positiveText;
         private final String negativeText;
@@ -49,6 +52,8 @@ public class PositiveNegativeButtonContentDialogComponent extends TwoButtonConte
     public PositiveNegativeButtonContentDialogComponent(InputListener yesInputListener, InputListener noInputListener, PositiveNegativeButtonType positiveNegativeButtonType) {
         super(  ApplicationTextManager.getInstance().getText(positiveNegativeButtonType.getNegativeText()),
                 ApplicationTextManager.getInstance().getText(positiveNegativeButtonType.getPositiveText()),
+                new Image(ApplicationInternalTextureManager.getInstance().getTexture(ApplicationInternalTextureManager.BUTTON_NO_ICON)),
+                new Image(ApplicationInternalTextureManager.getInstance().getTexture(ApplicationInternalTextureManager.BUTTON_YES_ICON)),
                 StandardTablexiaButton.TablexiaButtonType.RED,
                 StandardTablexiaButton.TablexiaButtonType.GREEN,
                 noInputListener,
diff --git a/core/src/cz/nic/tablexia/util/ui/dialog/components/SingleButtonContentDialogComponent.java b/core/src/cz/nic/tablexia/util/ui/dialog/components/SingleButtonContentDialogComponent.java
index 6caed0ab4ea7dc9fd8f4244310775d35af5dd2e1..838a929123ea24820a4ec99d252218d3bb41f264 100644
--- a/core/src/cz/nic/tablexia/util/ui/dialog/components/SingleButtonContentDialogComponent.java
+++ b/core/src/cz/nic/tablexia/util/ui/dialog/components/SingleButtonContentDialogComponent.java
@@ -2,7 +2,9 @@ package cz.nic.tablexia.util.ui.dialog.components;
 
 import com.badlogic.gdx.scenes.scene2d.InputListener;
 import com.badlogic.gdx.scenes.scene2d.ui.Cell;
+import com.badlogic.gdx.scenes.scene2d.ui.Image;
 
+import cz.nic.tablexia.util.ui.button.ImageTablexiaButton;
 import cz.nic.tablexia.util.ui.button.StandardTablexiaButton;
 import cz.nic.tablexia.util.ui.button.TablexiaButton;
 
@@ -29,10 +31,23 @@ public class SingleButtonContentDialogComponent extends TablexiaDialogComponentA
     }
 
     public SingleButtonContentDialogComponent(String buttonText, boolean wrapText, StandardTablexiaButton.TablexiaButtonType buttonType, InputListener inputListener) {
-        button = new StandardTablexiaButton(buttonText, buttonType, wrapText)
-                .adaptiveSizeRatio(DIALOG_BUTTON_ADAPTIVE_SIZE_RATIO)
-                .adaptiveSize(false);
-        if (inputListener != null) {
+        this(new StandardTablexiaButton(buttonText, buttonType, wrapText), inputListener);
+    }
+
+    public SingleButtonContentDialogComponent(String buttonText, Image buttonIcon, StandardTablexiaButton.TablexiaButtonType buttonType, InputListener inputListener) {
+        this(new ImageTablexiaButton(buttonText, buttonIcon, buttonType, false), inputListener);
+    }
+
+    public SingleButtonContentDialogComponent(String buttonText, Image buttonIcon, boolean wrapText, StandardTablexiaButton.TablexiaButtonType buttonType, InputListener inputListener) {
+        this(new ImageTablexiaButton(buttonText, buttonIcon, buttonType, wrapText), inputListener);
+    }
+
+    public SingleButtonContentDialogComponent(StandardTablexiaButton button, InputListener inputListener) {
+        this.button = button;
+        this.button.adaptiveSizeRatio(DIALOG_BUTTON_ADAPTIVE_SIZE_RATIO);
+        this.button.adaptiveSize(false);
+
+        if(inputListener != null) {
             button.setInputListener(inputListener);
         }
     }
diff --git a/core/src/cz/nic/tablexia/util/ui/dialog/components/TextContentDialogComponent.java b/core/src/cz/nic/tablexia/util/ui/dialog/components/TextContentDialogComponent.java
index 43cad44c978b60fa3d6cf1d8a1c59fd7680fdf85..fcc04268815869bbd940b0c29866e6b0b39cb576 100644
--- a/core/src/cz/nic/tablexia/util/ui/dialog/components/TextContentDialogComponent.java
+++ b/core/src/cz/nic/tablexia/util/ui/dialog/components/TextContentDialogComponent.java
@@ -18,12 +18,14 @@ public class TextContentDialogComponent extends TablexiaDialogComponentAdapter {
     private static final int                                 DEFAULT_ALIGN                   = Align.center;
     private static final Float                               DEFAULT_PADDING                 = 0f;
     public static final int                                  FONT_SIZE_RESIZE_THRESHOLD      = 10;
+    public static final float                                PADDING_SCALE_THRESHOLD         = 1.7f;
 
     private final   String                                  text;
     private ApplicationFontManager.FontType_NEW             fontType;
     private ApplicationFontManager.FontType_NEW             actualFontType;
     private final   Color                                   fontColor;
-    private         float                                   leftPadding, rightPadding;
+    private         float                                   origLeftPadding, origRightPadding;
+    private         float                                   currLeftPadding, currRightPadding;
     private final   int                                     align;
     private         boolean                                 wrap;
     private final   boolean                                 fullDialogWidth;
@@ -79,8 +81,8 @@ public class TextContentDialogComponent extends TablexiaDialogComponentAdapter {
         this.actualFontType = fontType;
         this.fontColor      = fontColor;
         this.align          = align.intValue();
-        this.leftPadding    = padding;
-        this.rightPadding   = padding;
+        this.origLeftPadding = padding;
+        this.origRightPadding = padding;
         this.isScaled       = false;
         this.wrap           = wrap;
         this.fullDialogWidth= fullDialogWidth;
@@ -99,8 +101,8 @@ public class TextContentDialogComponent extends TablexiaDialogComponentAdapter {
     }
 
     public void setPadding(float leftPadding, float rightPadding) {
-        this.leftPadding = leftPadding;
-        this.rightPadding = rightPadding;
+        this.origLeftPadding = leftPadding;
+        this.origRightPadding = rightPadding;
     }
 
     @Override
@@ -114,21 +116,35 @@ public class TextContentDialogComponent extends TablexiaDialogComponentAdapter {
             if (isScaled) {
                 actualFontType = fontType;
                 isScaled = false;
+                currLeftPadding = origLeftPadding;
+                currRightPadding = origRightPadding;
             }
         }
         textLabel.setTablexiaLabelStyle(new TablexiaLabel.TablexiaLabelStyle(actualFontType, fontColor));
 
-        if(fullDialogWidth) {
-            content.padLeft(leftPadding).padRight(rightPadding).width(getDialog().getInnerWidth() - leftPadding - rightPadding);
+        updatePadding();
+    }
+
+    private void updatePadding() {
+        if (ComponentScaleUtil.isUnderThreshold()) {
+            currLeftPadding = origLeftPadding * PADDING_SCALE_THRESHOLD;
+            currRightPadding = origRightPadding * PADDING_SCALE_THRESHOLD;
+        }
+        else {
+            currLeftPadding = origLeftPadding;
+            currRightPadding = origRightPadding;
         }
+
+        content.padLeft(currLeftPadding).padRight(currRightPadding);
+
+        if(fullDialogWidth)
+            content.width(getDialog().getInnerWidth() - currLeftPadding - currRightPadding);
     }
 
     @Override
     public void show() {
         super.show();
-        if(fullDialogWidth) {
-            content.padLeft(leftPadding).padRight(rightPadding).width(getDialog().getInnerWidth() - leftPadding - rightPadding);
-        }
+        updatePadding();
     }
 
     @Override
@@ -141,7 +157,7 @@ public class TextContentDialogComponent extends TablexiaDialogComponentAdapter {
         textLabel = new TablexiaLabel(text, new TablexiaLabel.TablexiaLabelStyle(actualFontType, getFontColor()));
         textLabel.setWrap(wrap);
         textLabel.setAlignment(align);
-        content.setActor(textLabel).fillX().padLeft(leftPadding).padRight(rightPadding);
+        content.setActor(textLabel).fillX().padLeft(currLeftPadding).padRight(currRightPadding);
     }
 
     public static ApplicationFontManager.FontType_NEW getDefaultFontType() {
diff --git a/core/src/cz/nic/tablexia/util/ui/dialog/components/TwoButtonContentDialogComponent.java b/core/src/cz/nic/tablexia/util/ui/dialog/components/TwoButtonContentDialogComponent.java
index cd20b956f33bad368552214212ab941b997e9b74..3bfbf9abefa78f369a7ba173580d5a5ecf69e397 100644
--- a/core/src/cz/nic/tablexia/util/ui/dialog/components/TwoButtonContentDialogComponent.java
+++ b/core/src/cz/nic/tablexia/util/ui/dialog/components/TwoButtonContentDialogComponent.java
@@ -3,15 +3,18 @@ package cz.nic.tablexia.util.ui.dialog.components;
 import com.badlogic.gdx.scenes.scene2d.Event;
 import com.badlogic.gdx.scenes.scene2d.InputEvent;
 import com.badlogic.gdx.scenes.scene2d.InputListener;
+import com.badlogic.gdx.scenes.scene2d.ui.Image;
 import com.badlogic.gdx.scenes.scene2d.utils.ClickListener;
 
 import cz.nic.tablexia.util.ui.button.StandardTablexiaButton;
+import cz.nic.tablexia.util.ui.dialog.TablexiaComponentDialog;
 
 /**
  * Created by Drahomir Karchnak on 27/01/16.
  */
 public class TwoButtonContentDialogComponent extends TwoColumnContentDialogComponent{
-    private static final float SPACE_RATIO              = 1f / 10;
+
+    private static final float  SPACE_RATIO = 1f / 10;
 
     private SingleButtonContentDialogComponent firstButton;
     private SingleButtonContentDialogComponent secondButton;
@@ -36,10 +39,14 @@ public class TwoButtonContentDialogComponent extends TwoColumnContentDialogCompo
         @Override
         public void clicked(InputEvent event, float x, float y) {
             super.clicked(event, x, y);
-            getDialog().hide();
+            getDialog().hide(hasHideAnimation());
         }
     }
 
+    protected boolean hasHideAnimation() {
+        return TablexiaComponentDialog.DEFAULT_HIDE_ANIMATION;
+    }
+
     public TwoButtonContentDialogComponent(String firstButtonText,
                                            String secondButtonText,
                                            StandardTablexiaButton.TablexiaButtonType firstButtonType,
@@ -57,4 +64,34 @@ public class TwoButtonContentDialogComponent extends TwoColumnContentDialogCompo
         firstButton.setInputListener(new DefaultHideListener(firstButtonInput));
         secondButton.setInputListener(new DefaultHideListener(secondButtonInput));
     }
+
+    public TwoButtonContentDialogComponent(String firstButtonText,
+                                           String secondButtonText,
+                                           Image firstIcon,
+                                           Image secondIcon,
+                                           StandardTablexiaButton.TablexiaButtonType firstButtonType,
+                                           StandardTablexiaButton.TablexiaButtonType secondButtonType,
+                                           InputListener firstButtonInput,
+                                           InputListener secondButtonInput) {
+
+        super(SPACE_RATIO);
+
+        //Sets first buttons icon if needed
+        if(firstIcon != null)
+            firstButton  = new SingleButtonContentDialogComponent(firstButtonText, firstIcon, firstButtonType, firstButtonInput);
+        else
+            firstButton  = new SingleButtonContentDialogComponent(firstButtonText, firstButtonType, firstButtonInput);
+
+        //Sets second buttons icon if needed
+        if(secondIcon != null)
+            secondButton = new SingleButtonContentDialogComponent(secondButtonText, secondIcon, secondButtonType, secondButtonInput);
+        else
+            secondButton = new SingleButtonContentDialogComponent(secondButtonText, secondButtonType, secondButtonInput);
+
+        setDialogComponentAdapter1(firstButton);
+        setDialogComponentAdapter2(secondButton);
+
+        firstButton.setInputListener(new DefaultHideListener(firstButtonInput));
+        secondButton.setInputListener(new DefaultHideListener(secondButtonInput));
+    }
 }
diff --git a/core/test/cz/nic/tablexia/test/games/kidnapping/PathGeneratorTest.java b/core/test/cz/nic/tablexia/test/games/kidnapping/PathGeneratorTest.java
index 695699c50517cc9048aa45995c7375a46a57412e..e625de82750f48633287fdb6356e5084586665cb 100644
--- a/core/test/cz/nic/tablexia/test/games/kidnapping/PathGeneratorTest.java
+++ b/core/test/cz/nic/tablexia/test/games/kidnapping/PathGeneratorTest.java
@@ -6,6 +6,7 @@ import java.util.Arrays;
 import java.util.List;
 import java.util.Random;
 
+import cz.nic.tablexia.TablexiaSettings;
 import cz.nic.tablexia.game.common.TablexiaRandom;
 import cz.nic.tablexia.game.difficulty.GameDifficulty;
 import cz.nic.tablexia.game.games.kidnapping.Properties;
@@ -27,7 +28,7 @@ public class PathGeneratorTest {
 
     private GameState getGameState(Long seed, GameDifficulty difficulty) {
         TablexiaRandom random = new TablexiaRandom(seed);
-        GameState gs = GameState.GameStateFactory.createInstance(null, random, difficulty, Properties.MAP_WIDTH, Properties.MAP_HEIGHT, Properties.GAME_STOPS, Properties.MAP_WIDTH / 2, Properties.MAP_HEIGHT / 2);
+        GameState gs = GameState.GameStateFactory.createInstance(null, random, difficulty, TablexiaSettings.LocaleDefinition.cs_CZ.getLocale(), Properties.MAP_WIDTH, Properties.MAP_HEIGHT, Properties.GAME_STOPS, Properties.MAP_WIDTH / 2, Properties.MAP_HEIGHT / 2);
         return gs;
     }
 
diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar
index b979729db0ad460288cfe16f07072da7b1305e93..b5166dad4d90021f6a0b45268c0755719f1d5cd4 100644
Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index d10c2e013a9f5154192ccb4c657afdac39d046ae..6a53aa049c9dd36a8940c9077293633a4439ddcc 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
-#Fri Jan 09 13:07:45 CET 2015
+#Tue Apr 12 14:42:29 CEST 2016
 distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-2.2.1-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip
diff --git a/ios/Info.plist.xml b/ios/Info.plist.xml
index fbe480ed333133bfb6797a815bda628129f43bd3..7ba837f46a6811006ed593ac647c5ff869c683b1 100644
--- a/ios/Info.plist.xml
+++ b/ios/Info.plist.xml
@@ -40,6 +40,8 @@
         <string>armv7</string>
         <string>opengles-2</string>
     </array>
+    <key>UIRequiresFullScreen</key>
+    <true />
     <key>UISupportedInterfaceOrientations</key>
     <array>
         <string>UIInterfaceOrientationLandscapeLeft</string>
diff --git a/ios/build.gradle b/ios/build.gradle
index c0de588a8bd2dc89d22fa15190eb46c1d6843ff1..0dc37319c3c76a2ef896d91061363190cbfdcd57 100644
--- a/ios/build.gradle
+++ b/ios/build.gradle
@@ -4,7 +4,7 @@ sourceCompatibility = '1.7'
 [compileJava, compileTestJava]*.options*.encoding = 'UTF-8'
 
 robovm {
-	ipaArchs = "thumbv7:arm64"
+    archs = "thumbv7:arm64"
     iosSkipSigning = false
 }
 
@@ -91,7 +91,7 @@ tasks.launchIOSDevice.doFirst {
     updateRoboVMProperties("devel", applicationIdDevel, 'Icon_devel')
 }
 
-tasks.create(name: "createDebugIPA", type: org.robovm.gradle.tasks.CreateIPATask) {
+tasks.create(name: "createDebugIPA", type: org.robovm.gradle.tasks.ArchiveTask) {
     doFirst {
     robovm.iosSignIdentity = TABLEXIA_IOS_SIGNING_IDENTITY
 	robovm.iosProvisioningProfile = TABLEXIA_IOS_DEBUG_PROVISIONING
@@ -99,7 +99,7 @@ tasks.create(name: "createDebugIPA", type: org.robovm.gradle.tasks.CreateIPATask
     }
 }
 
-tasks.create(name: "createReleaseIPA", type: org.robovm.gradle.tasks.CreateIPATask) {
+tasks.create(name: "createReleaseIPA", type: org.robovm.gradle.tasks.ArchiveTask) {
     doFirst {
     robovm.iosSignIdentity = TABLEXIA_IOS_SIGNING_IDENTITY
 	robovm.iosProvisioningProfile = TABLEXIA_IOS_RELEASE_PROVISIONING
@@ -136,4 +136,4 @@ createReleaseIPA.dependsOn updateRoboVMXML
 eclipse.project {
     name = appName + "-ios"
     natures 'org.robovm.eclipse.RoboVMNature'
-}
\ No newline at end of file
+}
diff --git a/ios/src/cz/nic/tablexia/IOSLauncher.java b/ios/src/cz/nic/tablexia/IOSLauncher.java
index 70fd0dd40d729cd74469e3db5020986fa5fa3eba..145799b120e8836ca3d08100a96836dab3e4fcd8 100644
--- a/ios/src/cz/nic/tablexia/IOSLauncher.java
+++ b/ios/src/cz/nic/tablexia/IOSLauncher.java
@@ -72,7 +72,13 @@ public class IOSLauncher extends IOSApplication.Delegate {
     private static class IOSConnectionManager implements IConnectionManager {
         @Override
         public boolean isUsingMobileData() {
-            SCNetworkReachabilityFlags flags = SCNetworkReachability.create(new InetSocketAddress(CONNECTION_CHECK_HOST, CONNECTION_CHECK_PORT)).getFlags();
+            InetSocketAddress socketAddress = new InetSocketAddress(CONNECTION_CHECK_HOST, CONNECTION_CHECK_PORT);
+            // RoboVM tries to retrive IP address using network connection. If we don't have it InetSocketAddress.getAddress() returns null
+            // in that case SCNetworkReachability.create(socketAddress) throws IllegalArgumentException
+            if (socketAddress.getAddress() == null) {
+                return false;
+            }
+            SCNetworkReachabilityFlags flags = SCNetworkReachability.create(socketAddress).getFlags();
             return flags.compareTo(SCNetworkReachabilityFlags.IsWWAN) == 1;
         }
     }
diff --git a/wrapperVersion.gradle b/wrapperVersion.gradle
new file mode 100644
index 0000000000000000000000000000000000000000..64dea4cf0746f714b066fcc889a15f4e12c21f49
--- /dev/null
+++ b/wrapperVersion.gradle
@@ -0,0 +1,3 @@
+task wrapper(type: Wrapper) {
+    gradleVersion = '2.10'
+}