diff --git a/android/assets/font/roboto-bold.fnt b/android/assets/font/roboto-bold.fnt index fcce4be5b42f51034d3fd256b32f2c660ad1d8cc..e3ac72372cd9c817b628e044fe8c885902e88268 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 diff --git a/android/assets/font/roboto-regular.fnt b/android/assets/font/roboto-regular.fnt index 1ef1a155ce7ce515deccd3d7f349d7dd4d98e8fe..d83664e06cb25230afb7042bfb19a2ac1226e00b 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 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/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..1fe869f3ccf9e58b6b8176a34b389cbbf065d7a4 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… @@ -35,7 +36,7 @@ usermenu_newuser=+ Neuer Detektiv 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. @@ -72,7 +73,7 @@ game_pursuit_preloader=Stelle die\u00A0Karte zusammen, indem du einzelne Teile v 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_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/nightwatch/nightwatch_de.properties b/android/assets/text/game/nightwatch/nightwatch_de.properties index 713c7a45ec83d8675943b07a8aaebcfcc4c2637c..12b649a32488fa8e072d1fcae4b2000422379213 100644 --- a/android/assets/text/game/nightwatch/nightwatch_de.properties +++ b/android/assets/text/game/nightwatch/nightwatch_de.properties @@ -1,7 +1,7 @@ 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. +game_nocnisledovani_loadingtext=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_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. diff --git a/android/assets/text/game/pursuit/pursuit_de.properties b/android/assets/text/game/pursuit/pursuit_de.properties index 00b7cccea2b75557904e6c132a849dab8acda790..ca34695c0b9ddbdda8f2c06e7a7122a7698292b4 100644 --- a/android/assets/text/game/pursuit/pursuit_de.properties +++ b/android/assets/text/game/pursuit/pursuit_de.properties @@ -5,6 +5,6 @@ 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/robbery/robbery_cs.properties b/android/assets/text/game/robbery/robbery_cs.properties index 27243adb34d3b00f96890184f41d2adc6770ec8c..b6dfa8035a2e39ca7e9dd1e052c95b571177bde9 100644 --- a/android/assets/text/game/robbery/robbery_cs.properties +++ b/android/assets/text/game/robbery/robbery_cs.properties @@ -73,3 +73,13 @@ game_robbery_rule_ccccnotcc=LupiÄŤ bude mĂt [BLACK]{0}{1}[] a [BLACK]{2}{3}[] 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..60a9d60518a9fce5dc3c051eed3dc66e6ceb4fb1 100644 --- a/android/assets/text/game/robbery/robbery_de.properties +++ b/android/assets/text/game/robbery/robbery_de.properties @@ -3,8 +3,8 @@ 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_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 {0} Besucher richtig [BLACK]{1}/{2}[]. game_robbery_victorytext_summary_identification=identifiziert game_robbery_victorytext_summary_identification_male=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=Obertail +game_robbery_attribute_bottomattribute=Untertail +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_ca0cc0t=Wenn ein Mensch kommt, der irgendein [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[]. +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[]. +game_robbery_rule_cccc=Der Einbrecher trägt [BLACK]ein<SFIX>{0}<SFIX>{1}[] und [BLACK]ein<SFIX>{2}<SFIX>{3}[]. +game_robbery_rule_cacc=Der Einbrecher trägt etwas [BLACK]{0}es[] und [BLACK]ein<SFIX>{1}<SFIX>{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_bx0bx=Der Einbrecher trägt [BLACK]<SFIX>{0}[] wie der Mensch, der vor ihm kommt. +game_robbery_rule_bc1bc=Der Einbrecher trägt [BLACK]<SFIX>{0}[] wie der Mensch, der [BLACK]um einen vor ihm[] kommt. +game_robbery_rule_cc0notcc=Der Einbrecher 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 trägt [BLACK]ein<SFIX>{0}<SFIX>{1}[] an und kommt [BLACK]einen[] nach dem Menschen, der [BLACK]ein<SFIX>{2}<SFIX>{3}[] trägt. +game_robbery_rule_ca1cc=Der Einbrecher trägt [BLACK]ein<SFIX>{0}<SFIX>{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 trägt [BLACK]<SFIX>{0}[] wie der Mensch, der [BLACK]ob zwei Leute vor ihm[] kommt. +game_robbery_rule_cc1notcc=Der Einbrecher [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 [BLACK]trägt nichts {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 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 trägt [BLACK]ein<SFIX>{0}<SFIX>{1}[] und kommt [BLACK]zwei Leute[] vor 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[]. +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 {2}es[] trägt, dann [BLACK]ist der nächste in der Reihe der Einbrecher[]. +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, falls er [BLACK]ein<SFIX>{4}<SFIX>{5}[] trägt. +game_robbery_rule_ccccnotcc=Der Einbrecher trägt [BLACK]ein<SFIX>{0}<SFIX>{1}[] und [BLACK]ein<SFIX>{2}<SFIX>{3}[] und [BLACK]trägt kein<SFIX>{4}<SFIX>{5}[]. +game_robbery_rule_bx1bx=Der Einbrecher 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 glaichen\u0020 +constituent3_f=die glaiche\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..41e0f5c17e317a1fb2649fee8068370bcc9c5a2d 100644 --- a/android/assets/text/game/robbery/robbery_sk.properties +++ b/android/assets/text/game/robbery/robbery_sk.properties @@ -37,12 +37,14 @@ 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 @@ -52,13 +54,13 @@ game_robbery_rule_cc0cc0t=Ak prĂde ÄŤlovek, ktorĂ˝ bude maĹĄ [BLACK]{0}{1}[] a 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_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_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}[]. @@ -71,3 +73,13 @@ game_robbery_rule_ccccnotcc=Zlodej bude maĹĄ [BLACK]{0}{1}[] a [BLACK]{2}{3}[] 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_de.properties b/android/assets/text/game/shootingrange/shootingrange_de.properties index 219a94598cd9f3985066e39cf2679e38c15d8574..2f045874ffecb6190e2ff7a321b5ba17cdad9d12 100644 --- a/android/assets/text/game/shootingrange/shootingrange_de.properties +++ b/android/assets/text/game/shootingrange/shootingrange_de.properties @@ -4,7 +4,7 @@ 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 diff --git a/android/assets/text/screen/about/about_cs.properties b/android/assets/text/screen/about/about_cs.properties index 3e97338e96510de45ad9565814c99f457f9c4d2f..d980c7ee17aefb842abb6613d33c183365afd546 100644 --- a/android/assets/text/screen/about/about_cs.properties +++ b/android/assets/text/screen/about/about_cs.properties @@ -4,20 +4,20 @@ game_concept_details=Jakub Rumler developers=ProgramátoĹ™i developers_details_1=Luboš Horáček, Matyáš Latner, Václav TarantĂk, František Ĺ imon developers_details_2=Anton Danilov, Vitaliy Vashchenko, DrahomĂr KarchĹák -about_info_1 =SdruĹľenĂ CZ.NIC je správcem registru domĂ©novĂ˝ch jmen .CZ a\u00A0 vÄ›nuje se podpoĹ™e projektĹŻ prospěšnĂ˝ch pro internetovou infrastrukturu v\u00A0 ČeskĂ© republice. LaboratoĹ™e CZ.NIC jsou vĂ˝vojovĂ˝m a\u00A0 vĂ˝zkumnĂ˝m pracovištÄ›m sdruĹľenĂ. +about_info_1 =Aplikace na podporu jedincĹŻ s dyslexiĂ, vyvinutá LaboratoĹ™emi sdruĹľenĂ CZ.NIC. illustrators=Ilustrace illustrators_details=Aneta Biskupová paragraph_2=DÄ›kujeme psychological_concept=PsychologickĂ˝ koncept psychological_concept_details=Andrea Ĺ Ăchová, KarolĂna Rybářová, Jana ÄŚerná -about_info_2=SdruĹľenĂ CZ.NIC je správcem registru domĂ©novĂ˝ch jmen .CZ a\u00A0 vÄ›nuje se podpoĹ™e projektĹŻ prospěšnĂ˝ch pro internetovou infrastrukturu v\u00A0 ÄŚeskĂ© republice. LaboratoĹ™e CZ.NIC jsou vĂ˝vojovĂ˝m a\u00A0 vĂ˝zkumnĂ˝m pracovištÄ›m sdruĹľenĂ. -about_info_3=V dnešnĂ dobÄ›, kdy je práce s\u00A0 Internetem tĂ©měř nevyhnutelná, musĂ kaĹľdĂ˝ ÄŤlovÄ›k zpracovávat velkĂ© mnoĹľstvĂ informacĂ pĹ™evážnÄ› v\u00A0 textovĂ© podobÄ›. Schopnost rychle ÄŤĂst a\u00A0 psát je tam ÄŤĂm dál dĹŻleĹľitÄ›jšĂ. ProtoĹľe dyslexie postihuje schopnost bezchybnÄ› ÄŤĂst a\u00A0 psát, mohou bĂ˝t lidĂ© s dyslexiĂ v\u00A0 internetovĂ©m prostĹ™edĂ snadno znevĂ˝hodnÄ›ni. SdruĹľenĂ CZ.NIC proto vyvĂjĂ nástroj pro dÄ›ti a\u00A0 mladistvĂ©, kterĂ˝ se snažà zábavnou formou trĂ©novat právÄ› ty funkce mozku, kterĂ© jsou dyslexiĂ nejvĂce oslabenĂ©. -paragraph_2_details=VelkĂ© podÄ›kovánĂ patřà PhDr. Lence KrejÄŤovĂ© Ph.D. a\u00A0 Mgr. Cyrilu Bromovi, Ph.D., za odbornĂ© vedenĂ. MgA. JindĹ™ichu KravaĹ™Ăkovi ze studia MERGE STUDIO za zvukovĂ© podklady. Za spolupráci na slovenskĂ© verzi aplikace dÄ›kujeme doc. PaedDr. Eriku Ĺ˝ovincovi, PhD. A\u00A0 za pĹ™evedenĂ do nÄ›meckĂ©ho jazyka JohannÄ› Ginter a\u00A0 Dr. Hannelore Koch. DYS-centru Praha o.s. za podporu pĹ™i vĂ˝voji aplikace a\u00A0 všem, kteřà se podĂleli na tvorbÄ› a\u00A0 testovánĂ. +about_info_2=SdruĹľenĂ CZ.NIC je správcem registru domĂ©novĂ˝ch jmen .CZ a\u00A0vÄ›nuje se podpoĹ™e projektĹŻ prospěšnĂ˝ch pro internetovou infrastrukturu v\u00A0ÄŚeskĂ© republice. LaboratoĹ™e CZ.NIC jsou vĂ˝vojovĂ˝m a\u00A0vĂ˝zkumnĂ˝m pracovištÄ›m sdruĹľenĂ. +about_info_3=V dnešnĂ dobÄ›, kdy je práce s\u00A0 Internetem tĂ©měř nevyhnutelná, musĂ kaĹľdĂ˝ ÄŤlovÄ›k zpracovávat velkĂ© mnoĹľstvĂ informacĂ pĹ™evážnÄ› v\u00A0 textovĂ© podobÄ›. Schopnost rychle ÄŤĂst a\u00A0psát je tam ÄŤĂm dál dĹŻleĹľitÄ›jšĂ. ProtoĹľe dyslexie postihuje schopnost bezchybnÄ› ÄŤĂst a\u00A0psát, mohou bĂ˝t lidĂ© s dyslexiĂ v\u00A0 internetovĂ©m prostĹ™edĂ snadno znevĂ˝hodnÄ›ni. SdruĹľenĂ CZ.NIC proto vyvĂjĂ nástroj pro dÄ›ti a\u00A0mladistvĂ©, kterĂ˝ se snažà zábavnou formou trĂ©novat právÄ› ty funkce mozku, kterĂ© jsou dyslexiĂ nejvĂce oslabenĂ©. +paragraph_2_details=VelkĂ© podÄ›kovánĂ patřà PhDr. Lence KrejÄŤovĂ© Ph.D. a\u00A0Mgr. Cyrilu Bromovi, Ph.D., za odbornĂ© vedenĂ. MgA. JindĹ™ichu KravaĹ™Ăkovi ze studia MERGE STUDIO za zvukovĂ© podklady. Za spolupráci na slovenskĂ© verzi aplikace dÄ›kujeme doc. PaedDr. Eriku Ĺ˝ovincovi, PhD. A\u00A0za pĹ™evedenĂ do nÄ›meckĂ©ho jazyka JohannÄ› Ginter a\u00A0Dr. Hannelore Koch. DYS-centru Praha o.s. za podporu pĹ™i vĂ˝voji aplikace a\u00A0všem, kteřà se podĂleli na tvorbÄ› a\u00A0testovánĂ. paragraph_3=Licence paragraph_3_details_1_1=KĂłd aplikace je dostupnĂ˝ pod licencĂ GNU v.3(GNU GPL v.3) v -paragraph_3_details_1_2= Dalšà obsah, texty, grafika a\u00A0 zvuky jsou dostupnĂ© pod licencĂ Creative Commons UveÄŹte autora – Zachovejte licenci 3.0 Unported, pĹ™ĂpadnÄ› za dalšĂch podmĂnek. Podrobnosti naleznete na webovĂ˝ch stránkách Licence. -paragraph_3_details_2=Aplikace vyuĹľĂvá následujĂcĂch svobodnĂ˝ch knihoven a\u00A0 částĂ programĹŻ pod licencĂ Apache License 2.0\: +paragraph_3_details_1_2= Dalšà obsah, texty, grafika a\u00A0zvuky jsou dostupnĂ© pod licencĂ Creative Commons UveÄŹte autora – Zachovejte licenci 3.0 Unported, pĹ™ĂpadnÄ› za dalšĂch podmĂnek. Podrobnosti naleznete na webovĂ˝ch stránkách Licence. +paragraph_3_details_2=Aplikace vyuĹľĂvá následujĂcĂch svobodnĂ˝ch knihoven a\u00A0částĂ programĹŻ pod licencĂ Apache License 2.0\: paragraph_3_details_3=AndEngine, ActiveAndroid, AChartEngine, google-gson, RoboGuice, goolge-guice, svg-anroid. paragraph_4=Jedeme dál\! -paragraph_4_details=Práce na Tablexii rozhodnÄ› nekonÄŤĂ. Pokud tedy máte jakĂ©koliv nápady a\u00A0 pĹ™ipomĂnky, neváhejte nás kontaktovat na info@tablexia.cz +paragraph_4_details=Práce na Tablexii rozhodnÄ› nekonÄŤĂ. Pokud tedy máte jakĂ©koliv nápady a\u00A0pĹ™ipomĂnky, neváhejte nás kontaktovat na info@tablexia.cz about_info_4=VĂce informacĂ naleznete na webu \ No newline at end of file diff --git a/android/assets/text/screen/about/about_sk.properties b/android/assets/text/screen/about/about_sk.properties index a4646e424b47c438238b92555b2fcb8c21f0c263..1c8f53bec0820aae3f2898b0da9eb012e155be4b 100644 --- a/android/assets/text/screen/about/about_sk.properties +++ b/android/assets/text/screen/about/about_sk.properties @@ -4,20 +4,20 @@ game_concept_details=Jakub Rumler developers=Programátori developers_details_1=Luboš Horáček, Matyáš Latner, Václav TarantĂk, František Ĺ imon developers_details_2=Anton Danilov, Vitaliy Vashchenko, DrahomĂr KarchĹák -about_info_1=Aplikácia na podporu jedincov s\u00A0 dyslexiou vyvinutá LaboratĂłriami zdruĹľenia CZ.NIC. +about_info_1=Aplikácia na podporu jedincov s\u00A0dyslexiou vyvinutá LaboratĂłriami zdruĹľenia CZ.NIC. illustrators=Ilustrácie illustrators_details=Aneta Biskupová paragraph_2=ÄŽakujeme psychological_concept=PsychologickĂ˝ koncept psychological_concept_details=Andrea Ĺ Ăchová, KarolĂna Rybářová, Jana ÄŚerná -about_info_2=ZdruĹľenie CZ.NIC je správcom registra domĂ©novĂ˝ch mien .CZ a\u00A0 venuje sa podpore projektov prospešnĂ˝ch pre internetovĂş infraštruktĂşru v\u00A0 ÄŚeskej republike. LaboratĂłria CZ.NIC sĂş vĂ˝vojovĂ˝m a\u00A0 vĂ˝skumnĂ˝m pracoviskom zdruĹľenia. -about_info_3=V dnešnej dobe, keÄŹ je práca s\u00A0 Internetom takmer nevyhnutná, musĂ kaĹľdĂ˝ ÄŤlovek spracovávaĹĄ veÄľkĂ© mnoĹľstvo informáciĂ prevaĹľne v\u00A0 textovej podobe. SchopnosĹĄ rĂ˝chlo a\u00A0 právne ÄŤĂtaĹĄ apĂsaĹĄ je tak ÄŤĂm ÄŹalej tĂ˝m dĂ´leĹľitejšia. PretoĹľe dyslexia postihuje schopnosĹĄ bezchybne ÄŤĂtaĹĄ a\u00A0 pĂsaĹĄ, mĂ´Ĺľu byĹĄ Äľudia s\u00A0 dyslexiou v\u00A0 internetovom prostredĂ Äľahko zvĂ˝hodnenĂ. ZdruĹľenie CZ.NIC preto vyvĂja nástroj pre deti a\u00A0 mladistvĂ˝ch, ktorĂ˝ sa snažà zábavnou formou trĂ©novaĹĄ práve tie funkcie mozgu, ktorĂ© sĂş dyslexiou najviac oslabenĂ©. +about_info_2=ZdruĹľenie CZ.NIC je správcom registra domĂ©novĂ˝ch mien .CZ a\u00A0venuje sa podpore projektov prospešnĂ˝ch pre internetovĂş infraštruktĂşru v\u00A0ÄŚeskej republike. LaboratĂłria CZ.NIC sĂş vĂ˝vojovĂ˝m a\u00A0vĂ˝skumnĂ˝m pracoviskom zdruĹľenia. +about_info_3=V dnešnej dobe, keÄŹ je práca s\u00A0Internetom takmer nevyhnutná, musĂ kaĹľdĂ˝ ÄŤlovek spracovávaĹĄ veÄľkĂ© mnoĹľstvo informáciĂ prevaĹľne v\u00A0textovej podobe. SchopnosĹĄ rĂ˝chlo a\u00A0právne ÄŤĂtaĹĄ apĂsaĹĄ je tak ÄŤĂm ÄŹalej tĂ˝m dĂ´leĹľitejšia. PretoĹľe dyslexia postihuje schopnosĹĄ bezchybne ÄŤĂtaĹĄ a\u00A0pĂsaĹĄ, mĂ´Ĺľu byĹĄ Äľudia s\u00A0dyslexiou v\u00A0internetovom prostredĂ Äľahko znevĂ˝hodnenĂ. ZdruĹľenie CZ.NIC preto vyvĂja nástroj pre deti a\u00A0mladistvĂ˝ch, ktorĂ˝ sa snažà zábavnou formou trĂ©novaĹĄ práve tie funkcie mozgu, ktorĂ© sĂş dyslexiou najviac oslabenĂ©. paragraph_2_details= Za spoluprácu na slovenskej verzii aplikácie ÄŹakujeme doc.PaedDr. Eriku Ĺ˝ovincovi, PhD. a za prevedenie do nemeckĂ©ho jazyka Johanne Ginter a Dr. Hannelore Koch. DYS-centru Praha o.s. za podporu pri vĂ˝voji aplikácie a všetkĂ˝m, ktorĂ se podieÄľali na tvorbe a testovanĂ. paragraph_3=Licencia -paragraph_3_details_2=Aplikácia vyuĹľĂva nasledujĂşcich slobodnĂ˝ch kniĹľnĂc a\u00A0 ÄŤastĂ programov pod licenciou Apache License 2.0\: +paragraph_3_details_2=Aplikácia vyuĹľĂva nasledujĂşcich slobodnĂ˝ch kniĹľnĂc a\u00A0ÄŤastĂ programov pod licenciou Apache License 2.0\: paragraph_3_details_3=AndEngine, ActiveAndroid, AChartEngine, google-gson, RoboGuice, goolge-guice, svg-anroid. paragraph_4=Ideme ÄŹalej\! paragraph_4_details=Práca na Tablexii rozhodne nekonÄŤĂ. PokiaÄľ máte akĂ©koÄľvek nápady alebo pripomienky, neváhajte nás kontaktovaĹĄ na info@tablexia.cz about_info_4=Viac informáciĂ na webe paragraph_3_details_1_1=KĂłd aplikácie je dostupnĂ˝ pod licenciou GNU v.3 (GNU GPL v.3) v -paragraph_3_details_1_2=ÄŽalšà obsah, texty, grafika a\u00A0 zvuky sĂş dostupnĂ© pod licenciou Creative Commons UveÄŹte autora - Zachovajte licenciu 3.0 Unported, prĂpadne za\u00A0 ÄŹalšĂch podmienok. Podrobnosti nájdete na webovĂ˝ch stránkach Licencie. +paragraph_3_details_1_2=ÄŽalšà obsah, texty, grafika a\u00A0zvuky sĂş dostupnĂ© pod licenciou Creative Commons UveÄŹte autora - Zachovajte licenciu 3.0 Unported, prĂpadne za\u00A0ÄŹalšĂch podmienok. Podrobnosti nájdete na webovĂ˝ch stránkach Licencie. diff --git a/android/assets/text/screen/encyclopedia/encyclopedia_de.properties b/android/assets/text/screen/encyclopedia/encyclopedia_de.properties index d248955dc5ed7d1d5c6be73fa3fd3b24a94ce28d..02d194e0745eeb442d320da9e4f35826ee725dc1 100644 --- a/android/assets/text/screen/encyclopedia/encyclopedia_de.properties +++ b/android/assets/text/screen/encyclopedia/encyclopedia_de.properties @@ -4,7 +4,7 @@ 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 die 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. @@ -35,7 +35,7 @@ dysorthographia_hint_text=Lass wichtige Texte, die du geschrieben hast, immer vo # <!-- 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,7 +44,7 @@ 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. @@ -66,7 +66,7 @@ memory_auditory_definition=Hierbei handelt es sich um eine Art des Kurzzeitgedä 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 o. Ă„. einzuprägen vielleicht kannst du sie dir dann besser merken. memory_visual=Visuelles Kurzzeitgedächtnis @@ -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 lassen, ohne einen Schritt 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,18 +107,18 @@ 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 Schreib- und 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, 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. @@ -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. 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/build.gradle b/build.gradle index e7647719bb2e2938842af322eb38bc2350c96349..0ad5e2e11da11669035c11f1cf3715c42f6399ed 100644 --- a/build.gradle +++ b/build.gradle @@ -123,7 +123,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 +149,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..d5264cc7f335298d8d7a06775b4e33011401b1d3 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..88d425646e6bac3272f0401e13abfa643a8eb781 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..1a02f311446c41e0484b3804faab9d54f53d5886 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..813c133e608a9430f32cbf491be0abb9fb04264b Binary files /dev/null and b/core/assets/common/_global/application/avatar/9.jpg 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/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/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/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/unos_title.png b/core/assets/de/screen/gamemenu/gfx/unos_title.png index 02f017da611a2ba7d6f50b5efc2344eee2c12023..1813e2074397a8a2f60ac72b7394a75570136408 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/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..24f9415f2d82247e84a26c497d6dd89fa6843626 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..1a943943beb0d05e9d41039df60185e4549668f8 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..90eaaf270c393df17745b4c3591d01d352fe4263 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..7cb825419115531d8b539a4f49b51259de5d3a8a 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..de50e55212df4644052096852accd9602cbe4216 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..266f68b00e69e4165c8f62669a598991057b22e1 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/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/swipe/tile2_title.png b/core/assets/sk/screen/panorama/gfx/swipe/tile2_title.png index 21ab91658cdcaf6bc211aa6961de180e6fdc5c25..94b9a33b715ad3cbdc9d164d971d6c7f32dee8af 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/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 3c85f649d72d0c003d9b72763c9b3a79592fcb95..57f93d6c69f0d8bdcebc208e760dd3f6a6974c75 100644 --- a/core/src/cz/nic/tablexia/TablexiaApplication.java +++ b/core/src/cz/nic/tablexia/TablexiaApplication.java @@ -215,8 +215,8 @@ 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); + setScreenDimmerBounds(); if (screenSizeUnderThreshold != ComponentScaleUtil.isUnderThreshold()) { ApplicationBus.getInstance().publishAsync(new ScreenSizeThresholdChanged(ComponentScaleUtil.isUnderThreshold())); diff --git a/core/src/cz/nic/tablexia/TablexiaSettings.java b/core/src/cz/nic/tablexia/TablexiaSettings.java index 8eb87ecb56683a4523aaa2208facf8e8101c8486..e24c2e75440b09c29900738f7d75363c6e06ba9f 100644 --- a/core/src/cz/nic/tablexia/TablexiaSettings.java +++ b/core/src/cz/nic/tablexia/TablexiaSettings.java @@ -36,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"; @@ -60,6 +61,7 @@ public class TablexiaSettings { private Preferences preferences; private LocaleDefinition systemLocale; private LocaleDefinition selectedLocale; + private LocaleDefinition lastLocale; private User selectedUser; @@ -176,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)); @@ -273,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(); } @@ -388,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(); } diff --git a/core/src/cz/nic/tablexia/TablexiaStorage.java b/core/src/cz/nic/tablexia/TablexiaStorage.java index 3cfe348c79e32a0c99a152617e2461e63ae5903a..2e36171abddd9ef47e90314750a9ab167f6bdcd6 100644 --- a/core/src/cz/nic/tablexia/TablexiaStorage.java +++ b/core/src/cz/nic/tablexia/TablexiaStorage.java @@ -137,9 +137,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/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/kidnapping/KidnappingGame.java b/core/src/cz/nic/tablexia/game/games/kidnapping/KidnappingGame.java index 8a2433477451a1f02f75d4e606fdd64517dfc059..52a6e2c32de68a45c7a0c520bc1b42d92c281aa6 100644 --- a/core/src/cz/nic/tablexia/game/games/kidnapping/KidnappingGame.java +++ b/core/src/cz/nic/tablexia/game/games/kidnapping/KidnappingGame.java @@ -18,6 +18,7 @@ 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; } 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/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..d51f99ef05d042378680a1e87adc833734fd49bb 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.M; + 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..30ee69ffbf4bbe64cdddc9d7daad78dcc97d2293 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,10 @@ 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>"; + 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 +263,13 @@ 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)); + + for (String ruleMessageConstituentParameter: prepareRuleMessageConstituentParameters(abstractTablexiaScreen)) { + formattedRule = formattedRule.replaceFirst(SUFFIX_STRING, ruleMessageConstituentParameter); + } + + return formattedRule; } /** @@ -352,6 +359,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 da206fb22fae81dae605afd5f22f5bc75bd56359..acf0021daeac7ff80cd8118c066c4bd9c5cc9a8f 100644 --- a/core/src/cz/nic/tablexia/loader/application/ApplicationAtlasManager.java +++ b/core/src/cz/nic/tablexia/loader/application/ApplicationAtlasManager.java @@ -67,6 +67,10 @@ 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"; diff --git a/core/src/cz/nic/tablexia/loader/application/ApplicationFontManager.java b/core/src/cz/nic/tablexia/loader/application/ApplicationFontManager.java index 0dc9ccae9ded50ce979ae0fa1dc399ad0544c9cf..50372d530ffe97c93b62763bccc6b3ffef0f0b87 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,45 @@ 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; } } \ No newline at end of file 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/user/UserAvatarDefinition.java b/core/src/cz/nic/tablexia/menu/user/UserAvatarDefinition.java index 32518df780b179fff1e7a35a6eb28f927c3cce1d..40b13b9ff12fa20b0c259a3457de03f256fda80f 100644 --- a/core/src/cz/nic/tablexia/menu/user/UserAvatarDefinition.java +++ b/core/src/cz/nic/tablexia/menu/user/UserAvatarDefinition.java @@ -15,7 +15,11 @@ public enum UserAvatarDefinition { 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_8(ApplicationAtlasManager.USERMENU_MENUITEM_AVATAR_8), + AVATAR_9(ApplicationAtlasManager.USERMENU_MENUITEM_AVATAR_9), + AVATAR_10(ApplicationAtlasManager.USERMENU_MENUITEM_AVATAR_10), + AVATAR_11(ApplicationAtlasManager.USERMENU_MENUITEM_AVATAR_11), + AVATAR_12(ApplicationAtlasManager.USERMENU_MENUITEM_AVATAR_12); private String avatarPath; diff --git a/core/src/cz/nic/tablexia/model/UserDAO.java b/core/src/cz/nic/tablexia/model/UserDAO.java index ef3b22ab1a4604c29fd9290c9091053776e86db9..4bb471b8f7aeb34028f3911b08f77113f0147ded 100644 --- a/core/src/cz/nic/tablexia/model/UserDAO.java +++ b/core/src/cz/nic/tablexia/model/UserDAO.java @@ -282,95 +282,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/game/GameDAO.java b/core/src/cz/nic/tablexia/model/game/GameDAO.java index 445f0fb88f2789c4c771f8b4591f1031131b6370..190e59f635b3a8dd8b9aa55ae808702f1f8242c1 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 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/PanoramaScreen.java b/core/src/cz/nic/tablexia/screen/createuser/PanoramaScreen.java index c4740dc04fff123a5c90fb44b0b0aa6946d47c41..197390c65b84b56aad685dd3d5e92e43c1198a91 100644 --- a/core/src/cz/nic/tablexia/screen/createuser/PanoramaScreen.java +++ b/core/src/cz/nic/tablexia/screen/createuser/PanoramaScreen.java @@ -86,6 +86,8 @@ 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"; + 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"; @@ -157,6 +159,7 @@ 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)); @@ -424,7 +427,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 +630,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,21 +734,34 @@ 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())); + TablexiaNoBlendingImage tile02 = new TablexiaNoBlendingImage(getScreenTextureRegion(GFX_PATH + "swipe/tile2")); + tile02.setSize((int) (panel.getHeight() * (tile02.getWidth() / tile02.getHeight())), panel.getHeight()); + tile2.add(tile02); + + Image tile02_title = new Image(getScreenTextureRegion(GFX_PATH + "swipe/tile2_title")); + tile02_title.setSize((int) (panel.getHeight() * (tile02_title.getWidth() / tile02_title.getHeight())), panel.getHeight()); + tile2.add(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")); + final Image tile3Title = new Image(getScreenTextureRegion(GFX_PATH + "swipe/tile3_title")); + + tile3Background.setSize((int) (panel.getHeight() * (tile3Background.getWidth() / tile3Background.getHeight())), panel.getHeight()); + tile3Title.setSize((int) (panel.getHeight() * (tile3Title.getWidth() / tile3Title.getHeight())), panel.getHeight()); + + //Detective door group final Group detectiveDoor = new Group(); tile3Title.addListener(new ClickListener() { 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..9fc247a2cfb9629e292f36c9fcb5914c9f0ef43b 100644 --- a/core/src/cz/nic/tablexia/screen/createuser/panorama/PanoramaActorsLayout.java +++ b/core/src/cz/nic/tablexia/screen/createuser/panorama/PanoramaActorsLayout.java @@ -56,7 +56,7 @@ 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; diff --git a/core/src/cz/nic/tablexia/screen/gamemenu/GameMenuScreen.java b/core/src/cz/nic/tablexia/screen/gamemenu/GameMenuScreen.java index 1714c5573f5abb0efd74c90f93ef985dbde7bd4d..0523c4eafa5f5abe5303ada1fa225b313ed94ed4 100644 --- a/core/src/cz/nic/tablexia/screen/gamemenu/GameMenuScreen.java +++ b/core/src/cz/nic/tablexia/screen/gamemenu/GameMenuScreen.java @@ -34,8 +34,10 @@ 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; @@ -203,6 +205,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/halloffame/HallOfFameScreen.java b/core/src/cz/nic/tablexia/screen/halloffame/HallOfFameScreen.java index b20e64391c673ae8f02c6ad4bb5b6dd29734899f..a04f193afad0cbdf7edcdb666ab1466719e4aafe 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,9 @@ 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.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 +66,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,6 +102,7 @@ public class HallOfFameScreen extends AbstractTablexiaScreen<Map<ITrophyDefiniti private HorizontalGroup backgroundGroup; private Group foregroundGroup; + private TablexiaNoBlendingImage wallImage; private ScrollPane scrollPane; @@ -129,11 +134,42 @@ 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)); + wallImage.setVisible(false); + + scrollPane = new ScrollPane(contentStack) { + private float lastScrollX = 0; + + @Override + public void act(float delta) { + super.act(delta); + + if(lastScrollX != getVisualScrollX()) { + lastScrollX = getVisualScrollX(); + + if(isRightEdge()) { + wallImage.setVisible(true); + float posX = getX() + getWidth() - (scrollPane.getVisualScrollX() - (scrollPane.getWidget().getWidth() - scrollPane.getWidth())); + wallImage.setPosition(MathUtils.floor(posX), getY()); + wallImage.setSize(wallImage.getWidth(), scrollPane.getHeight()); + } + else if(isLeftEdge()) { + wallImage.setVisible(true); + float posX = getX() - wallImage.getWidth() - scrollPane.getVisualScrollX(); + wallImage.setPosition(MathUtils.ceil(posX), getY()); + wallImage.setSize(wallImage.getWidth(), scrollPane.getHeight()); + } + else { + wallImage.setVisible(false); + } + } + } + }; scrollPane.setScrollingDisabled(false, true); scrollPane.setFillParent(true); getStage().addActor(scrollPane); + getStage().addActor(wallImage); if (screenState.containsKey(SCREEN_STATE_SCROLL_POSITION_X)) { scrollPane.pack(); @@ -388,11 +424,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 +481,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..7c4efa19fb0a3f215b14a30a94df3b4f667bdd73 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); + current = MathUtils.clamp(current, 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/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/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..b41ed9c46736d56f434209fc2edc7d5bea36fcfc 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 @@ -15,7 +15,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; 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..05c0fe93e20bb52c351bd7bfb42a15fa780db6fe 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 @@ -6,12 +6,14 @@ import com.badlogic.gdx.scenes.scene2d.InputListener; 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 +38,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, 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/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; } }