| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369 |
- [gd_scene load_steps=20 format=3 uid="uid://bxaeo8dtil8jy"]
- [ext_resource type="Script" uid="uid://d3jebf1trkaor" path="res://Scripts/UI/AchievementMenu.gd" id="1_85no8"]
- [ext_resource type="Theme" uid="uid://dtn507x2b5de7" path="res://Resources/Theme.tres" id="1_gq2qe"]
- [ext_resource type="Texture2D" uid="uid://bhuybr2gtuco5" path="res://Assets/Sprites/UI/MenuBG.png" id="2_khc1b"]
- [ext_resource type="Script" uid="uid://xem6lai3ufyj" path="res://Scripts/Classes/UI/PackNinePatch.gd" id="4_85no8"]
- [ext_resource type="Texture2D" uid="uid://3ai0ggxah360" path="res://Assets/Sprites/UI/MenuBorder.png" id="6_25fff"]
- [ext_resource type="Texture2D" uid="uid://26v45a5r1gpd" path="res://Assets/Sprites/UI/AchievementBG.png" id="7_761rq"]
- [ext_resource type="Script" uid="uid://co6tjg3w6qpd8" path="res://Scripts/Parts/LabelFontChanger.gd" id="7_khc1b"]
- [ext_resource type="Script" uid="uid://cq6f682453q6o" path="res://Scripts/Classes/Components/ResourceSetter.gd" id="8_flkjp"]
- [ext_resource type="AudioStream" uid="uid://cj5eemp85esmq" path="res://Assets/Audio/BGM/Achievements.mp3" id="8_khc1b"]
- [ext_resource type="Script" uid="uid://cmvlgsjmsk0v5" path="res://Scripts/Classes/Resources/ThemedResource.gd" id="9_25fff"]
- [sub_resource type="Shader" id="Shader_mm3k3"]
- code = "shader_type canvas_item;
- uniform vec2 motion = vec2(0.0);
- uniform float scale = 1.0;
- uniform vec2 offset = vec2(0.0);
- void vertex(){
- UV = (VERTEX + offset + TIME * motion) * TEXTURE_PIXEL_SIZE * (1.0/scale);
- }"
- [sub_resource type="ShaderMaterial" id="ShaderMaterial_6w7a6"]
- shader = SubResource("Shader_mm3k3")
- shader_parameter/motion = Vector2(-4, -4)
- shader_parameter/scale = 1.0
- shader_parameter/offset = Vector2(0, 0)
- [sub_resource type="StyleBoxLine" id="StyleBoxLine_khc1b"]
- color = Color(1, 1, 1, 1)
- [sub_resource type="Resource" id="Resource_761rq"]
- script = ExtResource("9_25fff")
- Overworld = ExtResource("8_khc1b")
- metadata/_custom_type_script = "uid://cmvlgsjmsk0v5"
- [sub_resource type="GDScript" id="GDScript_lqtx1"]
- script/source = "extends AchievementProgressCalculator
- @export var campaign := \"SMB1\"
- func get_progress() -> int:
- var save = JSON.parse_string(FileAccess.open(\"user://saves/\" + campaign + \".sav\", FileAccess.READ).get_as_text())
- var levels_finished := 0
- for world in 8:
- for level in 4:
- if save[\"ChallengeScores\"][world][level] >= ChallengeModeHandler.CHALLENGE_TARGETS[campaign][world][level]:
- if save[\"RedCoins\"][world][level] >= 63:
- levels_finished += 1
- return levels_finished
- "
- [sub_resource type="GDScript" id="GDScript_gq2qe"]
- script/source = "extends AchievementProgressCalculator
- @export var campaign := \"SMB1\"
- func get_progress() -> int:
- var save = JSON.parse_string(FileAccess.open(\"user://saves/\" + campaign + \".sav\", FileAccess.READ).get_as_text())
- var levels_finished := 0
- for i in save[\"ClearedBooLevels\"]:
- if int(i) > 0:
- levels_finished += 1
- return levels_finished
- "
- [sub_resource type="GDScript" id="GDScript_khc1b"]
- script/source = "extends AchievementProgressCalculator
- @export var campaign := \"SMB1\"
- func get_progress() -> int:
- var save = JSON.parse_string(FileAccess.open(\"user://saves/\" + campaign + \".sav\", FileAccess.READ).get_as_text())
- var levels_finished := 0
- for i in save[\"ClearedBooLevels\"]:
- if int(i) >= 5:
- levels_finished += 1
- return levels_finished
- "
- [sub_resource type="GDScript" id="GDScript_85no8"]
- script/source = "extends AchievementProgressCalculator
- @export var campaign := \"SMB1\"
- @export var medal_index := 0
- func get_progress() -> int:
- var medal_amount := 0
- SpeedrunHandler.load_best_times(campaign)
- print(SpeedrunHandler.best_level_warpless_times)
- var world := 0
- for x in SpeedrunHandler.best_level_warpless_times:
- var level := 0
- for i in x:
- if i <= SpeedrunHandler.LEVEL_GOLD_WARPLESS_TIMES[campaign][world][level] * SpeedrunHandler.MEDAL_CONVERSIONS[medal_index] and i > 0:
- medal_amount += 1
- level += 1
- world += 1
- for x in SpeedrunHandler.best_level_any_times:
- print(SpeedrunHandler.best_level_any_times)
- if SpeedrunHandler.best_level_any_times[x] <= SpeedrunHandler.LEVEL_GOLD_ANY_TIMES[campaign][x] * SpeedrunHandler.MEDAL_CONVERSIONS[medal_index] and SpeedrunHandler.best_level_any_times[x] > 0:
- medal_amount += 1
- var save = JSON.parse_string(FileAccess.open(\"user://saves/\" + campaign + \".sav\", FileAccess.READ).get_as_text())
- if save.get(\"BestWarplessTime\", -1) <= SpeedrunHandler.GOLD_WARPLESS_TIMES[campaign] and save.get(\"BestWarplessTime\", -1) > 0:
- medal_amount += 1
- if save.get(\"BestAnyTime\", -1) <= SpeedrunHandler.GOLD_ANY_TIMES[campaign] and save.get(\"BestAnyTime\", -1) > 0:
- medal_amount += 1
- return medal_amount
- "
- [sub_resource type="GDScript" id="GDScript_refm4"]
- script/source = "extends AchievementProgressCalculator
- func get_progress() -> int:
- var p_amount := 0
- var save = JSON.parse_string(FileAccess.open(\"user://saves/SMBANN.sav\", FileAccess.READ). get_as_text())
- for i in save[\"Ranks\"]:
- if i == \"P\":
- p_amount += 1
- print(p_amount)
- return p_amount
- "
- [node name="AchievementMenu" type="Node"]
- script = ExtResource("1_85no8")
- [node name="BG" type="NinePatchRect" parent="."]
- texture_repeat = 2
- anchors_preset = 15
- anchor_right = 1.0
- anchor_bottom = 1.0
- grow_horizontal = 2
- grow_vertical = 2
- theme = ExtResource("1_gq2qe")
- texture = ExtResource("2_khc1b")
- region_rect = Rect2(48, 0, 16, 16)
- axis_stretch_horizontal = 1
- axis_stretch_vertical = 1
- script = ExtResource("4_85no8")
- metadata/_custom_type_script = "uid://xem6lai3ufyj"
- [node name="Border" type="NinePatchRect" parent="BG"]
- layout_mode = 1
- anchors_preset = -1
- anchor_left = 0.01
- anchor_right = 0.99
- anchor_bottom = 1.0
- grow_horizontal = 2
- grow_vertical = 2
- texture = ExtResource("6_25fff")
- region_rect = Rect2(32, 32, 32, 32)
- patch_margin_left = 8
- patch_margin_top = 8
- patch_margin_right = 8
- patch_margin_bottom = 8
- axis_stretch_horizontal = 2
- axis_stretch_vertical = 2
- script = ExtResource("4_85no8")
- metadata/_custom_type_script = "uid://xem6lai3ufyj"
- [node name="BG" type="TextureRect" parent="BG/Border"]
- show_behind_parent = true
- material = SubResource("ShaderMaterial_6w7a6")
- layout_mode = 1
- anchors_preset = 15
- anchor_right = 1.0
- anchor_bottom = 1.0
- grow_horizontal = 2
- grow_vertical = 2
- mouse_filter = 2
- texture = ExtResource("7_761rq")
- stretch_mode = 1
- [node name="MarginContainer" type="MarginContainer" parent="BG/Border"]
- layout_mode = 1
- anchors_preset = 15
- anchor_right = 1.0
- anchor_bottom = 1.0
- grow_horizontal = 2
- grow_vertical = 2
- mouse_filter = 2
- theme_override_constants/margin_left = 9
- theme_override_constants/margin_top = 8
- theme_override_constants/margin_right = 9
- theme_override_constants/margin_bottom = 12
- [node name="VBoxContainer" type="VBoxContainer" parent="BG/Border/MarginContainer"]
- layout_mode = 2
- mouse_filter = 2
- theme_override_constants/separation = 0
- [node name="Title" type="Label" parent="BG/Border/MarginContainer/VBoxContainer"]
- custom_minimum_size = Vector2(0, 24)
- layout_mode = 2
- text = "MENU_ACHIEVEMENTS"
- horizontal_alignment = 1
- vertical_alignment = 1
- uppercase = true
- [node name="HSeparator" type="HSeparator" parent="BG/Border/MarginContainer/VBoxContainer/Title"]
- layout_mode = 1
- anchors_preset = -1
- anchor_top = 1.0
- anchor_right = 1.0
- anchor_bottom = 1.0
- offset_top = -4.0
- grow_horizontal = 2
- grow_vertical = 0
- mouse_filter = 2
- theme_override_styles/separator = SubResource("StyleBoxLine_khc1b")
- [node name="Progress" type="Label" parent="BG/Border/MarginContainer/VBoxContainer/Title"]
- unique_name_in_owner = true
- custom_minimum_size = Vector2(0, 24)
- layout_mode = 1
- anchors_preset = -1
- anchor_left = 1.0
- anchor_right = 1.0
- offset_left = -232.0
- offset_right = 4.4400024
- offset_bottom = 24.0
- grow_horizontal = 0
- text = "0% "
- horizontal_alignment = 2
- vertical_alignment = 1
- uppercase = true
- [node name="ScrollContainer" type="ScrollContainer" parent="BG/Border/MarginContainer/VBoxContainer"]
- layout_mode = 2
- size_flags_vertical = 3
- mouse_filter = 0
- follow_focus = true
- horizontal_scroll_mode = 0
- [node name="VBoxContainer" type="VBoxContainer" parent="BG/Border/MarginContainer/VBoxContainer/ScrollContainer"]
- layout_mode = 2
- size_flags_horizontal = 3
- size_flags_vertical = 3
- mouse_filter = 2
- [node name="BGM" type="AudioStreamPlayer" parent="."]
- stream = ExtResource("8_khc1b")
- bus = &"Music"
- [node name="ResourceSetter" type="Node" parent="BGM" node_paths=PackedStringArray("node_to_affect")]
- script = ExtResource("8_flkjp")
- node_to_affect = NodePath("..")
- property_name = "stream"
- themed_resource = SubResource("Resource_761rq")
- metadata/_custom_type_script = "uid://cq6f682453q6o"
- [node name="ProgressCalculators" type="Node" parent="."]
- [node name="4" type="Node" parent="ProgressCalculators"]
- script = SubResource("GDScript_lqtx1")
- target_number = 32
- metadata/_custom_type_script = "uid://dwrso5q5r5bak"
- [node name="5" type="Node" parent="ProgressCalculators"]
- script = SubResource("GDScript_lqtx1")
- campaign = "SMBLL"
- target_number = 32
- metadata/_custom_type_script = "uid://dwrso5q5r5bak"
- [node name="6" type="Node" parent="ProgressCalculators"]
- script = SubResource("GDScript_lqtx1")
- campaign = "SMBS"
- target_number = 32
- metadata/_custom_type_script = "uid://dwrso5q5r5bak"
- [node name="7" type="Node" parent="ProgressCalculators"]
- script = SubResource("GDScript_gq2qe")
- metadata/_custom_type_script = "uid://dwrso5q5r5bak"
- [node name="8" type="Node" parent="ProgressCalculators"]
- script = SubResource("GDScript_gq2qe")
- campaign = "SMBLL"
- metadata/_custom_type_script = "uid://dwrso5q5r5bak"
- [node name="9" type="Node" parent="ProgressCalculators"]
- script = SubResource("GDScript_gq2qe")
- campaign = "SMBS"
- metadata/_custom_type_script = "uid://dwrso5q5r5bak"
- [node name="10" type="Node" parent="ProgressCalculators"]
- script = SubResource("GDScript_khc1b")
- metadata/_custom_type_script = "uid://dwrso5q5r5bak"
- [node name="11" type="Node" parent="ProgressCalculators"]
- script = SubResource("GDScript_khc1b")
- campaign = "SMBLL"
- metadata/_custom_type_script = "uid://dwrso5q5r5bak"
- [node name="12" type="Node" parent="ProgressCalculators"]
- script = SubResource("GDScript_khc1b")
- campaign = "SMBS"
- metadata/_custom_type_script = "uid://dwrso5q5r5bak"
- [node name="13" type="Node" parent="ProgressCalculators"]
- script = SubResource("GDScript_85no8")
- target_number = 36
- metadata/_custom_type_script = "uid://dwrso5q5r5bak"
- [node name="14" type="Node" parent="ProgressCalculators"]
- script = SubResource("GDScript_85no8")
- campaign = "SMBLL"
- target_number = 39
- metadata/_custom_type_script = "uid://dwrso5q5r5bak"
- [node name="15" type="Node" parent="ProgressCalculators"]
- script = SubResource("GDScript_85no8")
- campaign = "SMBS"
- target_number = 35
- metadata/_custom_type_script = "uid://dwrso5q5r5bak"
- [node name="16" type="Node" parent="ProgressCalculators"]
- script = SubResource("GDScript_85no8")
- medal_index = 1
- target_number = 36
- metadata/_custom_type_script = "uid://dwrso5q5r5bak"
- [node name="17" type="Node" parent="ProgressCalculators"]
- script = SubResource("GDScript_85no8")
- campaign = "SMBLL"
- medal_index = 1
- target_number = 39
- metadata/_custom_type_script = "uid://dwrso5q5r5bak"
- [node name="18" type="Node" parent="ProgressCalculators"]
- script = SubResource("GDScript_85no8")
- campaign = "SMBS"
- medal_index = 1
- target_number = 35
- metadata/_custom_type_script = "uid://dwrso5q5r5bak"
- [node name="19" type="Node" parent="ProgressCalculators"]
- script = SubResource("GDScript_85no8")
- medal_index = 2
- target_number = 36
- metadata/_custom_type_script = "uid://dwrso5q5r5bak"
- [node name="20" type="Node" parent="ProgressCalculators"]
- script = SubResource("GDScript_85no8")
- campaign = "SMBLL"
- medal_index = 2
- target_number = 39
- metadata/_custom_type_script = "uid://dwrso5q5r5bak"
- [node name="21" type="Node" parent="ProgressCalculators"]
- script = SubResource("GDScript_85no8")
- campaign = "SMBS"
- medal_index = 2
- target_number = 35
- metadata/_custom_type_script = "uid://dwrso5q5r5bak"
- [node name="25" type="Node" parent="ProgressCalculators"]
- script = SubResource("GDScript_refm4")
- target_number = 32
- metadata/_custom_type_script = "uid://dwrso5q5r5bak"
- [node name="LabelFontChanger" type="Node" parent="." node_paths=PackedStringArray("labels")]
- script = ExtResource("7_khc1b")
- labels = [NodePath("../BG/Border/MarginContainer/VBoxContainer/Title/Progress"), NodePath("../BG/Border/MarginContainer/VBoxContainer/Title")]
- metadata/_custom_type_script = "uid://co6tjg3w6qpd8"
- [connection signal="sprites_updated" from="BGM/ResourceSetter" to="BGM" method="play"]
|