update
This commit is contained in:
1 parent
f2c609a08b
commit
1d563b9eec
34 files changed
+5486
-643
No files matched your search
@@ -0,0 +1,69 @@
|
||||
class_name CheatScreen
|
||||
extends Control
|
||||
## Cheats zum Ausprobieren: Münzen, Staub, Level, Skills, Kampagnenkapitel und Sammlung direkt setzen.
|
||||
## Jeder Knopf speichert sofort; oben steht der aktuelle Stand.
|
||||
|
||||
var app
|
||||
var status_label: Label
|
||||
var msg_label: Label
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
Style.header(self, "Cheats", func(): app.show_screen(MenuScreen.new()))
|
||||
status_label = Style.label(self, "", 16, Style.GOLD, Rect2(40, 90, 1200, 48), "left", true)
|
||||
status_label.autowrap_mode = TextServer.AUTOWRAP_WORD
|
||||
var groups := [
|
||||
["Währung", [["+1.000 Münzen", func(): app.profile.coins += 1000], ["+10.000 Münzen", func(): app.profile.coins += 10000],
|
||||
["+1.000 Staub", func(): app.profile.dust += 1000], ["+10.000 Staub", func(): app.profile.dust += 10000]]],
|
||||
["Erfahrung", [["+1 Level", func(): app.profile.xp = Skills.xp_for_level(app.profile.player_level() + 1)],
|
||||
["+5 Level", func(): app.profile.xp = Skills.xp_for_level(app.profile.player_level() + 5)],
|
||||
["Skills zurücksetzen", func(): app.profile.skills = {}], ["Erfahrung auf 0", func():
|
||||
app.profile.xp = 0
|
||||
app.profile.skills = {}]]],
|
||||
["Kampagne", [["Kapitel 2 frei", func(): app.profile.campaign_stage = maxi(app.profile.campaign_stage, 10)],
|
||||
["Kapitel 3 frei", func(): app.profile.campaign_stage = maxi(app.profile.campaign_stage, 20)],
|
||||
["Kapitel 4 frei", func(): app.profile.campaign_stage = maxi(app.profile.campaign_stage, 30)],
|
||||
["Kapitel 5 frei", func(): app.profile.campaign_stage = maxi(app.profile.campaign_stage, 40)],
|
||||
["Kampagne zurücksetzen", func(): app.profile.campaign_stage = 0]]],
|
||||
["Sammlung", [["Alle Karten (Common)", func(): _give_all(0)], ["Alle Karten Ultimate Rare", func(): _give_all(4)],
|
||||
["Eigene Karten +1 Stufe", func():
|
||||
for id in app.profile.collection:
|
||||
app.profile.collection[id] = mini(int(app.profile.collection[id]) + 1, Cards.RARITIES.size() - 1)],
|
||||
["Sammlung zurücksetzen", func(): app.profile.give_start()]]],
|
||||
]
|
||||
var y := 160
|
||||
for g in groups:
|
||||
Style.label(self, g[0], 18, Style.TEXT, Rect2(40, y, 200, 30), "left", true)
|
||||
var x := 250
|
||||
for entry in g[1]:
|
||||
var b := Style.button(self, entry[0], Rect2(x, y - 4, 190, 40), _apply.bind(entry[1]))
|
||||
b.add_theme_font_size_override("font_size", 14)
|
||||
x += 198
|
||||
y += 70
|
||||
msg_label = Style.label(self, "", 15, Style.GREEN, Rect2(40, y + 10, 1200, 24), "left")
|
||||
refresh()
|
||||
|
||||
|
||||
func _input(event: InputEvent) -> void:
|
||||
if event.is_action_pressed("ui_cancel"):
|
||||
app.show_screen(MenuScreen.new())
|
||||
|
||||
|
||||
## Alle Karten der Sammlung geben, in Stufe level; der Stapel bleibt.
|
||||
func _give_all(level: int) -> void:
|
||||
for c in Cards.all():
|
||||
app.profile.collection[c.id] = level
|
||||
|
||||
|
||||
func _apply(action: Callable) -> void:
|
||||
action.call()
|
||||
app.save()
|
||||
app.sfx.play("click")
|
||||
msg_label.text = tr("Gespeichert")
|
||||
refresh()
|
||||
|
||||
|
||||
func refresh() -> void:
|
||||
var p: Profile = app.profile
|
||||
status_label.text = tr("Münzen %d · Staub %d · EP %d (Level %d, %d Skillpunkte frei) · Kampagne %d/%d · Sammlung %d Karten, Stapel %d") % [
|
||||
p.coins, p.dust, p.xp, p.player_level(), p.skill_points(), p.campaign_stage, Campaign.total(), p.collection.size(), p.deck.size()]
|
||||
Reference in new issue
Block a user