[gd_scene load_steps=17 format=3 uid="uid://ceqnn4bkdnnkg"] [ext_resource type="Script" path="res://scripts/plr.gd" id="1_37nf0"] [ext_resource type="Texture2D" uid="uid://cw5k2tw74rt44" path="res://assets/plr/face.png" id="1_kh4l2"] [ext_resource type="Texture2D" uid="uid://vc4ntnaq4xo8" path="res://assets/plr/tail.png" id="2_26rkd"] [ext_resource type="Texture2D" uid="uid://bhoi16v2lge5s" path="res://assets/plr/head.png" id="2_ylo5j"] [ext_resource type="Texture2D" uid="uid://e61exatotusn" path="res://assets/plr/torso.png" id="3_llt4k"] [ext_resource type="Texture2D" uid="uid://b2wwc74rumj6b" path="res://assets/textbox.png" id="5_ljw5m"] [ext_resource type="Script" path="res://scripts/typewrite.gd" id="6_bjl34"] [ext_resource type="FontFile" uid="uid://dit6605nx68qb" path="res://assets/HackerBasic.ttf" id="6_m1vy8"] [ext_resource type="AudioStream" uid="uid://wc2udhbh21la" path="res://sfx/meow.wav" id="9_kn63i"] [sub_resource type="Animation" id="Animation_kxab8"] length = 0.001 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("character/body/face:position") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Vector2(18, 17)] } tracks/1/type = "value" tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath("character/body/face:rotation") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [0.0] } tracks/2/type = "value" tracks/2/imported = false tracks/2/enabled = true tracks/2/path = NodePath("character/body/head:position") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Vector2(16, 24)] } tracks/3/type = "value" tracks/3/imported = false tracks/3/enabled = true tracks/3/path = NodePath("character/body/head:rotation") tracks/3/interp = 1 tracks/3/loop_wrap = true tracks/3/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [0.0] } tracks/4/type = "value" tracks/4/imported = false tracks/4/enabled = true tracks/4/path = NodePath("character/body/torso:position") tracks/4/interp = 1 tracks/4/loop_wrap = true tracks/4/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Vector2(16, 24)] } tracks/5/type = "value" tracks/5/imported = false tracks/5/enabled = true tracks/5/path = NodePath("character/body/torso:rotation") tracks/5/interp = 1 tracks/5/loop_wrap = true tracks/5/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [0.0] } tracks/6/type = "value" tracks/6/imported = false tracks/6/enabled = true tracks/6/path = NodePath("character/body/torso:skew") tracks/6/interp = 1 tracks/6/loop_wrap = true tracks/6/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [0.0] } tracks/7/type = "value" tracks/7/imported = false tracks/7/enabled = true tracks/7/path = NodePath("character/body/tail:position") tracks/7/interp = 1 tracks/7/loop_wrap = true tracks/7/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Vector2(15, 35)] } tracks/8/type = "value" tracks/8/imported = false tracks/8/enabled = true tracks/8/path = NodePath("character/body/tail:rotation") tracks/8/interp = 1 tracks/8/loop_wrap = true tracks/8/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [0.0] } [sub_resource type="Animation" id="Animation_qoxyi"] resource_name = "idle" length = 2.1 loop_mode = 1 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("character/body/face:position") tracks/0/interp = 2 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0, 0.3, 1, 1.2, 2), "transitions": PackedFloat32Array(1.68179, 1.68179, 1.68179, 1.68179, 1.68179), "update": 0, "values": [Vector2(18, 17), Vector2(18, 17), Vector2(18, 19), Vector2(18, 19), Vector2(18, 17)] } tracks/1/type = "value" tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath("character/body/face:rotation") tracks/1/interp = 2 tracks/1/loop_wrap = true tracks/1/keys = { "times": PackedFloat32Array(0, 0.3, 1, 1.2, 2), "transitions": PackedFloat32Array(1.68179, 1.68179, 1.68179, 1.68179, 1.68179), "update": 0, "values": [0.0, 0.0, 0.0, 0.0, 0.0] } tracks/2/type = "value" tracks/2/imported = false tracks/2/enabled = true tracks/2/path = NodePath("character/body/head:position") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { "times": PackedFloat32Array(0, 1, 2), "transitions": PackedFloat32Array(1.46409, 1.46409, 1.46409), "update": 0, "values": [Vector2(16, 24), Vector2(16, 26), Vector2(16, 24)] } tracks/3/type = "value" tracks/3/imported = false tracks/3/enabled = true tracks/3/path = NodePath("character/body/head:rotation") tracks/3/interp = 1 tracks/3/loop_wrap = true tracks/3/keys = { "times": PackedFloat32Array(0, 1, 2), "transitions": PackedFloat32Array(1.46409, 1.46409, 1.46409), "update": 0, "values": [0.0, 0.0, 0.0] } tracks/4/type = "value" tracks/4/imported = false tracks/4/enabled = true tracks/4/path = NodePath("character/body/torso:position") tracks/4/interp = 1 tracks/4/loop_wrap = true tracks/4/keys = { "times": PackedFloat32Array(), "transitions": PackedFloat32Array(), "update": 0, "values": [] } tracks/5/type = "value" tracks/5/imported = false tracks/5/enabled = true tracks/5/path = NodePath("character/body/torso:rotation") tracks/5/interp = 1 tracks/5/loop_wrap = true tracks/5/keys = { "times": PackedFloat32Array(0, 2), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [0.0, 0.0] } tracks/6/type = "value" tracks/6/imported = false tracks/6/enabled = true tracks/6/path = NodePath("character/body/tail:position") tracks/6/interp = 1 tracks/6/loop_wrap = true tracks/6/keys = { "times": PackedFloat32Array(), "transitions": PackedFloat32Array(), "update": 0, "values": [] } tracks/7/type = "value" tracks/7/imported = false tracks/7/enabled = true tracks/7/path = NodePath("character/body/tail:rotation") tracks/7/interp = 1 tracks/7/loop_wrap = true tracks/7/keys = { "times": PackedFloat32Array(), "transitions": PackedFloat32Array(), "update": 0, "values": [] } tracks/8/type = "value" tracks/8/imported = false tracks/8/enabled = true tracks/8/path = NodePath("character/body/tail:position") tracks/8/interp = 1 tracks/8/loop_wrap = true tracks/8/keys = { "times": PackedFloat32Array(0, 1), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [Vector2(15, 35), Vector2(15, 35)] } tracks/9/type = "value" tracks/9/imported = false tracks/9/enabled = true tracks/9/path = NodePath("character/body/tail:rotation") tracks/9/interp = 1 tracks/9/loop_wrap = true tracks/9/keys = { "times": PackedFloat32Array(0, 1), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [0.0, 0.176244] } [sub_resource type="Animation" id="Animation_hwcro"] resource_name = "vmove" length = 2.0 loop_mode = 1 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("character/body/torso:position") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(), "transitions": PackedFloat32Array(), "update": 0, "values": [] } tracks/1/type = "value" tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath("character/body/torso:rotation") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [0.0] } tracks/2/type = "value" tracks/2/imported = false tracks/2/enabled = true tracks/2/path = NodePath("character/body/head:position") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { "times": PackedFloat32Array(0, 1), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [Vector2(16, 24), Vector2(16, 26)] } tracks/3/type = "value" tracks/3/imported = false tracks/3/enabled = true tracks/3/path = NodePath("character/body/head:rotation") tracks/3/interp = 1 tracks/3/loop_wrap = true tracks/3/keys = { "times": PackedFloat32Array(0, 1), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [0.0, 0.0] } tracks/4/type = "value" tracks/4/imported = false tracks/4/enabled = true tracks/4/path = NodePath("character/body/face:position") tracks/4/interp = 1 tracks/4/loop_wrap = true tracks/4/keys = { "times": PackedFloat32Array(0, 1), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [Vector2(16, 17), Vector2(16, 21)] } tracks/5/type = "value" tracks/5/imported = false tracks/5/enabled = true tracks/5/path = NodePath("character/body/face:rotation") tracks/5/interp = 1 tracks/5/loop_wrap = true tracks/5/keys = { "times": PackedFloat32Array(0, 1), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [0.0, 0.0] } tracks/6/type = "value" tracks/6/imported = false tracks/6/enabled = true tracks/6/path = NodePath("character/body/torso:skew") tracks/6/interp = 1 tracks/6/loop_wrap = true tracks/6/keys = { "times": PackedFloat32Array(0.0001, 1), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [0.0593412, 0.010472] } tracks/7/type = "value" tracks/7/imported = false tracks/7/enabled = true tracks/7/path = NodePath("character/body/tail:position") tracks/7/interp = 1 tracks/7/loop_wrap = true tracks/7/keys = { "times": PackedFloat32Array(0, 1), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [Vector2(15, 35), Vector2(15, 35)] } tracks/8/type = "value" tracks/8/imported = false tracks/8/enabled = true tracks/8/path = NodePath("character/body/tail:rotation") tracks/8/interp = 1 tracks/8/loop_wrap = true tracks/8/keys = { "times": PackedFloat32Array(0, 1), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [0.0, 0.176244] } [sub_resource type="Animation" id="Animation_hhtsg"] resource_name = "walk" loop_mode = 1 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("character/body/face:position") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0, 0.5), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [Vector2(21, 17), Vector2(21, 19)] } tracks/1/type = "value" tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath("character/body/face:rotation") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "times": PackedFloat32Array(0, 0.5), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [0.0, 0.0] } tracks/2/type = "value" tracks/2/imported = false tracks/2/enabled = true tracks/2/path = NodePath("character/body/head:position") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { "times": PackedFloat32Array(0, 0.5), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [Vector2(19, 24), Vector2(19, 25)] } tracks/3/type = "value" tracks/3/imported = false tracks/3/enabled = true tracks/3/path = NodePath("character/body/head:rotation") tracks/3/interp = 1 tracks/3/loop_wrap = true tracks/3/keys = { "times": PackedFloat32Array(0, 0.5), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [0.0, 0.0] } tracks/4/type = "value" tracks/4/imported = false tracks/4/enabled = true tracks/4/path = NodePath("character/body/torso:position") tracks/4/interp = 1 tracks/4/loop_wrap = true tracks/4/keys = { "times": PackedFloat32Array(0, 0.5), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [Vector2(16, 24), Vector2(17, 24)] } tracks/5/type = "value" tracks/5/imported = false tracks/5/enabled = true tracks/5/path = NodePath("character/body/torso:rotation") tracks/5/interp = 1 tracks/5/loop_wrap = true tracks/5/keys = { "times": PackedFloat32Array(0, 0.5), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [0.052949, 0.052949] } tracks/6/type = "value" tracks/6/imported = false tracks/6/enabled = true tracks/6/path = NodePath("character/body/tail:position") tracks/6/interp = 1 tracks/6/loop_wrap = true tracks/6/keys = { "times": PackedFloat32Array(0, 0.5), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [Vector2(15, 35), Vector2(15, 35)] } tracks/7/type = "value" tracks/7/imported = false tracks/7/enabled = true tracks/7/path = NodePath("character/body/tail:rotation") tracks/7/interp = 1 tracks/7/loop_wrap = true tracks/7/keys = { "times": PackedFloat32Array(0, 0.5), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [0.0, 0.176244] } [sub_resource type="AnimationLibrary" id="AnimationLibrary_8tlfi"] _data = { "RESET": SubResource("Animation_kxab8"), "idle": SubResource("Animation_qoxyi"), "vmove": SubResource("Animation_hwcro"), "walk": SubResource("Animation_hhtsg") } [sub_resource type="Theme" id="Theme_lpkn8"] RichTextLabel/colors/default_color = Color(0, 0, 0, 1) RichTextLabel/colors/font_outline_color = Color(0.478431, 0.478431, 0.478431, 1) RichTextLabel/constants/line_separation = -9 RichTextLabel/font_sizes/normal_font_size = 34 RichTextLabel/fonts/normal_font = ExtResource("6_m1vy8") [sub_resource type="RectangleShape2D" id="RectangleShape2D_171aa"] size = Vector2(24, 15) [node name="CharacterBody2D" type="CharacterBody2D"] script = ExtResource("1_37nf0") [node name="character" type="Node2D" parent="."] [node name="body" type="Node2D" parent="character"] position = Vector2(-17, 0) [node name="tail" type="Node2D" parent="character/body"] position = Vector2(15, 35) [node name="Sprite2D" type="Sprite2D" parent="character/body/tail"] texture_filter = 1 position = Vector2(-3, -18) texture = ExtResource("2_26rkd") centered = false [node name="torso" type="Node2D" parent="character/body"] position = Vector2(16, 24) [node name="Sprite2D3" type="Sprite2D" parent="character/body/torso"] texture_filter = 1 position = Vector2(-11, -2) texture = ExtResource("3_llt4k") centered = false [node name="head" type="Node2D" parent="character/body"] position = Vector2(16, 24) [node name="Sprite2D2" type="Sprite2D" parent="character/body/head"] texture_filter = 1 position = Vector2(-16, -24) texture = ExtResource("2_ylo5j") centered = false [node name="face" type="Node2D" parent="character/body"] position = Vector2(18, 17) [node name="Sprite2D" type="Sprite2D" parent="character/body/face"] texture_filter = 1 position = Vector2(-5, -4) texture = ExtResource("1_kh4l2") centered = false [node name="AnimationPlayer" type="AnimationPlayer" parent="."] libraries = { "": SubResource("AnimationLibrary_8tlfi") } autoplay = "idle" blend_times = [&"idle", &"walk", 0.3, &"idle", &"vmove", 0.3, &"walk", &"idle", 1.0, &"walk", &"vmove", 0.3, &"vmove", &"idle", 1.0, &"vmove", &"walk", 0.3] [node name="CanvasLayer" type="CanvasLayer" parent="."] visible = false script = ExtResource("6_bjl34") [node name="Sprite2D" type="Sprite2D" parent="CanvasLayer"] texture_filter = 1 position = Vector2(144, 6) texture = ExtResource("5_ljw5m") centered = false [node name="RichTextLabel" type="RichTextLabel" parent="CanvasLayer/Sprite2D"] modulate = Color(1, 1, 1, 0.407843) clip_contents = false offset_left = 18.0 offset_top = 9.0 offset_right = 295.0 offset_bottom = 99.0 theme = SubResource("Theme_lpkn8") scroll_active = false [node name="Control" type="Control" parent="CanvasLayer"] layout_mode = 3 anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 [node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="CanvasLayer"] stream = ExtResource("9_kn63i") [node name="Camera2D" type="Camera2D" parent="."] position = Vector2(-1, -1) [node name="CollisionShape2D" type="CollisionShape2D" parent="."] position = Vector2(-2, 28.5) shape = SubResource("RectangleShape2D_171aa")