edc40f9008
- 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>
30 lines
1.6 KiB
GDScript
30 lines
1.6 KiB
GDScript
extends RefCounted
|
|
class_name ItemDef
|
|
|
|
# Base class for all Werkstatt items. Each item is its own .gd file in res://items/
|
|
# that extends ItemDef and fills the fields in _init().
|
|
# ItemDB auto-discovers all .gd files in res://items/ at first access.
|
|
|
|
# ─── Pflichtfelder ────────────────────────────────────────────────────────────
|
|
var id: String = ""
|
|
var name: String = ""
|
|
var name_en: String = ""
|
|
var desc: String = ""
|
|
var desc_en: String = ""
|
|
var category: String = "" # "WAFFENMODUL" | "HÜLLENMOD" | "ANTRIEBSMOD" | "SPEZIAL"
|
|
var category_en: String = "" # "WEAPON MOD" | "HULL MOD" | "DRIVE MOD" | "SPECIAL"
|
|
var icon: String = "◈"
|
|
var cost: int = 50
|
|
var rarity: int = 0 # 0=Common, 1=Uncommon, 2=Rare, 3=Epic
|
|
var effects: Dictionary = {} # ShipStats keys → multipliers/additives
|
|
|
|
# ─── Visuelle Anhänge am Schiff ───────────────────────────────────────────────
|
|
# Format: [[x_offset, y_offset, "color_key"], ...]
|
|
# color_key muss ein Schlüssel in der Schiffs-Palette sein (nose, bright, mid,
|
|
# dim, accent, edge, shadow) oder "white" / "red" / "yellow" / "green" als Fallback.
|
|
var visual_pixels: Array = []
|
|
|
|
# ─── Schiffswachstum ──────────────────────────────────────────────────────────
|
|
# Nur Items mit hull_size_bonus > 0 vergrößern das Schiff.
|
|
var hull_size_bonus: float = 0.0
|