Initial commit — Godot space roguelite source

- Touch controls: direct InputEventScreenTouch in shop_ui (bypass relay)
- ItemDB: static preload list instead of DirAccess scan (export fix)
- All 18 items with EN localisation (name_en, desc_en, category_en)
- Ship playstyles: NOVA-1 shield, INFERNO ram, AURORA agile/tank
- Quasar: SMBH visual, jet boost, merge, push, BH-eating
- Atlas & UI text updated EN+DE

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-21 14:38:09 +02:00
commit edc40f9008
108 changed files with 10068 additions and 0 deletions
+21
View File
@@ -0,0 +1,21 @@
extends ItemDef
func _init() -> void:
id = "wk_burst"
name = "Burst-Kern"
name_en = "Burst Core"
desc = "Feuerrate explodiert — schwächere Treffer"
desc_en = "Fire rate explodes — weaker hits"
category = "WAFFENMODUL"
category_en = "WEAPON MOD"
icon = ""
cost = 160
rarity = 3
effects = { "fire_rate_mult": 1.80, "damage_mult": 0.45 }
visual_pixels = [
[3, 0, "accent"],
[2, -1, "bright"],
[2, 1, "bright"],
[1, 0, "nose"],
]
hull_size_bonus = 0.0
+1
View File
@@ -0,0 +1 @@
uid://j6tdxxbnnxfs
+24
View File
@@ -0,0 +1,24 @@
extends ItemDef
func _init() -> void:
id = "wk_charge"
name = "Laserkanone"
name_en = "Charge Cannon"
desc = "Gedrückt halten = Aufladen — loslassen = mächtiger Schuss"
desc_en = "Hold to charge — release for a powerful shot"
category = "WAFFENMODUL"
category_en = "WEAPON MOD"
icon = ""
cost = 150
rarity = 3
effects = { "damage_mult": 1.60, "fire_rate_mult": 0.40 }
visual_pixels = [
[8, 0, "nose"],
[9, 0, "bright"],
[10, 0, "accent"],
[7, -1, "edge"],
[7, 1, "edge"],
[6, -2, "dim"],
[6, 2, "dim"],
]
hull_size_bonus = 0.0
+1
View File
@@ -0,0 +1 @@
uid://bw14fge7v00xq
+21
View File
@@ -0,0 +1,21 @@
extends ItemDef
func _init() -> void:
id = "wk_ion"
name = "Ionenstrahl"
name_en = "Ion Beam"
desc = "Schaden + zusätzliches Projektil — langsamer"
desc_en = "Damage + extra projectile — slower"
category = "WAFFENMODUL"
category_en = "WEAPON MOD"
icon = ""
cost = 140
rarity = 2
effects = { "damage_mult": 1.25, "bullet_count": 1, "speed_mult": 0.70 }
visual_pixels = [
[5, 0, "accent"],
[7, 0, "bright"],
[4, -2, "accent"],
[4, 2, "accent"],
]
hull_size_bonus = 0.0
+1
View File
@@ -0,0 +1 @@
uid://c24q5i65gcqhl
+21
View File
@@ -0,0 +1,21 @@
extends ItemDef
func _init() -> void:
id = "wk_laser"
name = "Laser-Kanone"
name_en = "Laser Gun"
desc = "Schnelles Dauerfeuer — schwächere Treffer"
desc_en = "Fast sustained fire — weaker hits"
category = "WAFFENMODUL"
category_en = "WEAPON MOD"
icon = ""
cost = 115
rarity = 1
effects = { "fire_rate_mult": 1.35, "damage_mult": 0.70 }
visual_pixels = [
[9, -2, "accent"],
[9, 2, "accent"],
[8, -2, "bright"],
[8, 2, "bright"],
]
hull_size_bonus = 0.0
+1
View File
@@ -0,0 +1 @@
uid://7psg6avxedy2
+21
View File
@@ -0,0 +1,21 @@
extends ItemDef
func _init() -> void:
id = "wk_plasma"
name = "Plasmawerfer"
name_en = "Plasma Launcher"
desc = "Explosiver Schaden — träge Projektile"
desc_en = "Explosive damage — sluggish projectiles"
category = "WAFFENMODUL"
category_en = "WEAPON MOD"
icon = ""
cost = 130
rarity = 2
effects = { "damage_mult": 1.55, "bullet_speed_mult": 0.60 }
visual_pixels = [
[7, 0, "accent"],
[8, 0, "bright"],
[6, -3, "dim"],
[6, 3, "dim"],
]
hull_size_bonus = 0.0
+1
View File
@@ -0,0 +1 @@
uid://by4hroe3nyrb8
+22
View File
@@ -0,0 +1,22 @@
extends ItemDef
func _init() -> void:
id = "wk_rail"
name = "Railgun"
name_en = "Railgun"
desc = "Hypersonisches Projektil — lange Ladezeit"
desc_en = "Hypersonic projectile — long reload"
category = "WAFFENMODUL"
category_en = "WEAPON MOD"
icon = ""
cost = 125
rarity = 2
effects = { "bullet_speed_mult": 1.50, "fire_rate_mult": 0.50 }
visual_pixels = [
[7, 0, "bright"],
[8, 0, "nose"],
[9, 0, "accent"],
[6, -1, "edge"],
[6, 1, "edge"],
]
hull_size_bonus = 0.0
+1
View File
@@ -0,0 +1 @@
uid://ca0ny064gti12
+21
View File
@@ -0,0 +1,21 @@
extends ItemDef
func _init() -> void:
id = "wk_scatter"
name = "Streuschuß"
name_en = "Scatter Shot"
desc = "Mehr Projektile — schwächer pro Treffer"
desc_en = "More projectiles — weaker per hit"
category = "WAFFENMODUL"
category_en = "WEAPON MOD"
icon = ""
cost = 115
rarity = 1
effects = { "bullet_count": 1, "damage_mult": 0.75 }
visual_pixels = [
[5, -4, "mid"],
[5, 4, "mid"],
[6, -3, "accent"],
[6, 3, "accent"],
]
hull_size_bonus = 0.0
+1
View File
@@ -0,0 +1 @@
uid://chbitntcvo2sp
+23
View File
@@ -0,0 +1,23 @@
extends ItemDef
func _init() -> void:
id = "wk_shotgun"
name = "Schrotflinte"
name_en = "Shotgun"
desc = "Breite Salve — kurze Reichweite"
desc_en = "Wide burst — short range"
category = "WAFFENMODUL"
category_en = "WEAPON MOD"
icon = ""
cost = 105
rarity = 1
effects = { "bullet_count": 2, "bullet_speed_mult": 0.40, "damage_mult": 0.80 }
visual_pixels = [
[5, -3, "mid"],
[5, 0, "mid"],
[5, 3, "mid"],
[6, -3, "accent"],
[6, 0, "accent"],
[6, 3, "accent"],
]
hull_size_bonus = 0.0
+1
View File
@@ -0,0 +1 @@
uid://m4ec31l51x41
+21
View File
@@ -0,0 +1,21 @@
extends ItemDef
func _init() -> void:
id = "wk_sniper"
name = "Präzisionswerfer"
name_en = "Precision Rifle"
desc = "Präzision + Reichweite — halbierte Kadenz"
desc_en = "Precision + range — halved fire rate"
category = "WAFFENMODUL"
category_en = "WEAPON MOD"
icon = ""
cost = 115
rarity = 1
effects = { "bullet_speed_mult": 1.30, "damage_mult": 1.18, "fire_rate_mult": 0.55 }
visual_pixels = [
[7, 0, "edge"],
[8, 0, "dim"],
[9, 0, "bright"],
[10, 0, "nose"],
]
hull_size_bonus = 0.0
+1
View File
@@ -0,0 +1 @@
uid://dloo2irxpr0r4