This commit is contained in:
Nicholas Butzke
2026-08-02 02:20:02 -04:00
parent 61669627db
commit 922983429e
226 changed files with 34032 additions and 18521 deletions
+30
View File
@@ -38,6 +38,11 @@ func _add_color_skin(id: String, display_name: String, description: String, tint
skin.skin_name = display_name
skin.description = description
skin.color_tint = tint
skin.viewmodel_sleeve_color = tint.darkened(0.18)
skin.viewmodel_accent_color = tint.lightened(0.22)
skin.viewmodel_glove_color = tint.darkened(0.48)
skin.viewmodel_nail_color = tint.lightened(0.34)
skin.viewmodel_hand_style = "fingerless"
skin.is_unlocked = true
skins[id] = skin
@@ -61,9 +66,34 @@ func _load_skins_json() -> void:
skin.description = entry.get("description", "")
skin.model_path = entry.get("model", "")
skin.is_unlocked = entry.get("unlocked", true)
var viewmodel = entry.get("viewmodel", {})
if viewmodel is Dictionary:
skin.viewmodel_sleeve_color = _json_color(
viewmodel.get("sleeve", ""), skin.viewmodel_sleeve_color)
skin.viewmodel_accent_color = _json_color(
viewmodel.get("accent", ""), skin.viewmodel_accent_color)
skin.viewmodel_skin_color = _json_color(
viewmodel.get("skin", ""), skin.viewmodel_skin_color)
skin.viewmodel_glove_color = _json_color(
viewmodel.get("glove", ""), skin.viewmodel_glove_color)
skin.viewmodel_nail_color = _json_color(
viewmodel.get("nail", ""), skin.viewmodel_nail_color)
var hand_style: String = str(viewmodel.get(
"hand_style", skin.viewmodel_hand_style))
if hand_style in ["bare", "fingerless", "glove", "android"]:
skin.viewmodel_hand_style = hand_style
skin.viewmodel_sleeve_ratio = clampf(
float(viewmodel.get("sleeve_ratio", skin.viewmodel_sleeve_ratio)),
0.2, 0.9)
skins[entry["id"]] = skin
func _json_color(value: Variant, fallback: Color) -> Color:
if value is String and not value.is_empty():
return Color.from_string(value, fallback)
return fallback
# ── Selection ─────────────────────────────────────────────────────────────────
func get_skin(skin_id: String) -> PlayerSkin: