Initial scaffold: Godot 4.3 scenes, systems, and placeholders.

Wire all twelve levels with billboard prefabs, autoload systems (inventory, achievements, mock shop, DE/EN/BY), and satire audio locks so the Title→End flow is playable with placeholder assets.
This commit is contained in:
copilot 2026-09-14 18:36:02 +02:00
commit 938cc4bc82
114 changed files with 4819 additions and 0 deletions

72
data/achievements.json Normal file
View file

@ -0,0 +1,72 @@
[
{
"id": "died_100",
"title_key": "ach_died_100_title",
"desc_key": "ach_died_100_desc"
},
{
"id": "tiramisu_tonne",
"title_key": "ach_tiramisu_title",
"desc_key": "ach_tiramisu_desc"
},
{
"id": "snake_massage",
"title_key": "ach_snake_massage_title",
"desc_key": "ach_snake_massage_desc"
},
{
"id": "milk_skip",
"title_key": "ach_milk_skip_title",
"desc_key": "ach_milk_skip_desc"
},
{
"id": "first_glitzo",
"title_key": "ach_first_glitzo_title",
"desc_key": "ach_first_glitzo_desc"
},
{
"id": "moon_cheese",
"title_key": "ach_moon_cheese_title",
"desc_key": "ach_moon_cheese_desc"
},
{
"id": "eaten_to_death",
"title_key": "ach_eaten_title",
"desc_key": "ach_eaten_desc"
},
{
"id": "played_hour",
"title_key": "ach_hour_title",
"desc_key": "ach_hour_desc"
},
{
"id": "cool_sunglasses",
"title_key": "ach_sunglasses_title",
"desc_key": "ach_sunglasses_desc"
},
{
"id": "dressler_apples",
"title_key": "ach_dressler_title",
"desc_key": "ach_dressler_desc"
},
{
"id": "beat_bowser",
"title_key": "ach_bowser_title",
"desc_key": "ach_bowser_desc"
},
{
"id": "beat_hongkong",
"title_key": "ach_hongkong_title",
"desc_key": "ach_hongkong_desc"
},
{
"id": "tooth_millionaire",
"title_key": "ach_tooth_title",
"desc_key": "ach_tooth_desc"
},
{
"id": "all_burgers",
"title_key": "ach_all_title",
"desc_key": "ach_all_desc"
}
]

13
data/items.json Normal file
View file

@ -0,0 +1,13 @@
[
{"id": "tooth", "name_key": "item_tooth", "stackable": true},
{"id": "snake", "name_key": "item_snake", "stackable": false},
{"id": "milk", "name_key": "item_milk", "stackable": true, "usable": true},
{"id": "banana", "name_key": "item_banana", "stackable": true},
{"id": "wartchen", "name_key": "item_wartchen", "stackable": true},
{"id": "sunglasses", "name_key": "item_sunglasses", "stackable": false},
{"id": "death_ticket", "name_key": "item_death_ticket", "stackable": true, "usable": true},
{"id": "moon_sword", "name_key": "item_moon_sword", "stackable": false},
{"id": "chicken", "name_key": "item_chicken", "stackable": true},
{"id": "cheese", "name_key": "item_cheese", "stackable": true},
{"id": "tiramisu", "name_key": "item_tiramisu", "stackable": true, "usable": true}
]

88
data/locales/by.json Normal file
View file

