Implement cursor, scenes for main menu and final score, and misc sfx

This commit is contained in:
Dylan Shumway 2025-10-05 23:30:26 -04:00
parent 515cc3e0fb
commit c381dbdb08
33 changed files with 532 additions and 1 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

View file

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dsfng5b065eyp"
path="res://.godot/imported/full_bg_example.png-23e9c1b2438a4cb21327fd2eaf815f60.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/background/full_bg_example.png"
dest_files=["res://.godot/imported/full_bg_example.png-23e9c1b2438a4cb21327fd2eaf815f60.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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

Binary file not shown.

After

Width:  |  Height:  |  Size: 568 B

View file

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cmgvwq3ln4i3l"
path="res://.godot/imported/cursor_closed.png-3fe743bdc2c756b0e9a9f93044240563.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/cursor/cursor_closed.png"
dest_files=["res://.godot/imported/cursor_closed.png-3fe743bdc2c756b0e9a9f93044240563.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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

Binary file not shown.

After

Width:  |  Height:  |  Size: 713 B

View file

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c756mdbly76s5"
path="res://.godot/imported/cursor_open.png-1ad5a8d3700c189c39f47dfeab1576b7.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/cursor/cursor_open.png"
dest_files=["res://.godot/imported/cursor_open.png-1ad5a8d3700c189c39f47dfeab1576b7.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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

Binary file not shown.

View file

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://db67ob7kkhsc0"
path="res://.godot/imported/failed-round.wav-11bf6cf03896386b908cad8ea4dbe98a.sample"
[deps]
source_file="res://assets/game sfx/failed-round.wav"
dest_files=["res://.godot/imported/failed-round.wav-11bf6cf03896386b908cad8ea4dbe98a.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2

Binary file not shown.

View file

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://cicodo74wnevu"
path="res://.godot/imported/next-round.wav-624bc347adba86ecf8954a591facf09b.sample"
[deps]
source_file="res://assets/game sfx/next-round.wav"
dest_files=["res://.godot/imported/next-round.wav-624bc347adba86ecf8954a591facf09b.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2

Binary file not shown.

View file

@ -0,0 +1,19 @@
[remap]
importer="oggvorbisstr"
type="AudioStreamOggVorbis"
uid="uid://cyl2wxt5nwot5"
path="res://.godot/imported/loss.ogg-47e5ca74e491f12870ff324c15af04c1.oggvorbisstr"
[deps]
source_file="res://assets/menus/final score/loss.ogg"
dest_files=["res://.godot/imported/loss.ogg-47e5ca74e491f12870ff324c15af04c1.oggvorbisstr"]
[params]
loop=false
loop_offset=0
bpm=0
beat_count=0
bar_beats=4

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

View file

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://d24dlalqmr6r0"
path="res://.godot/imported/morshu-anger-large.png-a42c6b2792682051956723f333dbba40.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/menus/final score/morshu-anger-large.png"
dest_files=["res://.godot/imported/morshu-anger-large.png-a42c6b2792682051956723f333dbba40.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

View file

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cabsfveh1oc6i"
path="res://.godot/imported/morshu-happy-large.png-ca9678fe4ca200c5029c9feeb830e07d.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/menus/final score/morshu-happy-large.png"
dest_files=["res://.godot/imported/morshu-happy-large.png-ca9678fe4ca200c5029c9feeb830e07d.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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

Binary file not shown.

View file

@ -0,0 +1,19 @@
[remap]
importer="oggvorbisstr"
type="AudioStreamOggVorbis"
uid="uid://bvauoea3ms47l"
path="res://.godot/imported/win.ogg-629872b052fcf2b1837befd90cc62630.oggvorbisstr"
[deps]
source_file="res://assets/menus/final score/win.ogg"
dest_files=["res://.godot/imported/win.ogg-629872b052fcf2b1837befd90cc62630.oggvorbisstr"]
[params]
loop=false
loop_offset=0
bpm=0
beat_count=0
bar_beats=4

BIN
assets/menus/main/main.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

View file

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cyheahpjvgaec"
path="res://.godot/imported/main.png-1b49f043df990fcf9e842115f5c997b0.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/menus/main/main.png"
dest_files=["res://.godot/imported/main.png-1b49f043df990fcf9e842115f5c997b0.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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

Binary file not shown.

View file

@ -0,0 +1,19 @@
[remap]
importer="oggvorbisstr"
type="AudioStreamOggVorbis"
uid="uid://ntdnmk07dvjp"
path="res://.godot/imported/mainmenu.ogg-576e3b76c2c1c563c44d509923f90dec.oggvorbisstr"
[deps]
source_file="res://assets/menus/main/mainmenu.ogg"
dest_files=["res://.godot/imported/mainmenu.ogg-576e3b76c2c1c563c44d509923f90dec.oggvorbisstr"]
[params]
loop=false
loop_offset=0
bpm=0
beat_count=0
bar_beats=4

Binary file not shown.

After

Width:  |  Height:  |  Size: 491 B

View file

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dhpsbi6fwtdfd"
path="res://.godot/imported/press-any.png-80234bfe7df974c7971a6530c84775eb.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/menus/main/press-any.png"
dest_files=["res://.godot/imported/press-any.png-80234bfe7df974c7971a6530c84775eb.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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

10
cursor_manager.gd Normal file
View file

@ -0,0 +1,10 @@
extends Node
var hover = load("res://assets/cursor/cursor_open.png")
var click = load("res://assets/cursor/cursor_closed.png")
func _ready() -> void:
Input.set_custom_mouse_cursor(hover)
# need to find the correct cursor mode for changing on click
Input.set_custom_mouse_cursor(click, Input.CURSOR_DRAG)

1
cursor_manager.gd.uid Normal file
View file

@ -0,0 +1 @@
uid://dds738kgqrpux

6
cursor_manager.tscn Normal file
View file

@ -0,0 +1,6 @@
[gd_scene load_steps=2 format=3 uid="uid://6a4hl2twv0lj"]
[ext_resource type="Script" uid="uid://dds738kgqrpux" path="res://cursor_manager.gd" id="1_vunjj"]
[node name="CursorManager" type="Node"]
script = ExtResource("1_vunjj")

View file

@ -87,6 +87,7 @@ func _handle_gavel_hit():
func destroy_painting(): func destroy_painting():
# Painting destruction animation/particle effect # Painting destruction animation/particle effect
$FailedPainting.play()
current_painting += 1 current_painting += 1
DisplayServer.tts_speak("Oh nooooooo! Took too long!", turn_manager.voice_id, turn_manager.tts_volume, turn_manager.tts_pitch) DisplayServer.tts_speak("Oh nooooooo! Took too long!", turn_manager.voice_id, turn_manager.tts_volume, turn_manager.tts_pitch)
DisplayServer.tts_speak("Try to make it up on the next painting!", turn_manager.voice_id, turn_manager.tts_volume, turn_manager.tts_pitch) DisplayServer.tts_speak("Try to make it up on the next painting!", turn_manager.voice_id, turn_manager.tts_volume, turn_manager.tts_pitch)
@ -97,6 +98,7 @@ func sell_painting():
total_sales = total_sales + current_bid total_sales = total_sales + current_bid
func next_painting(a: int): func next_painting(a: int):
$NextPainting.play()
starting_price = paintings[a] starting_price = paintings[a]
current_bid = 0 current_bid = 0

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=20 format=3 uid="uid://dt4nq0nkmjiit"] [gd_scene load_steps=22 format=3 uid="uid://dt4nq0nkmjiit"]
[ext_resource type="Script" uid="uid://b5tcsve1oo5ht" path="res://game_manager.gd" id="1_ig7tw"] [ext_resource type="Script" uid="uid://b5tcsve1oo5ht" path="res://game_manager.gd" id="1_ig7tw"]
[ext_resource type="Texture2D" uid="uid://cvqsf1nlfqwpr" path="res://assets/background/background.png" id="1_lquwl"] [ext_resource type="Texture2D" uid="uid://cvqsf1nlfqwpr" path="res://assets/background/background.png" id="1_lquwl"]
@ -6,6 +6,8 @@
[ext_resource type="FontFile" uid="uid://cm28kqtqj3a6n" path="res://assets/amiga4ever pro.ttf" id="2_5vw27"] [ext_resource type="FontFile" uid="uid://cm28kqtqj3a6n" path="res://assets/amiga4ever pro.ttf" id="2_5vw27"]
[ext_resource type="Texture2D" uid="uid://cpj3xw8js3h3" path="res://assets/chairs/chairs_back.png" id="2_7mycd"] [ext_resource type="Texture2D" uid="uid://cpj3xw8js3h3" path="res://assets/chairs/chairs_back.png" id="2_7mycd"]
[ext_resource type="Texture2D" uid="uid://d03ot1f34pyhu" path="res://assets/chairs/chairs_front.png" id="3_272bh"] [ext_resource type="Texture2D" uid="uid://d03ot1f34pyhu" path="res://assets/chairs/chairs_front.png" id="3_272bh"]
[ext_resource type="AudioStream" uid="uid://db67ob7kkhsc0" path="res://assets/game sfx/failed-round.wav" id="5_cegan"]
[ext_resource type="AudioStream" uid="uid://cicodo74wnevu" path="res://assets/game sfx/next-round.wav" id="6_82xsv"]
[ext_resource type="PackedScene" uid="uid://c1acpop6amvcl" path="res://audience_manager.tscn" id="6_272bh"] [ext_resource type="PackedScene" uid="uid://c1acpop6amvcl" path="res://audience_manager.tscn" id="6_272bh"]
[ext_resource type="PackedScene" uid="uid://b8key4hjaldui" path="res://turn_manager.tscn" id="7_272bh"] [ext_resource type="PackedScene" uid="uid://b8key4hjaldui" path="res://turn_manager.tscn" id="7_272bh"]
[ext_resource type="Texture2D" uid="uid://d2142cf22t1lv" path="res://assets/buttons/button1.png" id="9_2cqfq"] [ext_resource type="Texture2D" uid="uid://d2142cf22t1lv" path="res://assets/buttons/button1.png" id="9_2cqfq"]
@ -18,6 +20,7 @@
[ext_resource type="Texture2D" uid="uid://dve6bedyuod2b" path="res://assets/buttons/button2pressed.png" id="14_getpj"] [ext_resource type="Texture2D" uid="uid://dve6bedyuod2b" path="res://assets/buttons/button2pressed.png" id="14_getpj"]
[ext_resource type="Texture2D" uid="uid://heqlxtsfl26k" path="res://assets/buttons/button4.png" id="15_ryguw"] [ext_resource type="Texture2D" uid="uid://heqlxtsfl26k" path="res://assets/buttons/button4.png" id="15_ryguw"]
[ext_resource type="Texture2D" uid="uid://bnjj1gp2jx82x" path="res://assets/buttons/button4pressed.png" id="16_d13ii"] [ext_resource type="Texture2D" uid="uid://bnjj1gp2jx82x" path="res://assets/buttons/button4pressed.png" id="16_d13ii"]
[ext_resource type="PackedScene" uid="uid://6a4hl2twv0lj" path="res://cursor_manager.tscn" id="20_82xsv"]
[sub_resource type="Theme" id="Theme_272bh"] [sub_resource type="Theme" id="Theme_272bh"]
default_font = ExtResource("2_5vw27") default_font = ExtResource("2_5vw27")
@ -52,6 +55,14 @@ current_bid_display = NodePath("../UI/RichTextLabel")
[node name="Timer" type="Timer" parent="GameManager"] [node name="Timer" type="Timer" parent="GameManager"]
wait_time = 300.0 wait_time = 300.0
[node name="FailedPainting" type="AudioStreamPlayer" parent="GameManager"]
stream = ExtResource("5_cegan")
volume_db = -10.0
[node name="NextPainting" type="AudioStreamPlayer" parent="GameManager"]
stream = ExtResource("6_82xsv")
volume_db = -4.933
[node name="Desk" parent="." node_paths=PackedStringArray("game_manager", "turn_manager", "audience_manager") instance=ExtResource("2_0xm2m")] [node name="Desk" parent="." node_paths=PackedStringArray("game_manager", "turn_manager", "audience_manager") instance=ExtResource("2_0xm2m")]
game_manager = NodePath("../GameManager") game_manager = NodePath("../GameManager")
turn_manager = NodePath("../TurnManager") turn_manager = NodePath("../TurnManager")
@ -123,6 +134,8 @@ texture_normal = ExtResource("15_ryguw")
texture_pressed = ExtResource("16_d13ii") texture_pressed = ExtResource("16_d13ii")
texture_hover = ExtResource("16_d13ii") texture_hover = ExtResource("16_d13ii")
[node name="CursorManager" parent="." instance=ExtResource("20_82xsv")]
[connection signal="button_down" from="BarkButtons/GreatBuy" to="BarkButtons" method="_on_great_buy_button_down"] [connection signal="button_down" from="BarkButtons/GreatBuy" to="BarkButtons" method="_on_great_buy_button_down"]
[connection signal="button_down" from="BarkButtons/InvestmentPiece" to="BarkButtons" method="_on_investment_piece_button_down"] [connection signal="button_down" from="BarkButtons/InvestmentPiece" to="BarkButtons" method="_on_investment_piece_button_down"]
[connection signal="button_down" from="BarkButtons/StunningMessage" to="BarkButtons" method="_on_stunning_message_button_down"] [connection signal="button_down" from="BarkButtons/StunningMessage" to="BarkButtons" method="_on_stunning_message_button_down"]

57
main_menu.tscn Normal file
View file

@ -0,0 +1,57 @@
[gd_scene load_steps=4 format=3 uid="uid://q1x5v4q6uxsj"]
[ext_resource type="Texture2D" uid="uid://dsfng5b065eyp" path="res://assets/background/full_bg_example.png" id="1_06t4h"]
[ext_resource type="Theme" uid="uid://d2rlcffg7nguy" path="res://menus.tres" id="2_jix8l"]
[ext_resource type="Texture2D" uid="uid://cyheahpjvgaec" path="res://assets/menus/main/main.png" id="3_glbon"]
[node name="Main Menu" type="Control"]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="Background" type="Sprite2D" parent="."]
position = Vector2(640, 360)
texture = ExtResource("1_06t4h")
[node name="Vignette" type="ColorRect" parent="."]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
color = Color(0.18431373, 0.09411765, 0.10980392, 0.7529412)
[node name="PressAnyKey" type="Label" parent="."]
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -173.0
offset_top = 229.0
offset_right = 173.0
offset_bottom = 252.0
grow_horizontal = 2
grow_vertical = 2
theme = ExtResource("2_jix8l")
text = "Press any key to start"
[node name="Title" type="TextureRect" parent="."]
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -450.0
offset_top = -145.0
offset_right = 450.0
offset_bottom = 145.0
grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("3_glbon")

6
menus.tres Normal file
View file

@ -0,0 +1,6 @@
[gd_resource type="Theme" load_steps=2 format=3 uid="uid://d2rlcffg7nguy"]
[ext_resource type="FontFile" uid="uid://cm28kqtqj3a6n" path="res://assets/amiga4ever pro.ttf" id="1_tgj2w"]
[resource]
default_font = ExtResource("1_tgj2w")

View file

@ -60,5 +60,7 @@ func keypad_submit():
_: _:
error_audio_player.play() error_audio_player.play()
# need to avoid starting the reminder timer before
# the auction starts
reminder_timer.start(-1) reminder_timer.start(-1)
numpad_buffer.clear() numpad_buffer.clear()

49
score_screen.tscn Normal file
View file

@ -0,0 +1,49 @@
[gd_scene load_steps=4 format=3 uid="uid://bcnpjrwddi5h8"]
[ext_resource type="Theme" uid="uid://d2rlcffg7nguy" path="res://menus.tres" id="1_3r2db"]
[ext_resource type="Texture2D" uid="uid://cabsfveh1oc6i" path="res://assets/menus/final score/morshu-happy-large.png" id="1_juxjb"]
[ext_resource type="Texture2D" uid="uid://d24dlalqmr6r0" path="res://assets/menus/final score/morshu-anger-large.png" id="2_3r2db"]
[node name="Node2D" type="Node2D"]
[node name="Control" type="Control" parent="."]
layout_mode = 3
anchors_preset = 0
offset_right = 1280.0
offset_bottom = 720.0
[node name="ColorRect" type="ColorRect" parent="Control"]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
color = Color(0.18431373, 0.09411765, 0.10980392, 1)
[node name="RichTextLabel" type="RichTextLabel" parent="Control"]
layout_mode = 1
anchors_preset = 4
anchor_top = 0.5
anchor_bottom = 0.5
offset_left = 64.0
offset_top = -175.0
offset_right = 545.0
offset_bottom = 175.0
grow_vertical = 2
theme = ExtResource("1_3r2db")
text = "placeholder"
horizontal_alignment = 1
vertical_alignment = 1
[node name="MorshoReactManager" type="Node2D" parent="."]
position = Vector2(870, 360)
rotation = 0.20420352
scale = Vector2(2.5, 2.5)
[node name="MorshoHappy" type="Sprite2D" parent="MorshoReactManager"]
texture = ExtResource("1_juxjb")
[node name="MorshoAngry" type="Sprite2D" parent="MorshoReactManager"]
visible = false
texture = ExtResource("2_3r2db")