From 083735aec151fe423dd07e68976c52b6060ff5d0 Mon Sep 17 00:00:00 2001 From: adtpdn Date: Wed, 22 Apr 2026 01:36:05 +0800 Subject: [PATCH] feat: fix Bots Using Your Equipped Skin, Equipped Overlay Skins Reverting to Normal --- .../enhanced_gridmap/meshlibrary/default.tres | 2 +- export_presets.cfg | 4 ++-- scenes/player.gd | 19 ++++++++++++++++--- scenes/ui/settings_menu.tscn | 10 +++++----- 4 files changed, 24 insertions(+), 11 deletions(-) diff --git a/addons/enhanced_gridmap/meshlibrary/default.tres b/addons/enhanced_gridmap/meshlibrary/default.tres index 141a3c0..1f089fa 100644 --- a/addons/enhanced_gridmap/meshlibrary/default.tres +++ b/addons/enhanced_gridmap/meshlibrary/default.tres @@ -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"] diff --git a/export_presets.cfg b/export_presets.cfg index 26cc0ce..b1726fd 100644 --- a/export_presets.cfg +++ b/export_presets.cfg @@ -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 diff --git a/scenes/player.gd b/scenes/player.gd index 6d4b51d..76cfbc2 100644 --- a/scenes/player.gd +++ b/scenes/player.gd @@ -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: diff --git a/scenes/ui/settings_menu.tscn b/scenes/ui/settings_menu.tscn index f274fa7..280796c 100644 --- a/scenes/ui/settings_menu.tscn +++ b/scenes/ui/settings_menu.tscn @@ -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