@ -0,0 +1,88 @@
{
"menu_start": "Losgeh!",
"menu_continue": "Weidermacha",
"menu_settings": "Einstellunga",
"menu_shop": "Pay-to-Win-Gschäft",
"menu_inventory": "Rucksack",
"menu_language": "Sproch",
"menu_sfx": "SFX-Lautstärkn",
"menu_music": "Musikk (bleibt laut)",
"menu_quit": "Aufhören",
"menu_resume": "Zruck",
"menu_buy_point": "1€ = 1 Dresslerpunkt (Mock)",
"menu_points": "Dresslerpunkte: %s",
"title_subtitle": "Pay2Win – damit de Reichen kommen",
"title_bubble": "Oi mei, des wird so verrückt. Hongkong is a weiser Mo.",
"death_title": "DU BIST DAHI",
"death_continue": "No amoi sterbn?",
"interact_hint": "[E] Redn",
"exit_hint": "Level verlassn",
"lang_voice_de": "Am deutschen Wesen soll die Welt genesen",
"lang_voice_en": "I drink my garden in the cinema",
"lang_voice_by": "Schulz",
"dialog_reif": "Wennst no ned reif bist, muaß i da an Schuah schenken!",
"dialog_snake": "I bin ganz verspannt, oi tut des weh",
"dialog_bear": "Hongkong hot den Rasenmäher zu Schlangen gmochd",
"dialog_hongkong_npc": "Hongkong, Hongkong is er!",
"dialog_cow": "Massage: Schlang / Spieler / Quadrat-Emoji",
"dialog_farmer": "Servus! De Schweine brauchn Quests und der Urhahn pickt.",
"dialog_mage": "Rechts gehts zum Hof. Links is Fake-Open-World.",
"dialog_cheese": "Der Mond is aus Kas. Willst a Sonnenbrille?",
"dialog_bowser": "I halt a Hendl gfangn! (Fake Bowser)",
"dialog_hongkong_boss": "I kimm wieder!",
"dialog_bear_end": "Guad dassd unsere Welt grettet host. Aber Zahnarzt kostet immer no.",
"dialog_dressler": "Dresslauf die Eins!",
"dialog_intro_1": "Du sitzt an deim Tisch…",
"dialog_intro_2": "Du muasst es schaffn, sonst kommt der Hongkong",
"death_shoe": "Schuah gschenkt kriagt",
"death_mower": "Mähdrescher-Biss",
"death_rooster": "Vom Urhahn totpickt",
"death_quirxel": "Vom Quirxel gquadratet",
"death_default": "Z'Tode gstorbn",
"item_tooth": "Zahn",
"item_snake": "Schlang",
"item_milk": "Selbergmelkte Milch",
"item_banana": "Banane",
"item_wartchen": "Wartchen",
"item_sunglasses": "Coole Sonnenbrille",
"item_death_ticket": "Ticket: Z'Tode gessen",
"item_moon_sword": "Mondschwert",
"item_chicken": "Hendl",
"item_cheese": "Verschimmelta Kas",
"item_tiramisu": "Tiramisu (kg)",
"shop_sunglasses": "Sonnenbrille (5 Punkte)",
"shop_ticket": "Z'Tode-gessen-Ticket (3 Punkte)",
"shop_milk": "Milch-Skip (10 Punkte)",
"shop_tiramisu": "1kg Tiramisu (1 Punkt)",
"toast_achievement": "Achievement: %s",
"build_house": "Haus baua",
"ach_died_100_title": "Z'Tode gstorbn",
"ach_died_100_desc": "100x sterbn",
"ach_tiramisu_title": "Jetzt is Abnehma ogfragt",
"ach_tiramisu_desc": "1 Tonne Tiramisu essn",
"ach_snake_massage_title": "Schlangenmassage",
"ach_snake_massage_desc": "Schlang zum Masseur bringa",
"ach_milk_skip_title": "Selbergmelkte Milch",
"ach_milk_skip_desc": "Milch trinkn und zum Endboss skippen",
"ach_first_glitzo_title": "So pixelig dass i scho a Pixel war",
"ach_first_glitzo_desc": "Ersten Glitzo tötn",
"ach_moon_cheese_title": "Jetzt woaß i dass der Mond aus Kas is",
"ach_moon_cheese_desc": "Mond-Level betretn",
"ach_eaten_title": "Z'Tode gessen",
"ach_eaten_desc": "Z'Tode-gessen-Ticket essn",
"ach_hour_title": "Überlegt",
"ach_hour_desc": "1 Stund spuin",
"ach_sunglasses_title": "Coole Sonnenbrille",
"ach_sunglasses_desc": "Sonnenbrille am Mond kaafn",
"ach_dressler_title": "De Äpfel san heit guat dresselt worn",
"ach_dressler_desc": "Dresslermeister bsiegn",
"ach_bowser_title": "Du host einfach den Bowser bsiegt",
"ach_bowser_desc": "Bowser bsiegn",
"ach_hongkong_title": "Du host des endgültig geglitched",
"ach_hongkong_desc": "Hongkong bsiegn",
"ach_tooth_title": "Du bist jetzt Zahnionär",
"ach_tooth_desc": "Zähne beim Zahnarzt klauen",
"ach_all_title": "Burger, Burger, Burger. Heit ess i alle Quests",
"ach_all_desc": "Alle Achievements freischaltn",
"burger_cham": "Burger! Beste Qualität von der Explosion der Spiele"
}

88
data/locales/de.json Normal file
View file

