Lava abgeschwächt, Archetypen aus Datei mit CI-Messlauf, Kartentext folgt Schriftgröße, Gamepad in Menüs, Anleitung 2 mit sicherem Angriff, Übersetzungsprüfung, Lint und gestaffelte CI
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QPgKvy5W9WRNFHjkm5QsHx
This commit is contained in:
@@ -7,17 +7,35 @@ const RESONANCE_STEPS := [0, 1, 2, 3, 3]
|
||||
|
||||
# Gemessene Stärke der Elementkombinationen (Siegquote gegen das Feld, KI gegen KI, 60 Partien je Archetyp, tests/strength_probe.gd).
|
||||
const ARCHETYPE_STRENGTH := {
|
||||
"Feuer": 38, "Wasser": 38, "Erde": 55, "Luft": 55,
|
||||
"Feuer+Wasser": 45, "Feuer+Erde": 78, "Feuer+Luft": 46,
|
||||
"Wasser+Erde": 50, "Wasser+Luft": 45, "Erde+Luft": 78,
|
||||
"Feuer": 36, "Wasser": 40, "Erde": 55, "Luft": 55,
|
||||
"Feuer+Wasser": 50, "Feuer+Erde": 65, "Feuer+Luft": 46,
|
||||
"Wasser+Erde": 51, "Wasser+Luft": 45, "Erde+Luft": 78,
|
||||
}
|
||||
|
||||
|
||||
|
||||
const ARCHETYPE_PATH := "res://data/archetypen.json"
|
||||
static var _strength: Dictionary = {}
|
||||
|
||||
|
||||
## Gemessene Werte aus data/archetypen.json (vom Messlauf geschrieben), sonst die eingebaute Tabelle.
|
||||
static func strength() -> Dictionary:
|
||||
if _strength.is_empty():
|
||||
_strength = ARCHETYPE_STRENGTH.duplicate()
|
||||
if FileAccess.file_exists(ARCHETYPE_PATH):
|
||||
var json := JSON.new()
|
||||
if json.parse(FileAccess.get_file_as_string(ARCHETYPE_PATH)) == OK and json.data is Dictionary:
|
||||
for k in json.data:
|
||||
if _strength.has(k):
|
||||
_strength[k] = int(json.data[k])
|
||||
return _strength
|
||||
|
||||
|
||||
## Elementkombinationen einer Stufe: "leicht" die schwächere Hälfte, "schwer" die stärkere, sonst alle.
|
||||
static func archetypes(tier: String = "") -> Array:
|
||||
var keys: Array = ARCHETYPE_STRENGTH.keys()
|
||||
keys.sort_custom(func(a, b): return ARCHETYPE_STRENGTH[a] < ARCHETYPE_STRENGTH[b])
|
||||
var table := strength()
|
||||
var keys: Array = table.keys()
|
||||
keys.sort_custom(func(a, b): return table[a] < table[b])
|
||||
var half: int = keys.size() / 2
|
||||
match tier:
|
||||
"leicht":
|
||||
|
||||
Reference in New Issue
Block a user