feat: fix Bots Using Your Equipped Skin, Equipped Overlay Skins Reverting to Normal

This commit is contained in:
2026-04-22 01:36:05 +08:00
parent f2e14f20f3
commit 083735aec1
4 changed files with 24 additions and 11 deletions
@@ -14,7 +14,7 @@
[ext_resource type="Texture2D" uid="uid://dpkx1a780pvwv" path="res://assets/textures/tile_diamond.png" id="10_sx8rm"]
[ext_resource type="BoxMesh" uid="uid://fy4bhoeii40c" path="res://addons/enhanced_gridmap/meshlibrary/tile_safe_zone.tres" id="10_uwjsj"]
[ext_resource type="BoxMesh" uid="uid://b5cc3prem52r6" path="res://addons/enhanced_gridmap/meshlibrary/tile_freeze.tres" id="11_pgnbl"]
[ext_resource type="BoxMesh" path="res://addons/enhanced_gridmap/meshlibrary/tile_non_walkable.tres" id="11_uwjsj"]
[ext_resource type="BoxMesh" uid="uid://dcjdwbffgtutt" path="res://addons/enhanced_gridmap/meshlibrary/tile_non_walkable.tres" id="11_uwjsj"]
[ext_resource type="Texture2D" uid="uid://cdnxwlysxnujd" path="res://assets/textures/tile_heart.png" id="12_heart_tex"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_uxput"]
+2 -2
View File
@@ -8,7 +8,7 @@ custom_features=""
export_filter="all_resources"
include_filter=""
exclude_filter=""
export_path="build/tekton_armageddon_v2.1.3.exe"
export_path="build/tekton_armageddon_v2.1.4.exe"
patches=PackedStringArray()
patch_delta_encoding=false
patch_delta_compression_level_zstd=19
@@ -80,7 +80,7 @@ custom_features=""
export_filter="all_resources"
include_filter=""
exclude_filter=""
export_path="build/tekton-dash-armageddon-v.2.1.3.apk"
export_path="build/tekton-dash-armageddon-v.2.1.4.apk"
patches=PackedStringArray()
patch_delta_encoding=false
patch_delta_compression_level_zstd=19
+16 -3
View File
@@ -567,8 +567,9 @@ func apply_loadout(character_node: Node3D) -> void:
Uses _player_loadout (synced from the owning client via sync_loadout RPC)
so all peers render the same skin regardless of their own loadout."""
# Fall back to UserProfileManager for the local player before network sync arrives
var loadout: Dictionary = _player_loadout if not _player_loadout.is_empty() \
else UserProfileManager.loadout
var loadout: Dictionary = {}
if not is_bot and not is_in_group("Bots"):
loadout = _player_loadout if not _player_loadout.is_empty() else UserProfileManager.loadout
# Pass 'self' (the player CharacterBody3D) as character_root because SkinManager
# looks for a CHILD node named e.g. "Oldpop" inside character_root.
# self.$Oldpop, self.$Bob etc. are direct children, matching SKIN_CATALOG "character" keys.
@@ -876,6 +877,18 @@ func _refresh_player_visuals():
# Apply the determined color and alpha
_apply_tint_recursive(self, color_to_apply, alpha_to_apply)
# If returning to normal, _apply_tint_recursive wiped all material_overlays.
# We must re-apply the cosmetics so "overlay" model skins (e.g. pants) return.
if color_to_apply == Color.WHITE and alpha_to_apply == 1.0:
var active_character: Node3D = null
match _selected_character:
"Bob": active_character = character_bob
"Masbro": active_character = character_masbro
"Gatot": active_character = character_gatot
"Oldpop": active_character = character_oldpop
if active_character:
apply_loadout(active_character)
func update_rank_visuals(rank: int):
var pos_label = get_node_or_null("Position")
@@ -1293,7 +1306,7 @@ func _process(delta):
immunity_timer -= delta
if immunity_timer <= 0:
immunity_timer = 0
_apply_tint_recursive(self, Color.WHITE) # Remove immunity tint
_refresh_player_visuals()
# Slow Timer Logic
if slow_timer > 0:
+5 -5
View File
@@ -302,17 +302,17 @@ theme_override_constants/h_separation = 20
theme_override_constants/v_separation = 10
columns = 3
[node name="ColH1" type="Label" parent="PanelContainer/VBoxContainer/ContentSection/TabContainer/Controls/VBox/MoveGrid"]
[node name="ColH1" type="Label" parent="PanelContainer/VBoxContainer/ContentSection/TabContainer/Controls/VBox/MoveGrid" unique_id=393496035]
layout_mode = 2
text = "Action"
label_settings = SubResource("LabelSettings_section")
[node name="ColH2" type="Label" parent="PanelContainer/VBoxContainer/ContentSection/TabContainer/Controls/VBox/MoveGrid"]
[node name="ColH2" type="Label" parent="PanelContainer/VBoxContainer/ContentSection/TabContainer/Controls/VBox/MoveGrid" unique_id=1950782195]
layout_mode = 2
text = "Primary"
label_settings = SubResource("LabelSettings_section")
[node name="ColH3" type="Label" parent="PanelContainer/VBoxContainer/ContentSection/TabContainer/Controls/VBox/MoveGrid"]
[node name="ColH3" type="Label" parent="PanelContainer/VBoxContainer/ContentSection/TabContainer/Controls/VBox/MoveGrid" unique_id=267238643]
layout_mode = 2
text = "Secondary"
label_settings = SubResource("LabelSettings_section")
@@ -329,7 +329,7 @@ custom_minimum_size = Vector2(143, 38)
layout_mode = 2
text = "W"
[node name="MoveUpAltBtn" type="Button" parent="PanelContainer/VBoxContainer/ContentSection/TabContainer/Controls/VBox/MoveGrid" unique_id=100000108]
[node name="MoveUpAltBtn" type="Button" parent="PanelContainer/VBoxContainer/ContentSection/TabContainer/Controls/VBox/MoveGrid" unique_id=760330191]
unique_name_in_owner = true
custom_minimum_size = Vector2(143, 38)
layout_mode = 2
@@ -347,7 +347,7 @@ custom_minimum_size = Vector2(143, 38)
layout_mode = 2
text = "S"
[node name="MoveDownAltBtn" type="Button" parent="PanelContainer/VBoxContainer/ContentSection/TabContainer/Controls/VBox/MoveGrid" unique_id=100000110]
[node name="MoveDownAltBtn" type="Button" parent="PanelContainer/VBoxContainer/ContentSection/TabContainer/Controls/VBox/MoveGrid" unique_id=406640263]
unique_name_in_owner = true
custom_minimum_size = Vector2(143, 38)
layout_mode = 2