@ -0,0 +1,88 @@
{
"menu_start": "Starten",
"menu_continue": "Weiter",
"menu_settings": "Einstellungen",
"menu_shop": "Pay-to-Win-Shop",
"menu_inventory": "Inventar",
"menu_language": "Sprache",
"menu_sfx": "SFX-Lautstärke",
"menu_music": "Musik (gesperrt laut)",
"menu_quit": "Beenden",
"menu_resume": "Zurück",
"menu_buy_point": "1€ = 1 Dresslerpunkt (Mock)",
"menu_points": "Dresslerpunkte: %s",
"title_subtitle": "Pay2Win – um reiche Leute anzulocken",
"title_bubble": "Oh mein Gott, es wird so verrückt. Hongkong ist ein weiser Mann.",
"death_title": "DU BIST GESTORBEN",
"death_continue": "Nochmal sterben wollen?",
"interact_hint": "[E] Interagieren",
"exit_hint": "Level verlassen",
"lang_voice_de": "Am deutschen Wesen soll die Welt genesen",
"lang_voice_en": "I drink my garden in the cinema",
"lang_voice_by": "Schulz",
"dialog_reif": "Wenn du noch nicht reif bist, muss ich dir einen Schuh schenken!",
"dialog_snake": "Ich bin sehr verspannt, oh, mir tut alles so weh",
"dialog_bear": "Hongkong hat den Rasenmäher zu Schlangen verwandelt",
"dialog_hongkong_npc": "Hongkong, Hongkong ist er!",
"dialog_cow": "Massageoptionen: Schlange / Spieler / Quadrat-Emoji",
"dialog_farmer": "Servus! Die Schweine brauchen Quests und der Urhahn pickt.",
"dialog_mage": "Der Weg nach rechts führt zum Bauernhof. Links ist Fake-Open-World.",
"dialog_cheese": "Der Mond ist aus Käse. Willst du eine Sonnenbrille?",
"dialog_bowser": "Ich halte ein Huhn gefangen! (Fake Bowser)",
"dialog_hongkong_boss": "Ich werde wiederkommen!",
"dialog_bear_end": "Gut, dass du unsere Welt gerettet hast. Aber die Zahnarztkosten sind immer noch teuer.",
"dialog_dressler": "Dresslauf die Eins!",
"dialog_intro_1": "Du sitzt an deinem Tisch…",
"dialog_intro_2": "Du musst es schaffen, sonst kommt der Hongkong",
"death_shoe": "Schuh geschenkt",
"death_mower": "Mähdrescher-Biss",
"death_rooster": "Vom Urhahn totgepickt",
"death_quirxel": "Von einem Quirxel gequadratet",
"death_default": "Zu Tode gestorben",
"item_tooth": "Zahn",
"item_snake": "Schlange",
"item_milk": "Selbst gemelkte Milch",
"item_banana": "Banane",
"item_wartchen": "Wartchen",
"item_sunglasses": "Coole Sonnenbrille",
"item_death_ticket": "Ticket: Zu Tode gegessen",
"item_moon_sword": "Mondschwert",
"item_chicken": "Huhn",
"item_cheese": "Verschimmelter Käse",
"item_tiramisu": "Tiramisu (kg)",
"shop_sunglasses": "Sonnenbrille (5 Punkte)",
"shop_ticket": "Zu-Tode-gegessen-Ticket (3 Punkte)",
"shop_milk": "Milch-Skip (10 Punkte)",
"shop_tiramisu": "1kg Tiramisu (1 Punkt)",
"toast_achievement": "Achievement: %s",
"build_house": "Haus bauen",
"ach_died_100_title": "Zu Tode gestorben",
"ach_died_100_desc": "100x sterben",
"ach_tiramisu_title": "Jetzt ist Abnehmen angesagt",
"ach_tiramisu_desc": "1 Tonne Tiramisu essen",
"ach_snake_massage_title": "Schlangenmassage",
"ach_snake_massage_desc": "Schlange zum Masseur bringen",
"ach_milk_skip_title": "Selbst gemelkte Milch",
"ach_milk_skip_desc": "Milch trinken und zum Endboss skippen",
"ach_first_glitzo_title": "Das ist ja so pixelig, dass ich schon ein Pixel würde",
"ach_first_glitzo_desc": "Ersten Glitzo töten",
"ach_moon_cheese_title": "Jetzt weiß ich, dass der Mond aus Käse ist",
"ach_moon_cheese_desc": "Mond-Level betreten",
"ach_eaten_title": "Zu Tode gegessen",
"ach_eaten_desc": "Zu-Tode-gegessen-Ticket essen",
"ach_hour_title": "Überlegt",
"ach_hour_desc": "1 Stunde spielen",
"ach_sunglasses_title": "Coole Sonnenbrille",
"ach_sunglasses_desc": "Sonnenbrille auf dem Mond kaufen",
"ach_dressler_title": "Die Äpfel wurden heute echt gut gedresselt",
"ach_dressler_desc": "Dresslermeister besiegen",
"ach_bowser_title": "Du hast einfach den Bowser besiegt",
"ach_bowser_desc": "Bowser besiegen",
"ach_hongkong_title": "Du hast das endgültig geglitched",
"ach_hongkong_desc": "Hongkong besiegen",
"ach_tooth_title": "Du bist jetzt Zahnionär",
"ach_tooth_desc": "Zähne beim Zahnarzt klauen",
"ach_all_title": "Burger, Burger, Burger. Heute ess ich alle Quests",
"ach_all_desc": "Alle Achievements freischalten",
"burger_cham": "Burger! Beste Qualität von der Explosion der Spiele"
}

