diff --git a/assets/minigames/fish/background.png b/assets/minigames/fish/background.png new file mode 100644 index 00000000..86b0a031 Binary files /dev/null and b/assets/minigames/fish/background.png differ diff --git a/assets/minigames/fish/background.png.import b/assets/minigames/fish/background.png.import new file mode 100644 index 00000000..6ff03594 --- /dev/null +++ b/assets/minigames/fish/background.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ccfocxdqxujvc" +path="res://.godot/imported/background.png-a97430d601a204450e6bf33d65c00f63.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/minigames/fish/background.png" +dest_files=["res://.godot/imported/background.png-a97430d601a204450e6bf33d65c00f63.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/minigames/fish/beacon_spritesheet.png b/assets/minigames/fish/beacon_spritesheet.png new file mode 100644 index 00000000..929f7c25 Binary files /dev/null and b/assets/minigames/fish/beacon_spritesheet.png differ diff --git a/assets/minigames/fish/beacon_spritesheet.png.import b/assets/minigames/fish/beacon_spritesheet.png.import new file mode 100644 index 00000000..c541f0bd --- /dev/null +++ b/assets/minigames/fish/beacon_spritesheet.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://byl2f1xlwvc57" +path="res://.godot/imported/beacon_spritesheet.png-359d5f094db1ff7781ba4e2df4384ab6.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/minigames/fish/beacon_spritesheet.png" +dest_files=["res://.godot/imported/beacon_spritesheet.png-359d5f094db1ff7781ba4e2df4384ab6.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/minigames/fish/clouds.png b/assets/minigames/fish/clouds.png new file mode 100644 index 00000000..704d3ac5 Binary files /dev/null and b/assets/minigames/fish/clouds.png differ diff --git a/assets/minigames/fish/clouds.png.import b/assets/minigames/fish/clouds.png.import new file mode 100644 index 00000000..c958eb6e --- /dev/null +++ b/assets/minigames/fish/clouds.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://batqk810wx2ty" +path="res://.godot/imported/clouds.png-e27b5fe78b25b1015def9ea63858010b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/minigames/fish/clouds.png" +dest_files=["res://.godot/imported/clouds.png-e27b5fe78b25b1015def9ea63858010b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/minigames/fish/fish.png b/assets/minigames/fish/fish.png new file mode 100644 index 00000000..0e405eac Binary files /dev/null and b/assets/minigames/fish/fish.png differ diff --git a/assets/minigames/fish/fish.png.import b/assets/minigames/fish/fish.png.import new file mode 100644 index 00000000..ea0d2a25 --- /dev/null +++ b/assets/minigames/fish/fish.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cscx0pq6raxdo" +path="res://.godot/imported/fish.png-42464b3286c66546e495643695c93674.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/minigames/fish/fish.png" +dest_files=["res://.godot/imported/fish.png-42464b3286c66546e495643695c93674.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/minigames/fish/fish_icon.png b/assets/minigames/fish/fish_icon.png new file mode 100644 index 00000000..60473704 Binary files /dev/null and b/assets/minigames/fish/fish_icon.png differ diff --git a/assets/minigames/fish/fish_icon.png.import b/assets/minigames/fish/fish_icon.png.import new file mode 100644 index 00000000..20df25a0 --- /dev/null +++ b/assets/minigames/fish/fish_icon.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cfnjk06m367r3" +path="res://.godot/imported/fish_icon.png-012f6ca550eaff7cee5972fadead8a4c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/minigames/fish/fish_icon.png" +dest_files=["res://.godot/imported/fish_icon.png-012f6ca550eaff7cee5972fadead8a4c.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/minigames/fish/fish_spritesheet.png b/assets/minigames/fish/fish_spritesheet.png new file mode 100644 index 00000000..56b0a038 Binary files /dev/null and b/assets/minigames/fish/fish_spritesheet.png differ diff --git a/assets/minigames/fish/fish_spritesheet.png.import b/assets/minigames/fish/fish_spritesheet.png.import new file mode 100644 index 00000000..ad65157f --- /dev/null +++ b/assets/minigames/fish/fish_spritesheet.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://38km75eecaly" +path="res://.godot/imported/fish_spritesheet.png-8cd427a8b4d96632119cee4132f0236a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/minigames/fish/fish_spritesheet.png" +dest_files=["res://.godot/imported/fish_spritesheet.png-8cd427a8b4d96632119cee4132f0236a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/minigames/fish/flag.png b/assets/minigames/fish/flag.png new file mode 100644 index 00000000..72517398 Binary files /dev/null and b/assets/minigames/fish/flag.png differ diff --git a/assets/minigames/fish/flag.png.import b/assets/minigames/fish/flag.png.import new file mode 100644 index 00000000..6146a870 --- /dev/null +++ b/assets/minigames/fish/flag.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bn2u6fp6ve5yw" +path="res://.godot/imported/flag.png-5b35daa8da3dcac3b38d84fde8907d8f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/minigames/fish/flag.png" +dest_files=["res://.godot/imported/flag.png-5b35daa8da3dcac3b38d84fde8907d8f.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/minigames/fish/image_ref_pour_callage_balise.png b/assets/minigames/fish/image_ref_pour_callage_balise.png new file mode 100644 index 00000000..b5078c0d Binary files /dev/null and b/assets/minigames/fish/image_ref_pour_callage_balise.png differ diff --git a/assets/minigames/fish/image_ref_pour_callage_balise.png.import b/assets/minigames/fish/image_ref_pour_callage_balise.png.import new file mode 100644 index 00000000..3fcdb3d4 --- /dev/null +++ b/assets/minigames/fish/image_ref_pour_callage_balise.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bljxpoaleydur" +path="res://.godot/imported/image_ref_pour_callage_balise.png-e3d5e0c61f0466237c40fe68e6262020.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/minigames/fish/image_ref_pour_callage_balise.png" +dest_files=["res://.godot/imported/image_ref_pour_callage_balise.png-e3d5e0c61f0466237c40fe68e6262020.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/minigames/fish/sea.png b/assets/minigames/fish/sea.png new file mode 100644 index 00000000..ffe2de3b Binary files /dev/null and b/assets/minigames/fish/sea.png differ diff --git a/assets/minigames/fish/sea.png.import b/assets/minigames/fish/sea.png.import new file mode 100644 index 00000000..c242639b --- /dev/null +++ b/assets/minigames/fish/sea.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dey247uccopxi" +path="res://.godot/imported/sea.png-c0f722cb072002b32d33cc85b15b13d8.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/minigames/fish/sea.png" +dest_files=["res://.godot/imported/sea.png-c0f722cb072002b32d33cc85b15b13d8.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/minigames/fish/sun.png b/assets/minigames/fish/sun.png new file mode 100644 index 00000000..53b56628 Binary files /dev/null and b/assets/minigames/fish/sun.png differ diff --git a/assets/minigames/fish/sun.png.import b/assets/minigames/fish/sun.png.import new file mode 100644 index 00000000..602933f5 --- /dev/null +++ b/assets/minigames/fish/sun.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bf7od6f56f516" +path="res://.godot/imported/sun.png-5f5a91b121b9dc732b9d17478f543374.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/minigames/fish/sun.png" +dest_files=["res://.godot/imported/sun.png-5f5a91b121b9dc732b9d17478f543374.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/minigames/minigame_ui/graphic/white_gauge.png b/assets/minigames/minigame_ui/graphic/white_gauge.png new file mode 100644 index 00000000..bf93c08f Binary files /dev/null and b/assets/minigames/minigame_ui/graphic/white_gauge.png differ diff --git a/assets/minigames/minigame_ui/graphic/white_gauge.png.import b/assets/minigames/minigame_ui/graphic/white_gauge.png.import new file mode 100644 index 00000000..156d51e4 --- /dev/null +++ b/assets/minigames/minigame_ui/graphic/white_gauge.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://4ci6gmg0c15o" +path="res://.godot/imported/white_gauge.png-ddb811722ebc4680a3d023a1da06213e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/minigames/minigame_ui/graphic/white_gauge.png" +dest_files=["res://.godot/imported/white_gauge.png-ddb811722ebc4680a3d023a1da06213e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/project.godot b/project.godot index 4e1c59d7..6a1c4e69 100644 --- a/project.godot +++ b/project.godot @@ -53,6 +53,7 @@ enabled=PackedStringArray("res://addons/godot-form-validator/plugin.cfg", "res:/ [gui] +common/snap_controls_to_pixels=false theme/custom="res://resources/themes/kalulu_theme.tres" theme/custom_font="res://assets/fonts/DidactGothic-Regular.ttf" diff --git a/sources/minigames/base/minigame_ui.gd b/sources/minigames/base/minigame_ui.gd index 94158308..3a059bcc 100644 --- a/sources/minigames/base/minigame_ui.gd +++ b/sources/minigames/base/minigame_ui.gd @@ -49,6 +49,7 @@ const full_lives_icon: = preload("res://assets/minigames/minigame_ui/graphic/lif @onready var kalulu: Control = %Kalulu @onready var progression_container: = %ProgressionContainer +@onready var progression_gauge: = %ProgressionGauge @onready var model_progression_rect: = %ProgressionIconsRect @onready var lives_container: = %LivesContainer @onready var model_lives_rect: = %LivesIconsRect diff --git a/sources/minigames/base/minigame_ui.tscn b/sources/minigames/base/minigame_ui.tscn index 1bb585f3..9409109c 100644 --- a/sources/minigames/base/minigame_ui.tscn +++ b/sources/minigames/base/minigame_ui.tscn @@ -357,6 +357,7 @@ layout_mode = 2 size_flags_vertical = 0 [node name="ProgressionGauge" type="NinePatchRect" parent="MainControl/Interface/ProgressionMargin/MarginContainer"] +unique_name_in_owner = true custom_minimum_size = Vector2(64, 64) layout_mode = 2 texture = ExtResource("22_6jd5r") diff --git a/sources/minigames/crabs/crabs_minigame.tscn b/sources/minigames/crabs/crabs_minigame.tscn index a7d5c56f..dd8275d0 100644 --- a/sources/minigames/crabs/crabs_minigame.tscn +++ b/sources/minigames/crabs/crabs_minigame.tscn @@ -16,6 +16,7 @@ minigame_name = "Crabs" lesson_nb = 10 difficulty = 2 lesson_nb = 3 +minigame_number = 1 max_number_of_lives = 5 max_progression = 5 intro_kalulu_speech = ExtResource("3_shwct") diff --git a/sources/minigames/fish/fish_minigame.gd b/sources/minigames/fish/fish_minigame.gd new file mode 100644 index 00000000..269173b6 --- /dev/null +++ b/sources/minigames/fish/fish_minigame.gd @@ -0,0 +1,171 @@ +extends Minigame + +signal beacon_fish_dropped(is_answered_real: bool) + +const fish_texture_rect_scene: = preload("res://sources/minigames/fish/fish_texture_rect.tscn") + +@onready var fish_start_zone: = %FishStartZone +@onready var beacon1: = %Beacon1 +@onready var beacon2: = %Beacon2 +@onready var path_follow: = %PathFollow2D +@onready var label: = %Label +@onready var false_wrong_fx: = %FalseWrongFX +@onready var false_right_fx: = %FalseRightFX +@onready var real_wrong_fx: = %RealWrongFX +@onready var real_right_fx: = %RealRightFX +@onready var fish_animated_sprite: = %FishAnimatedSprite + +@export var game_duration: = 4 * 60 + +var tween: Tween +var words_to_present: Array[String] = [] +var words_to_present_next: Array[String] = [] + + +func _fish_get_drag_data(_at_position: Vector2) -> Variant: + var fish_texture_rect: Control = fish_texture_rect_scene.instantiate() + fish_texture_rect.size = Vector2(200, 200) + set_drag_preview(fish_texture_rect) + return true + + +func _ready() -> void: + super() + fish_start_zone.set_drag_forwarding(_fish_get_drag_data, Callable(), Callable()) + beacon1.set_drag_forwarding(Callable(), _beacon_can_drop_data, _beacon1_drop_data) + beacon2.set_drag_forwarding(Callable(), _beacon_can_drop_data, _beacon2_drop_data) + minigame_ui.lives_container.hide() + minigame_ui.progression_container.hide() + minigame_ui.progression_gauge.hide() + label.hide() + + +func _find_stimuli_and_distractions() -> void: + stimuli = [ + "il", + "ma", + "mal", + "lama", + "lasso", + "va", + "ri", + "vol", + "sur", + "allé", + "vélo", + "roulé", + "amour", + "né", + "un", + "une", + "rat", + "lame", + "sale", + "olive", + "ville", + "je", + "le", + "fée", + "sol", + "fort", + "joli", + "niche" + ] + distractions = [ + "ul", + "um", + "lum", + "muma", + "slaso", + "oa", + "ir", + "vul", + "sru", + "léli", + "lévu", + "louré", + "aroum", + "én", + "na", + "enu", + "tra", + "mila", + "esla", + "olvie", + "vlile", + "uj", + "ul", + "ifé", + "slo", + "trof", + "lijo", + "chani" + ] + words_to_present.clear() + words_to_present_next.clear() + for word: String in stimuli: + words_to_present.append(word) + for word: String in distractions: + words_to_present.append(word) + words_to_present.shuffle() + + +func _start() -> void: + super() + tween = create_tween() + tween.tween_property(path_follow, "progress_ratio", 1, game_duration) + tween.finished.connect(_on_time_out) + _present_next_word() + + +func _present_next_word() -> void: + if words_to_present.is_empty(): + if words_to_present_next.is_empty(): + _win() + return + words_to_present = words_to_present_next + words_to_present.shuffle() + words_to_present_next = [] + label.show() + label.text = words_to_present[0] + + +func _on_time_out() -> void: + _lose() + + +func _beacon_can_drop_data(_at_position: Vector2, data: Variant) -> bool: + return data + + +func _beacon1_drop_data(_at_position: Vector2, _data: Variant) -> void: + fish_animated_sprite.play("left") + await fish_animated_sprite.animation_finished + beacon_fish_dropped.emit(false) + + +func _beacon2_drop_data(_at_position: Vector2, _data: Variant) -> void: + fish_animated_sprite.play("right") + await fish_animated_sprite.animation_finished + beacon_fish_dropped.emit(true) + + +func _on_beacon_fish_dropped(is_answered_real: bool) -> void: + var is_really_real: = words_to_present[0] in stimuli + var is_correct: = is_answered_real == is_really_real + if is_correct: + if is_answered_real: + real_right_fx.play() + else: + false_right_fx.play() + words_to_present.pop_front() + else: + if is_answered_real: + real_wrong_fx.play() + else: + false_wrong_fx.play() + words_to_present_next.append(words_to_present.pop_front()) + + +func _on_fish_animated_sprite_animation_finished() -> void: + fish_animated_sprite.play("idle") diff --git a/sources/minigames/fish/fish_minigame.tscn b/sources/minigames/fish/fish_minigame.tscn new file mode 100644 index 00000000..3ad4745a --- /dev/null +++ b/sources/minigames/fish/fish_minigame.tscn @@ -0,0 +1,679 @@ +[gd_scene load_steps=68 format=3 uid="uid://df5derhil64ca"] + +[ext_resource type="PackedScene" uid="uid://8awe4usnucyv" path="res://sources/minigames/base/base_minigame.tscn" id="1_itrpi"] +[ext_resource type="Script" path="res://sources/minigames/fish/fish_minigame.gd" id="2_68jip"] +[ext_resource type="Texture2D" uid="uid://ccfocxdqxujvc" path="res://assets/minigames/fish/background.png" id="3_3ty3i"] +[ext_resource type="Texture2D" uid="uid://bf7od6f56f516" path="res://assets/minigames/fish/sun.png" id="4_2m0ff"] +[ext_resource type="Script" path="res://sources/utils/sprite_control.gd" id="4_8mkk3"] +[ext_resource type="Texture2D" uid="uid://batqk810wx2ty" path="res://assets/minigames/fish/clouds.png" id="4_ccu1v"] +[ext_resource type="Texture2D" uid="uid://byl2f1xlwvc57" path="res://assets/minigames/fish/beacon_spritesheet.png" id="4_ohn01"] +[ext_resource type="Texture2D" uid="uid://dey247uccopxi" path="res://assets/minigames/fish/sea.png" id="5_dc51h"] +[ext_resource type="Texture2D" uid="uid://38km75eecaly" path="res://assets/minigames/fish/fish_spritesheet.png" id="8_qh4mt"] +[ext_resource type="Texture2D" uid="uid://bn2u6fp6ve5yw" path="res://assets/minigames/fish/flag.png" id="9_2adou"] +[ext_resource type="PackedScene" uid="uid://cn2rw06pltyiu" path="res://sources/utils/fx/right.tscn" id="9_mcq4c"] +[ext_resource type="Texture2D" uid="uid://dxqnvbr4tffn7" path="res://assets/minigames/minigame_ui/graphic/gauge.png" id="11_p5wnc"] +[ext_resource type="PackedScene" uid="uid://dlmbxcgiv8tpr" path="res://sources/utils/fx/wrong.tscn" id="11_ueo10"] +[ext_resource type="Texture2D" uid="uid://4ci6gmg0c15o" path="res://assets/minigames/minigame_ui/graphic/white_gauge.png" id="12_w5m1b"] +[ext_resource type="Texture2D" uid="uid://disgg14rdmp81" path="res://assets/minigames/monkeys/graphic/textplank.png" id="13_3p0ue"] +[ext_resource type="Script" path="res://sources/utils/percent_margin_container.gd" id="14_b3ilp"] + +[sub_resource type="Curve2D" id="Curve2D_8d1qx"] +_data = { +"points": PackedVector2Array(-668.987, 450.107, 668.987, -450.107, 544, 469, 0, 0, 0, 0, 1749, 469) +} +point_count = 2 + +[sub_resource type="AtlasTexture" id="AtlasTexture_418es"] +atlas = ExtResource("4_ohn01") +region = Rect2(0, 644, 344, 644) + +[sub_resource type="AtlasTexture" id="AtlasTexture_mgwte"] +atlas = ExtResource("4_ohn01") +region = Rect2(344, 644, 344, 644) + +[sub_resource type="AtlasTexture" id="AtlasTexture_eaplk"] +atlas = ExtResource("4_ohn01") +region = Rect2(688, 644, 344, 644) + +[sub_resource type="AtlasTexture" id="AtlasTexture_vvt1l"] +atlas = ExtResource("4_ohn01") +region = Rect2(1032, 644, 344, 644) + +[sub_resource type="AtlasTexture" id="AtlasTexture_1wa2c"] +atlas = ExtResource("4_ohn01") +region = Rect2(1376, 644, 344, 644) + +[sub_resource type="AtlasTexture" id="AtlasTexture_a87ds"] +atlas = ExtResource("4_ohn01") +region = Rect2(1720, 644, 344, 644) + +[sub_resource type="SpriteFrames" id="SpriteFrames_25r11"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_418es") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_mgwte") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_eaplk") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_vvt1l") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_1wa2c") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_a87ds") +}], +"loop": true, +"name": &"idle", +"speed": 5.0 +}] + +[sub_resource type="AtlasTexture" id="AtlasTexture_qsi28"] +atlas = ExtResource("4_ohn01") +region = Rect2(0, 0, 344, 644) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ar1tu"] +atlas = ExtResource("4_ohn01") +region = Rect2(344, 0, 344, 644) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ilota"] +atlas = ExtResource("4_ohn01") +region = Rect2(688, 0, 344, 644) + +[sub_resource type="AtlasTexture" id="AtlasTexture_xmcc6"] +atlas = ExtResource("4_ohn01") +region = Rect2(1032, 0, 344, 644) + +[sub_resource type="AtlasTexture" id="AtlasTexture_6346d"] +atlas = ExtResource("4_ohn01") +region = Rect2(1376, 0, 344, 644) + +[sub_resource type="AtlasTexture" id="AtlasTexture_s2q7t"] +atlas = ExtResource("4_ohn01") +region = Rect2(1720, 0, 344, 644) + +[sub_resource type="SpriteFrames" id="SpriteFrames_ru7b5"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_qsi28") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ar1tu") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ilota") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_xmcc6") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_6346d") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_s2q7t") +}], +"loop": false, +"name": &"idle", +"speed": 5.0 +}] + +[sub_resource type="Animation" id="Animation_t78yv"] +resource_name = "idle" +length = 0.6 +loop_mode = 1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Flag:rotation") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.1, 0.2, 0.3, 0.4, 0.5), +"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1), +"update": 1, +"values": [-0.0628319, -0.0523599, -0.0383972, -0.0261799, -0.0314159, -0.0471239] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Flag:size") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [Vector2(186, 170)] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Flag:position") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0, 0.1, 0.2, 0.3, 0.4, 0.5), +"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1), +"update": 1, +"values": [Vector2(204, 472), Vector2(207, 471), Vector2(212, 470), Vector2(215, 468), Vector2(213, 468), Vector2(208.5, 470)] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("Beacon:frame") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6), +"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1), +"update": 1, +"values": [0, 1, 2, 3, 4, 5, 0] +} + +[sub_resource type="Animation" id="Animation_n6305"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Flag:rotation") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [-0.0628319] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Flag:size") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(186, 170)] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Flag:position") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(204, 472)] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("Beacon:frame") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [0] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_tmg6i"] +_data = { +"RESET": SubResource("Animation_n6305"), +"idle": SubResource("Animation_t78yv") +} + +[sub_resource type="AtlasTexture" id="AtlasTexture_td78x"] +atlas = ExtResource("8_qh4mt") +region = Rect2(0, 0, 730, 517) + +[sub_resource type="AtlasTexture" id="AtlasTexture_pr8r8"] +atlas = ExtResource("8_qh4mt") +region = Rect2(730, 0, 730, 517) + +[sub_resource type="AtlasTexture" id="AtlasTexture_yu8vr"] +atlas = ExtResource("8_qh4mt") +region = Rect2(1460, 0, 730, 517) + +[sub_resource type="AtlasTexture" id="AtlasTexture_72pie"] +atlas = ExtResource("8_qh4mt") +region = Rect2(2190, 0, 730, 517) + +[sub_resource type="AtlasTexture" id="AtlasTexture_p0182"] +atlas = ExtResource("8_qh4mt") +region = Rect2(2920, 0, 730, 517) + +[sub_resource type="AtlasTexture" id="AtlasTexture_xsod7"] +atlas = ExtResource("8_qh4mt") +region = Rect2(3650, 0, 730, 517) + +[sub_resource type="AtlasTexture" id="AtlasTexture_1ovcx"] +atlas = ExtResource("8_qh4mt") +region = Rect2(4380, 0, 730, 517) + +[sub_resource type="AtlasTexture" id="AtlasTexture_8sjbj"] +atlas = ExtResource("8_qh4mt") +region = Rect2(5110, 0, 730, 517) + +[sub_resource type="AtlasTexture" id="AtlasTexture_skkqi"] +atlas = ExtResource("8_qh4mt") +region = Rect2(0, 1034, 730, 517) + +[sub_resource type="AtlasTexture" id="AtlasTexture_31btl"] +atlas = ExtResource("8_qh4mt") +region = Rect2(730, 1034, 730, 517) + +[sub_resource type="AtlasTexture" id="AtlasTexture_usm8j"] +atlas = ExtResource("8_qh4mt") +region = Rect2(1460, 1034, 730, 517) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ldgks"] +atlas = ExtResource("8_qh4mt") +region = Rect2(2190, 1034, 730, 517) + +[sub_resource type="AtlasTexture" id="AtlasTexture_c28t2"] +atlas = ExtResource("8_qh4mt") +region = Rect2(2920, 1034, 730, 517) + +[sub_resource type="AtlasTexture" id="AtlasTexture_cg4od"] +atlas = ExtResource("8_qh4mt") +region = Rect2(3650, 1034, 730, 517) + +[sub_resource type="AtlasTexture" id="AtlasTexture_1onkk"] +atlas = ExtResource("8_qh4mt") +region = Rect2(4380, 1034, 730, 517) + +[sub_resource type="AtlasTexture" id="AtlasTexture_anwwn"] +atlas = ExtResource("8_qh4mt") +region = Rect2(5110, 1034, 730, 517) + +[sub_resource type="AtlasTexture" id="AtlasTexture_upvs8"] +atlas = ExtResource("8_qh4mt") +region = Rect2(5840, 1034, 730, 517) + +[sub_resource type="AtlasTexture" id="AtlasTexture_jdduj"] +atlas = ExtResource("8_qh4mt") +region = Rect2(6570, 1034, 730, 517) + +[sub_resource type="AtlasTexture" id="AtlasTexture_jqc8v"] +atlas = ExtResource("8_qh4mt") +region = Rect2(7300, 1034, 730, 517) + +[sub_resource type="AtlasTexture" id="AtlasTexture_nd2k2"] +atlas = ExtResource("8_qh4mt") +region = Rect2(8030, 1034, 730, 517) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ry2l8"] +atlas = ExtResource("8_qh4mt") +region = Rect2(0, 517, 730, 517) + +[sub_resource type="AtlasTexture" id="AtlasTexture_qyuav"] +atlas = ExtResource("8_qh4mt") +region = Rect2(730, 517, 730, 517) + +[sub_resource type="AtlasTexture" id="AtlasTexture_cbb5h"] +atlas = ExtResource("8_qh4mt") +region = Rect2(1460, 517, 730, 517) + +[sub_resource type="AtlasTexture" id="AtlasTexture_i8jpw"] +atlas = ExtResource("8_qh4mt") +region = Rect2(2190, 517, 730, 517) + +[sub_resource type="AtlasTexture" id="AtlasTexture_h5kf8"] +atlas = ExtResource("8_qh4mt") +region = Rect2(2920, 517, 730, 517) + +[sub_resource type="AtlasTexture" id="AtlasTexture_8y36j"] +atlas = ExtResource("8_qh4mt") +region = Rect2(3650, 517, 730, 517) + +[sub_resource type="AtlasTexture" id="AtlasTexture_47fm8"] +atlas = ExtResource("8_qh4mt") +region = Rect2(4380, 517, 730, 517) + +[sub_resource type="AtlasTexture" id="AtlasTexture_mn05e"] +atlas = ExtResource("8_qh4mt") +region = Rect2(5110, 517, 730, 517) + +[sub_resource type="AtlasTexture" id="AtlasTexture_13fi6"] +atlas = ExtResource("8_qh4mt") +region = Rect2(5840, 517, 730, 517) + +[sub_resource type="AtlasTexture" id="AtlasTexture_47dn7"] +atlas = ExtResource("8_qh4mt") +region = Rect2(6570, 517, 730, 517) + +[sub_resource type="AtlasTexture" id="AtlasTexture_n0rp0"] +atlas = ExtResource("8_qh4mt") +region = Rect2(7300, 517, 730, 517) + +[sub_resource type="AtlasTexture" id="AtlasTexture_nv33l"] +atlas = ExtResource("8_qh4mt") +region = Rect2(8030, 517, 730, 517) + +[sub_resource type="SpriteFrames" id="SpriteFrames_ukbiw"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_td78x") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_pr8r8") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_yu8vr") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_72pie") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_p0182") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_xsod7") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_1ovcx") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_8sjbj") +}], +"loop": true, +"name": &"idle", +"speed": 7.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_skkqi") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_31btl") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_usm8j") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ldgks") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_c28t2") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_cg4od") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_1onkk") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_anwwn") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_upvs8") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_jdduj") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_jqc8v") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_nd2k2") +}], +"loop": false, +"name": &"left", +"speed": 12.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_ry2l8") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_qyuav") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_cbb5h") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_i8jpw") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_h5kf8") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_8y36j") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_47fm8") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_mn05e") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_13fi6") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_47dn7") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_n0rp0") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_nv33l") +}], +"loop": false, +"name": &"right", +"speed": 12.0 +}] + +[node name="FishMinigame" instance=ExtResource("1_itrpi")] +script = ExtResource("2_68jip") +game_duration = 240 +minigame_number = 1 + +[node name="Background" type="TextureRect" parent="GameRoot" index="0"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +texture = ExtResource("3_3ty3i") + +[node name="Path2D" type="Path2D" parent="GameRoot" index="1"] +curve = SubResource("Curve2D_8d1qx") + +[node name="PathFollow2D" type="PathFollow2D" parent="GameRoot/Path2D" index="0"] +unique_name_in_owner = true +position = Vector2(544, 469) +rotates = false +loop = false + +[node name="Sprite2D" type="Sprite2D" parent="GameRoot/Path2D/PathFollow2D" index="0"] +scale = Vector2(2, 2) +texture = ExtResource("4_2m0ff") + +[node name="Cloud" type="TextureRect" parent="GameRoot" index="2"] +layout_mode = 1 +anchors_preset = 10 +anchor_right = 1.0 +offset_bottom = 861.0 +grow_horizontal = 2 +texture = ExtResource("4_ccu1v") + +[node name="Sea" type="TextureRect" parent="GameRoot" index="3"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +texture = ExtResource("5_dc51h") + +[node name="Beacon1" type="Control" parent="GameRoot" index="4" node_paths=PackedStringArray("sprites")] +unique_name_in_owner = true +layout_mode = 3 +anchors_preset = 0 +offset_left = 408.0 +offset_top = 200.0 +offset_right = 1026.0 +offset_bottom = 1326.0 +script = ExtResource("4_8mkk3") +sprites = [NodePath("Beacon")] + +[node name="Beacon" type="AnimatedSprite2D" parent="GameRoot/Beacon1" index="0"] +scale = Vector2(1.79651, 1.74845) +sprite_frames = SubResource("SpriteFrames_25r11") +animation = &"idle" +autoplay = "idle" +frame_progress = 0.600356 +centered = false + +[node name="FalseWrongFX" parent="GameRoot/Beacon1" index="1" instance=ExtResource("11_ueo10")] +unique_name_in_owner = true +position = Vector2(306, 533) + +[node name="FalseRightFX" parent="GameRoot/Beacon1" index="2" instance=ExtResource("9_mcq4c")] +unique_name_in_owner = true +position = Vector2(306, 521) + +[node name="Beacon2" type="Control" parent="GameRoot" index="5" node_paths=PackedStringArray("sprites")] +unique_name_in_owner = true +layout_mode = 3 +anchors_preset = 0 +offset_left = 1600.0 +offset_top = 200.0 +offset_right = 2218.0 +offset_bottom = 1326.0 +script = ExtResource("4_8mkk3") +sprites = [NodePath("Beacon")] + +[node name="Beacon" type="AnimatedSprite2D" parent="GameRoot/Beacon2" index="0"] +scale = Vector2(1.79651, 1.74845) +sprite_frames = SubResource("SpriteFrames_ru7b5") +animation = &"idle" +centered = false + +[node name="Flag" type="TextureRect" parent="GameRoot/Beacon2" index="1"] +layout_mode = 0 +offset_left = 204.0 +offset_top = 472.0 +offset_right = 390.0 +offset_bottom = 642.0 +rotation = -0.0628319 +mouse_filter = 2 +texture = ExtResource("9_2adou") +expand_mode = 1 + +[node name="AnimationPlayer" type="AnimationPlayer" parent="GameRoot/Beacon2" index="2"] +libraries = { +"": SubResource("AnimationLibrary_tmg6i") +} +autoplay = "idle" +speed_scale = 0.5 + +[node name="RealWrongFX" parent="GameRoot/Beacon2" index="3" instance=ExtResource("11_ueo10")] +unique_name_in_owner = true +position = Vector2(306, 533) + +[node name="RealRightFX" parent="GameRoot/Beacon2" index="4" instance=ExtResource("9_mcq4c")] +unique_name_in_owner = true +position = Vector2(306, 521) + +[node name="AspectRatioContainer" type="AspectRatioContainer" parent="GameRoot" index="6"] +layout_mode = 0 +offset_left = 520.0 +offset_top = 656.0 +offset_right = 2129.0 +offset_bottom = 1802.0 +mouse_filter = 2 +ratio = 1.412 + +[node name="Fish" type="Control" parent="GameRoot/AspectRatioContainer" index="0" node_paths=PackedStringArray("sprites")] +unique_name_in_owner = true +layout_mode = 2 +mouse_filter = 2 +script = ExtResource("4_8mkk3") +sprites = [NodePath("FishAnimatedSprite")] + +[node name="FishAnimatedSprite" type="AnimatedSprite2D" parent="GameRoot/AspectRatioContainer/Fish" index="0"] +unique_name_in_owner = true +scale = Vector2(2.20411, 2.2041) +sprite_frames = SubResource("SpriteFrames_ukbiw") +animation = &"idle" +autoplay = "idle" +centered = false + +[node name="FishStartZone" type="Control" parent="GameRoot/AspectRatioContainer/Fish" index="1"] +unique_name_in_owner = true +anchors_preset = 0 +offset_left = 508.0 +offset_top = 346.0 +offset_right = 1084.0 +offset_bottom = 1124.0 + +[node name="ProgressionGauge" type="NinePatchRect" parent="GameRoot" index="7"] +unique_name_in_owner = true +custom_minimum_size = Vector2(64, 64) +layout_mode = 0 +offset_left = 2317.0 +offset_top = 233.0 +offset_right = 2439.0 +offset_bottom = 1599.0 +texture = ExtResource("11_p5wnc") +patch_margin_top = 33 +patch_margin_bottom = 33 + +[node name="PercentMarginContainer" type="Container" parent="GameRoot/ProgressionGauge" index="0"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +script = ExtResource("14_b3ilp") +margin_top_ratio = 0.95 + +[node name="ProgressionGauge2" type="NinePatchRect" parent="GameRoot/ProgressionGauge/PercentMarginContainer" index="0"] +unique_name_in_owner = true +modulate = Color(0.996078, 0.776471, 0.2, 1) +layout_mode = 2 +texture = ExtResource("12_w5m1b") +patch_margin_top = 33 +patch_margin_bottom = 33 + +[node name="TextPlank" type="TextureRect" parent="GameRoot" index="8"] +layout_mode = 0 +offset_left = 1016.0 +offset_top = 1608.0 +offset_right = 1692.0 +offset_bottom = 1743.0 +texture = ExtResource("13_3p0ue") + +[node name="MarginContainer" type="MarginContainer" parent="GameRoot/TextPlank" index="0"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_constants/margin_right = 30 + +[node name="Label" type="Label" parent="GameRoot/TextPlank/MarginContainer" index="0"] +unique_name_in_owner = true +layout_mode = 2 +theme_override_font_sizes/font_size = 100 +text = "a" +horizontal_alignment = 1 + +[connection signal="beacon_fish_dropped" from="." to="." method="_on_beacon_fish_dropped"] +[connection signal="animation_finished" from="GameRoot/AspectRatioContainer/Fish/FishAnimatedSprite" to="." method="_on_fish_animated_sprite_animation_finished"] diff --git a/sources/minigames/fish/fish_texture_rect.gd b/sources/minigames/fish/fish_texture_rect.gd new file mode 100644 index 00000000..d3b20713 --- /dev/null +++ b/sources/minigames/fish/fish_texture_rect.gd @@ -0,0 +1,7 @@ +extends Control + +@onready var aspect_ratio_container: = $AspectRatioContainer + + +func _ready() -> void: + aspect_ratio_container.position = - aspect_ratio_container.size / 2 diff --git a/sources/minigames/fish/fish_texture_rect.tscn b/sources/minigames/fish/fish_texture_rect.tscn new file mode 100644 index 00000000..f476fd80 --- /dev/null +++ b/sources/minigames/fish/fish_texture_rect.tscn @@ -0,0 +1,26 @@ +[gd_scene load_steps=3 format=3 uid="uid://ck3nw3pk611qk"] + +[ext_resource type="Script" path="res://sources/minigames/fish/fish_texture_rect.gd" id="1_wln62"] +[ext_resource type="Texture2D" uid="uid://cscx0pq6raxdo" path="res://assets/minigames/fish/fish.png" id="1_xh3of"] + +[node name="FishTextureRect" type="Control"] +layout_mode = 3 +offset_right = 100.0 +offset_bottom = 100.0 +grow_horizontal = 2 +grow_vertical = 2 +script = ExtResource("1_wln62") + +[node name="AspectRatioContainer" type="AspectRatioContainer" parent="."] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +ratio = 1.5014 + +[node name="TextureRect" type="TextureRect" parent="AspectRatioContainer"] +layout_mode = 2 +texture = ExtResource("1_xh3of") +expand_mode = 1 diff --git a/sources/minigames/jellyfish/jellyfish_minigame.tscn b/sources/minigames/jellyfish/jellyfish_minigame.tscn index 270ffd6c..89467354 100644 --- a/sources/minigames/jellyfish/jellyfish_minigame.tscn +++ b/sources/minigames/jellyfish/jellyfish_minigame.tscn @@ -11,7 +11,10 @@ [node name="JellyfishMinigame" instance=ExtResource("1_hauef")] script = ExtResource("2_gnjlp") -difficulty = 4 +difficulty = 0 +minigame_number = 1 +max_number_of_lives = 5 +max_progression = 8 intro_kalulu_speech = ExtResource("3_6sswr") help_kalulu_speech = ExtResource("2_7li38") win_kalulu_speech = ExtResource("3_ar7nu") diff --git a/sources/minigames/monkeys/monkey.tscn b/sources/minigames/monkeys/monkey.tscn index 45d0368d..97ca31d3 100644 --- a/sources/minigames/monkeys/monkey.tscn +++ b/sources/minigames/monkeys/monkey.tscn @@ -491,10 +491,10 @@ rotation = 0.261799 gizmo_extents = 20.0 [node name="AnimationPlayer" type="AnimationPlayer" parent="."] -autoplay = "idle" libraries = { "": SubResource("AnimationLibrary_rnatx") } +autoplay = "idle" [node name="Button" type="Button" parent="."] offset_left = -182.0 diff --git a/sources/minigames/monkeys/monkeys_minigame.tscn b/sources/minigames/monkeys/monkeys_minigame.tscn index ac61570d..87fe7400 100644 --- a/sources/minigames/monkeys/monkeys_minigame.tscn +++ b/sources/minigames/monkeys/monkeys_minigame.tscn @@ -20,10 +20,10 @@ spacing_glyph = 20 [node name="Monkeys" instance=ExtResource("1_6nhsm")] script = ExtResource("2_12lw5") difficulty = 0 -lesson_nb = 10 throw_to_king_duration = 1.2 throw_to_monkey_duration = 0.8 throw_to_planck_duration = 0.9 +minigame_number = 1 max_number_of_lives = 5 max_progression = 2 intro_kalulu_speech = ExtResource("3_ek5u5")