88
data/locales/en.json Normal file
View file

@ -0,0 +1,88 @@
{
"menu_start": "Start",
"menu_continue": "Continue",
"menu_settings": "Settings",
"menu_shop": "Pay-to-Win Shop",
"menu_inventory": "Inventory",
"menu_language": "Language",
"menu_sfx": "SFX Volume",
"menu_music": "Music (locked loud)",
"menu_quit": "Quit",
"menu_resume": "Resume",
"menu_buy_point": "1€ = 1 Dressler Point (Mock)",
"menu_points": "Dressler Points: %s",
"title_subtitle": "Pay2Win – to attract rich people",
"title_bubble": "Oh my god, it will get so crazy. Hongkong is a wise man.",
"death_title": "YOU DIED",
"death_continue": "Want to die again?",
"interact_hint": "[E] Interact",
"exit_hint": "Leave level",
"lang_voice_de": "Am deutschen Wesen soll die Welt genesen",
"lang_voice_en": "I drink my garden in the cinema",
"lang_voice_by": "Schulz",
"dialog_reif": "If you are not ripe yet, I must gift you a shoe!",
"dialog_snake": "I am very tense, oh everything hurts",
"dialog_bear": "Hongkong turned the lawnmower into snakes",
"dialog_hongkong_npc": "Hongkong, Hongkong is he!",
"dialog_cow": "Massage options: Snake / Player / Square Emoji",
"dialog_farmer": "Howdy! Pigs need quests and the Ur-rooster pecks.",
"dialog_mage": "Right path leads to the farm. Left is fake open world.",
"dialog_cheese": "The moon is made of cheese. Want sunglasses?",
"dialog_bowser": "I am holding a chicken hostage! (Fake Bowser)",
"dialog_hongkong_boss": "I will return!",
"dialog_bear_end": "Good that you saved our world. But dental costs are still expensive.",
"dialog_dressler": "Dress run the one!",
"dialog_intro_1": "You sit at your desk…",
"dialog_intro_2": "You must succeed, or Hongkong comes",
"death_shoe": "Gifted a shoe",
"death_mower": "Combine-harvester bite",
"death_rooster": "Pecked to death by Ur-rooster",
"death_quirxel": "Squared by a Quirxel",
"death_default": "Died to death",
"item_tooth": "Tooth",
"item_snake": "Snake",
"item_milk": "Self-reported milk",
"item_banana": "Banana",
"item_wartchen": "Wartchen",
"item_sunglasses": "Cool sunglasses",
"item_death_ticket": "Ticket: Eaten to death",
"item_moon_sword": "Moon sword",
"item_chicken": "Chicken",
"item_cheese": "Moldy cheese",
"item_tiramisu": "Tiramisu (kg)",
"shop_sunglasses": "Sunglasses (5 points)",
"shop_ticket": "Eaten-to-death ticket (3 points)",
"shop_milk": "Milk skip (10 points)",
"shop_tiramisu": "1kg tiramisu (1 point)",
"toast_achievement": "Achievement: %s",
"build_house": "Build house",
"ach_died_100_title": "Died to death",
"ach_died_100_desc": "Die 100 times",
"ach_tiramisu_title": "Time to lose weight",
"ach_tiramisu_desc": "Eat 1 ton of tiramisu",
"ach_snake_massage_title": "Snake massage",
"ach_snake_massage_desc": "Bring the snake to the masseur",
"ach_milk_skip_title": "Self-reported milk",
"ach_milk_skip_desc": "Drink milk and skip to final boss",
"ach_first_glitzo_title": "So pixelly I might become a pixel",
"ach_first_glitzo_desc": "Kill the first Glitzo",
"ach_moon_cheese_title": "Now I know the moon is cheese",
"ach_moon_cheese_desc": "Enter the moon level",
"ach_eaten_title": "Eaten to death",
"ach_eaten_desc": "Eat the eaten-to-death ticket",
"ach_hour_title": "Thoughtful",
"ach_hour_desc": "Play for 1 hour",
"ach_sunglasses_title": "Cool sunglasses",
"ach_sunglasses_desc": "Buy sunglasses on the moon",
"ach_dressler_title": "The apples were dressed well today",
"ach_dressler_desc": "Defeat Dresslermeister",
"ach_bowser_title": "You simply beat Bowser",
"ach_bowser_desc": "Defeat Bowser",
"ach_hongkong_title": "You finally glitched it",
"ach_hongkong_desc": "Defeat Hongkong",
"ach_tooth_title": "You are now a toothionaire",
"ach_tooth_desc": "Steal teeth at the dentist",
"ach_all_title": "Burger, Burger, Burger. Today I eat all quests",
"ach_all_desc": "Unlock all achievements",
"burger_cham": "Burger! Best quality from Explosion der Spiele"
}