frame-of-mind/src/base-environments/youth_room/scnees/jui_jutsu.tscn

851 lines
32 KiB
Plaintext
Raw Normal View History

2025-05-09 15:18:57 +00:00
[gd_scene load_steps=32 format=3 uid="uid://23bshas7sk6h"]
[ext_resource type="Script" uid="uid://cb1d5cwtgllvq" path="res://base-environments/youth_room/scnees/scene_player.gd" id="1_aby4n"]
[ext_resource type="Texture2D" uid="uid://d0ucjqi8tx6vt" path="res://import/interface-elements/frame.png" id="2_k4i8e"]
[ext_resource type="Texture2D" uid="uid://bwicl5q0lw06q" path="res://import/interface-elements/bottom.png" id="4_s5qj7"]
[ext_resource type="PackedScene" uid="uid://dvwuhobhka78d" path="res://logic-scenes/misc/skip_control.tscn" id="5_0qiyf"]
[ext_resource type="Texture2D" uid="uid://sv0nhkkur1tt" path="res://logic-scenes/board/card-textures/cardsheet.png" id="5_s5qj7"]
[ext_resource type="Texture2D" uid="uid://kpmk21d8rlso" path="res://logic-scenes/board/particle_textures/star.png" id="6_0qiyf"]
[ext_resource type="AudioStream" uid="uid://b3cw0e41rjggo" path="res://base-environments/youth_room/audio/childhood_de.wav" id="6_uqngm"]
[ext_resource type="AudioStream" uid="uid://bwh60165c3saj" path="res://base-environments/youth_room/audio/lisa_youth_voice.ogg" id="7_bvh45"]
[ext_resource type="Texture2D" uid="uid://bqilajx05t0eb" path="res://logic-scenes/board/particle_textures/void_nomotion.png" id="7_uqngm"]
2025-05-09 15:18:57 +00:00
[ext_resource type="AudioStream" uid="uid://dpyf2oc5vn30e" path="res://base-environments/youth_room/audio/jiu-jutsu.wav" id="9_uqngm"]
[ext_resource type="AudioStream" uid="uid://1tvopjmo6dp2" path="res://base-environments/youth_room/audio/Azure Studios - mgd-723687677.mp3" id="10_bvh45"]
2025-05-09 15:18:57 +00:00
[ext_resource type="Script" uid="uid://c1oub0cs7cph6" path="res://dev-util/stereo-switch.gd" id="11_0qiyf"]
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_vxads"]
radius = 110.0
height = 336.0
[sub_resource type="AtlasTexture" id="AtlasTexture_ykk13"]
atlas = ExtResource("5_s5qj7")
region = Rect2(0, 0, 600, 440)
[sub_resource type="AtlasTexture" id="AtlasTexture_l43eo"]
atlas = ExtResource("5_s5qj7")
region = Rect2(600, 0, 600, 440)
[sub_resource type="AtlasTexture" id="AtlasTexture_x2vcn"]
atlas = ExtResource("5_s5qj7")
region = Rect2(0, 440, 600, 440)
[sub_resource type="AtlasTexture" id="AtlasTexture_e7401"]
atlas = ExtResource("5_s5qj7")
region = Rect2(600, 440, 600, 440)
[sub_resource type="AtlasTexture" id="AtlasTexture_j7wh6"]
atlas = ExtResource("5_s5qj7")
region = Rect2(0, 880, 600, 440)
[sub_resource type="SpriteFrames" id="SpriteFrames_liwtr"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_ykk13")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_l43eo")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_x2vcn")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_e7401")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_j7wh6")
}],
"loop": true,
"name": &"default",
"speed": 5.0
}]
[sub_resource type="GDScript" id="GDScript_80sa6"]
script/source = "extends AnimatedSprite2D
@onready var particles = $GPUParticles2D
@onready var initial_position = position
@export var noise_speed: float = 10
@export var noise_power: float = 1
var noise_position = randf()
var noise: Noise = FastNoiseLite.new()
@export var void_active: bool = true
func _ready():
reduce_motion_changed(State.reduce_motion)
func _process(delta):
if void_active and not State.reduce_motion:
noise_position += delta * noise_speed
var random_position = Vector2(noise.get_noise_1d(noise_position*2), noise.get_noise_1d(-noise_position))
random_position = random_position.normalized() * pow(random_position.length()*2, noise_power) * 10
position = initial_position - random_position
rotation = noise.get_noise_1d(noise_position*7) * random_position.length() * 0.01
particles.position = random_position
else: position = initial_position
func reduce_motion_changed(value:bool):
$GPUParticles2D.visible = !value
$Sprite2D.visible = value
"
[sub_resource type="Gradient" id="Gradient_nyks3"]
interpolation_mode = 2
offsets = PackedFloat32Array(0, 0.0529197, 0.191606, 1)
colors = PackedColorArray(1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0.491329, 1, 1, 1, 0)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_xxq8p"]
gradient = SubResource("Gradient_nyks3")
[sub_resource type="Curve" id="Curve_cakyx"]
_data = [Vector2(0, 0), 0.0, 3.16529, 0, 0, Vector2(0.241056, 0.191336), 0.132446, 0.132446, 0, 0, Vector2(1, 1), 3.94797, 0.0, 0, 0]
point_count = 3
[sub_resource type="CurveTexture" id="CurveTexture_cg0w1"]
curve = SubResource("Curve_cakyx")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_jikd6"]
particle_flag_disable_z = true
emission_shape = 6
emission_ring_axis = Vector3(0, 0, 1)
emission_ring_height = 0.0
emission_ring_radius = 180.0
emission_ring_inner_radius = 185.0
emission_ring_cone_angle = 90.0
spread = 180.0
initial_velocity_min = -10.0
initial_velocity_max = 10.0
angular_velocity_min = -150.0
angular_velocity_max = -150.0
gravity = Vector3(0, 0, 0)
radial_accel_min = -20.0
radial_accel_max = -5.0
tangential_accel_min = 20.0
tangential_accel_max = 30.0
attractor_interaction_enabled = false
scale_min = 3.0
scale_max = 5.0
scale_curve = SubResource("CurveTexture_cg0w1")
color_ramp = SubResource("GradientTexture1D_xxq8p")
turbulence_noise_strength = 0.1
[sub_resource type="Animation" id="Animation_ytihj"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("../../..:progress")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [17.0]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("..:custom_minimum_size")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(900, 900)]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath(".:rotation")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.349066]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("../..:modulate")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Color(1, 1, 1, 1)]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("../../..:visible")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
tracks/5/type = "value"
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/path = NodePath("../../..:modulate")
tracks/5/interp = 1
tracks/5/loop_wrap = true
tracks/5/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Color(1, 1, 1, 1)]
}
[sub_resource type="Animation" id="Animation_bgeog"]
resource_name = "de"
length = 94.0
tracks/0/type = "audio"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("../../../AnimationPlayer/Text")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"clips": [{
"end_offset": 0.0,
"start_offset": 0.0,
"stream": ExtResource("6_uqngm")
}],
"times": PackedFloat32Array(1.3)
}
tracks/0/use_blend = true
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("../../..:progress")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 1.66667, 6.13333, 7.43333, 13.5, 14.5667, 19.1333, 19.5333, 22.7333, 25.6333, 27.3333, 28.8, 32.7333, 34.8667, 36.6275, 37.7667, 46.2333, 47.5667, 49.4667, 50.8333, 54.6667, 56.3, 60.4667, 61.8333, 68.2028, 69.5667, 72.4, 74.5, 78.493, 80.2, 84.033, 85.3, 88.0997, 89.6667),
"transitions": PackedFloat32Array(1, 0.482968, 1, 0.482968, 1, 0.482968, 1, 0.482968, 1, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968),
"update": 0,
"values": [0.0, 0.0, 1.0, 1.0, 2.0, 2.0, 3.0, 3.0, 4.0, 4.0, 5.0, 5.0, 6.0, 6.0, 7.0, 7.0, 9.0, 9.0, 10.0, 10.0, 11.0, 11.0, 12.0, 12.0, 13.0, 13.0, 14.0, 14.0, 15.0, 15.0, 16.0, 16.0, 17.0, 17.0]
}
tracks/2/type = "method"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("../../..")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(13.3333, 24.7667, 49.7, 68.8667, 85.5, 91.3333),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1),
"values": [{
"args": [],
"method": &"try_scroll"
}, {
"args": [],
"method": &"try_scroll"
}, {
"args": [],
"method": &"try_scroll"
}, {
"args": [],
"method": &"try_scroll"
}, {
"args": [],
"method": &"try_scroll"
}, {
"args": [],
"method": &"_on_text_finished"
}]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("..:custom_minimum_size")
tracks/3/interp = 2
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0, 0.7),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Vector2(900, 800), Vector2(900, 900)]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath(".:rotation")
tracks/4/interp = 2
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0, 1.8),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [0.174533, 0.349066]
}
tracks/5/type = "value"
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/path = NodePath("../..:modulate")
tracks/5/interp = 1
tracks/5/loop_wrap = true
tracks/5/keys = {
"times": PackedFloat32Array(0, 0.733333),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)]
}
tracks/6/type = "value"
tracks/6/imported = false
tracks/6/enabled = true
tracks/6/path = NodePath("../../..:visible")
tracks/6/interp = 1
tracks/6/loop_wrap = true
tracks/6/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
tracks/7/type = "value"
tracks/7/imported = false
tracks/7/enabled = true
tracks/7/path = NodePath("../../..:modulate")
tracks/7/interp = 1
tracks/7/loop_wrap = true
tracks/7/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Color(1, 1, 1, 1)]
}
[sub_resource type="Animation" id="Animation_nmo1t"]
resource_name = "en"
2025-05-09 15:18:57 +00:00
length = 235.0
tracks/0/type = "audio"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("%AnimationPlayer/Text")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"clips": [{
"end_offset": 0.0,
2025-05-09 15:18:57 +00:00
"start_offset": 4.62339,
"stream": ExtResource("9_uqngm")
}],
2025-05-09 15:18:57 +00:00
"times": PackedFloat32Array(1.96667)
}
tracks/0/use_blend = true
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("../../..:modulate")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 0.4),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("../../..:visible")
tracks/2/interp = 0
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
tracks/3/type = "audio"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("%AnimationPlayer/Music")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"clips": [{
"end_offset": 0.0,
"start_offset": 0.0,
"stream": ExtResource("10_bvh45")
}],
"times": PackedFloat32Array(3)
}
tracks/3/use_blend = true
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("../../card/BackgroundSprite/GPUParticles2D:emitting")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0, 5.8, 11.3, 18.2, 26.1, 34.4, 43.7, 53.2, 65.1, 75.7, 93),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
"update": 1,
"values": [false, true, true, true, true, true, true, true, true, true, true]
}
tracks/5/type = "value"
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/path = NodePath("../../card/BackgroundSprite/GPUParticles2D:amount")
tracks/5/interp = 1
tracks/5/loop_wrap = true
tracks/5/keys = {
"times": PackedFloat32Array(4, 11.1, 18, 25.9, 34.2, 43.5, 53, 65, 75.6, 92.1),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
"update": 1,
"values": [1, 10, 20, 40, 80, 180, 160, 320, 400, 500]
}
tracks/6/type = "value"
tracks/6/imported = false
tracks/6/enabled = true
tracks/6/path = NodePath("../../card/BackgroundSprite:noise_speed")
tracks/6/interp = 1
tracks/6/loop_wrap = true
tracks/6/keys = {
"times": PackedFloat32Array(2, 129.7, 149.1, 167.15),
"transitions": PackedFloat32Array(0.482968, 1.86607, 1, 1),
"update": 0,
"values": [0.0, 10.0, 5.0, 10.0]
}
tracks/7/type = "value"
tracks/7/imported = false
tracks/7/enabled = true
tracks/7/path = NodePath("../../card/BackgroundSprite/GPUParticles2D:one_shot")
tracks/7/interp = 1
tracks/7/loop_wrap = true
tracks/7/keys = {
"times": PackedFloat32Array(0, 93),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [true, false]
}
tracks/8/type = "value"
tracks/8/imported = false
tracks/8/enabled = true
tracks/8/path = NodePath("../../card/BackgroundSprite/GPUParticles2D:lifetime")
tracks/8/interp = 1
tracks/8/loop_wrap = true
tracks/8/keys = {
"times": PackedFloat32Array(93, 129.9, 136.6, 164.8),
"transitions": PackedFloat32Array(1, 0.31864, 2.21914, 1),
"update": 0,
"values": [5.0, 1.5, 4.0, 2.0]
}
tracks/9/type = "value"
tracks/9/imported = false
tracks/9/enabled = true
tracks/9/path = NodePath("../../card/BackgroundSprite/GPUParticles2D:explosiveness")
tracks/9/interp = 1
tracks/9/loop_wrap = true
tracks/9/keys = {
"times": PackedFloat32Array(96.3, 129.9, 136.6, 159.5, 176.7),
"transitions": PackedFloat32Array(1, 0.31864, 1, 0.406126, 1),
"update": 0,
"values": [0.29, 0.69, 0.74, 0.9, 0.2]
}
tracks/10/type = "value"
tracks/10/imported = false
tracks/10/enabled = true
tracks/10/path = NodePath("../../card/BackgroundSprite/GPUParticles2D:speed_scale")
tracks/10/interp = 1
tracks/10/loop_wrap = true
tracks/10/keys = {
"times": PackedFloat32Array(105.6, 129.8, 150.5, 164.7),
"transitions": PackedFloat32Array(1, 0.466516, 1, 1),
"update": 0,
"values": [1.0, 1.9, 0.4, 1.0]
}
tracks/11/type = "value"
tracks/11/imported = false
tracks/11/enabled = true
tracks/11/path = NodePath("../../card/BackgroundSprite:noise_power")
tracks/11/interp = 1
tracks/11/loop_wrap = true
tracks/11/keys = {
"times": PackedFloat32Array(8.4, 93.4, 129.7, 159.4, 169.4),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1),
"update": 0,
"values": [5.0, 2.0, 0.3, 0.3, 1.5]
}
tracks/12/type = "method"
tracks/12/imported = false
tracks/12/enabled = true
tracks/12/path = NodePath("../../..")
tracks/12/interp = 1
tracks/12/loop_wrap = true
tracks/12/keys = {
2025-05-10 13:59:52 +00:00
"times": PackedFloat32Array(43.5333, 92.4031, 133.733, 155.167, 179.133, 181.935, 209.834, 233.467),
2025-05-09 15:18:57 +00:00
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1),
"values": [{
"args": [],
"method": &"try_scroll"
}, {
"args": [],
"method": &"try_scroll"
}, {
"args": [],
"method": &"try_scroll"
}, {
"args": [],
"method": &"try_scroll"
}, {
"args": [],
2025-05-09 15:18:57 +00:00
"method": &"_emit_thunder"
}, {
"args": [],
"method": &"try_scroll"
}, {
"args": [],
"method": &"try_scroll"
}, {
"args": [],
"method": &"_on_text_finished"
}]
}
tracks/13/type = "value"
tracks/13/imported = false
tracks/13/enabled = true
tracks/13/path = NodePath("../../..:progress")
tracks/13/interp = 1
tracks/13/loop_wrap = true
tracks/13/keys = {
2025-05-09 15:18:57 +00:00
"times": PackedFloat32Array(0.733333, 6.53333, 12.5667, 18.293, 20.0333, 28.2677, 32.2667, 42.7333, 47.2333, 54.541, 56.1949, 60.5552, 62.1466, 64.6899, 66.6, 72.8467, 74.3667, 80.1013, 82.0206, 90.1333, 92.2, 96.6667, 98.4294, 105.243, 107.1, 113.01, 114.067, 119.745, 121.4, 125.1, 127.2, 132.467, 134.767, 138.149, 139.4, 140.821, 141.333, 145.355, 146.859, 154.259, 156.6, 162.233, 164.867, 171.3, 173.133, 177.797, 181.8, 186.267, 188.686, 191, 192.263, 194.637, 195.9, 199.014, 200.132, 203.15, 204.268, 208.833, 211.867, 218.067, 221.647, 224.367, 225.347, 228.012, 228.992, 233.473),
"transitions": PackedFloat32Array(0.450625, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
"update": 0,
2025-05-09 15:18:57 +00:00
"values": [0.0, 1.0, 1.0, 2.0, 2.0, 3.0, 3.0, 4.0, 4.0, 5.0, 5.0, 6.0, 6.0, 7.0, 7.0, 8.0, 8.0, 9.0, 9.0, 10.0, 10.0, 11.0, 11.0, 12.0, 12.0, 13.0, 13.0, 14.0, 14.0, 15.0, 15.0, 16.0, 16.0, 17.0, 17.0, 18.0, 18.0, 19.0, 19.0, 20.0, 20.0, 21.0, 21.0, 22.0, 22.0, 23.0, 23.0, 24.0, 24.0, 25.0, 25.0, 26.0, 26.0, 27.0, 27.0, 28.0, 28.0, 29.0, 29.0, 30.0, 30.0, 31.0, 31.0, 32.0, 32.0, 33.0]
}
tracks/14/type = "value"
tracks/14/imported = false
tracks/14/enabled = true
tracks/14/path = NodePath(".:rotation")
tracks/14/interp = 1
tracks/14/loop_wrap = true
tracks/14/keys = {
"times": PackedFloat32Array(0.214991, 1.03196),
"transitions": PackedFloat32Array(0.297302, 1),
"update": 0,
"values": [0.15708, 0.349066]
}
[sub_resource type="Animation" id="Animation_7qabw"]
resource_name = "en_old"
length = 89.0
tracks/0/type = "audio"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("../../../AnimationPlayer/Text")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"clips": [{
"end_offset": 200.63,
"start_offset": 96.4197,
"stream": ExtResource("7_bvh45")
}],
"times": PackedFloat32Array(1.4)
}
tracks/0/use_blend = true
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("../../..:progress")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 1.66667, 6.26666, 7.56667, 17.4, 18.4667, 21.8667, 22.8, 28.6, 29.9333, 32.3, 32.8, 36.2667, 38.2333, 40.1608, 40.6, 50.9667, 51.6333, 55.0333, 56.4, 58.8333, 59.7, 61.5667, 62.9333, 67.4028, 68.7667, 71.8333, 72.8333, 75.293, 77, 80.7663, 82.0333, 88),
"transitions": PackedFloat32Array(1, 0.482968, 1, 0.482968, 1, 0.482968, 1, 0.482968, 1, 1.23114, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.287175, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968, 0.482968),
"update": 0,
"values": [0.0, 0.0, 1.0, 1.0, 2.0, 2.0, 3.0, 3.0, 4.0, 4.0, 5.0, 5.0, 6.0, 6.0, 7.0, 7.0, 9.0, 9.0, 10.0, 10.0, 11.0, 11.0, 12.0, 12.0, 13.0, 13.0, 14.0, 14.0, 15.0, 15.0, 16.0, 16.0, 17.0]
}
tracks/2/type = "method"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("../../..")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(17.6, 37.5667, 55.2667, 68.0667, 75.9667, 87.7),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1),
"values": [{
"args": [],
"method": &"try_scroll"
}, {
"args": [],
"method": &"try_scroll"
}, {
"args": [],
"method": &"try_scroll"
}, {
"args": [],
"method": &"try_scroll"
}, {
"args": [],
"method": &"try_scroll"
}, {
"args": [],
"method": &"_on_text_finished"
}]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("..:custom_minimum_size")
tracks/3/interp = 2
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0, 0.7),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Vector2(900, 800), Vector2(900, 900)]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath(".:rotation")
tracks/4/interp = 2
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0, 1.8),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [0.174533, 0.349066]
}
tracks/5/type = "value"
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/path = NodePath("../..:modulate")
tracks/5/interp = 1
tracks/5/loop_wrap = true
tracks/5/keys = {
"times": PackedFloat32Array(0, 0.733333),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)]
}
tracks/6/type = "value"
tracks/6/imported = false
tracks/6/enabled = true
tracks/6/path = NodePath("../../..:visible")
tracks/6/interp = 0
tracks/6/loop_wrap = true
tracks/6/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [true]
}
tracks/7/type = "value"
tracks/7/imported = false
tracks/7/enabled = true
tracks/7/path = NodePath("../../..:modulate")
tracks/7/interp = 1
tracks/7/loop_wrap = true
tracks/7/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Color(1, 1, 1, 1)]
}
[sub_resource type="Animation" id="Animation_x0d5q"]
resource_name = "vanish"
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("../../..:visible")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 1),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [true, false]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("../../..:modulate")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 1),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath(".:rotation")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 1),
"transitions": PackedFloat32Array(2.73208, 1),
"update": 0,
"values": [0.349066, 0.698132]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_dc6th"]
_data = {
&"RESET": SubResource("Animation_ytihj"),
&"de": SubResource("Animation_bgeog"),
&"en": SubResource("Animation_nmo1t"),
&"en_old": SubResource("Animation_7qabw"),
&"vanish": SubResource("Animation_x0d5q")
}
[node name="JuiJutsu" type="CenterContainer"]
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
offset_right = -424.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_aby4n")
2025-05-10 13:23:58 +00:00
story_array = PackedStringArray("Why do i still have this junk lying around? its not like I want to do ju jutsu ever again. I just fucked it.", "I mean I did enjoy it while it lasted. Being able to properly hit people was great.", "It gave me the confidence to intimidate students, that were begging to get folded and - as I only once actually got to do that - it also was a great vent for anger. ", "I mean my tits just about killed me during warmup and the changing room really didn\'t need mirrors - thank you I know my hips are fat and disgusting - but at least there was Lukas.", "He was such a huge nerd. He studied math in his third semester and could talk for hours about his passion.", "I mean I did enjoy it while it lasted. Being able to properly hit people was great.", "He also helped me so much with jiu jitsu, as he properly floored me when I slipped up. ", "He also helped me so much with jiu jitsu, as he properly floored me when I slipped up. ", "So Fighting for wins with him was actually rewarding even tho more often than not I ended up having to tap out.", "We also had my first proper kiss. I thought I loved him. But now?", "He was weird that evening. Even more huggy and hyperactive than usual.", "We were under my bed, reading my secret comic stash when I got tired of the floor and told him we should go upstairs.", "We had a play fight on my mattress. I\'ve never seen him fight like this.", "His fingers Curled across my Skin without grabbing me, like he would normally do. And he let me win", "… with this smirk on his face.", "I rolled over exhausted when suddenly he sat on top of me, a pearl of sweat dropped from his nose on my throat.", "He started undoing his shirt.", "Do you have condoms?", "Yes, of course everybody has Why did he ask that?", "I saw my body lying on the bed, getting undressed. I was drifting away, towards the stars.", "My body didn\'t move. It didn\'t say a word when the butterflies tried to escape from its stomach as he kissed it.", "I … observed him from afar. He … didn\'t seem to notice, that I had left.", "That I didn\'t return to kiss him goodbye. That I didn\'t hug him when he went home.", "My hands knocked on my brothers door. He let me lie on his carpet.", "I slowly returned.", "\"How did it go?, Fabian asked.", "\"It was moist”, I said.", "“That usually helps.”", "He laughed awkwardly. I just wanted to also laugh, but curled into a ball and cried.", "It took him a while to say something. “I … you … it\'s fine Lisa. I know it hurts the first time.”", "He gently stroked the back I was curling towards him.", "That was good. He was a sweet angel. Why must he be so bad at comforting?")
paragraph_lengths = PackedInt32Array(3, 6, 8, 9, 10, 12, 15, 16, 17, 18, 20, 22, 24, 25, 26, 27, 28, 29, 31, 32, 33, 32, 31)
progress = 17.0
[node name="PanelContainer" type="PanelContainer" parent="."]
layout_mode = 2
mouse_filter = 1
[node name="StartFrame" type="TextureRect" parent="PanelContainer"]
custom_minimum_size = Vector2(900, 900)
layout_mode = 2
size_flags_vertical = 0
texture = ExtResource("2_k4i8e")
expand_mode = 2
stretch_mode = 4
[node name="Panel" type="PanelContainer" parent="PanelContainer/StartFrame"]
show_behind_parent = true
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 = -450.0
offset_right = 450.0
offset_bottom = 450.0
grow_horizontal = 2
grow_vertical = 2
rotation = 0.349066
pivot_offset = Vector2(450, 450)
mouse_filter = 1
[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer"]
layout_mode = 2
[node name="Label" type="Label" parent="PanelContainer/VBoxContainer"]
layout_mode = 2
theme_type_variation = &"HeaderLarge"
2025-05-10 13:23:58 +00:00
text = "Jui Jutsu"
[node name="StoryScroll" type="ScrollContainer" parent="PanelContainer/VBoxContainer"]
unique_name_in_owner = true
custom_minimum_size = Vector2(0, 700)
layout_mode = 2
size_flags_horizontal = 4
size_flags_vertical = 2
mouse_filter = 2
2025-05-09 15:18:57 +00:00
scroll_vertical = 100
horizontal_scroll_mode = 0
vertical_scroll_mode = 3
[node name="StoryLabel" type="RichTextLabel" parent="PanelContainer/VBoxContainer/StoryScroll"]
unique_name_in_owner = true
custom_minimum_size = Vector2(800, 10)
layout_mode = 2
size_flags_horizontal = 3
bbcode_enabled = true
2025-05-10 13:23:58 +00:00
text = "[p]Why do i still have this junk lying around? its not like I want to do ju jutsu ever again. I just fucked it. I mean I did enjoy it while it lasted. Being able to properly hit people was great. It gave me the confidence to intimidate students, that were begging to get folded and - as I only once actually got to do that - it also was a great vent for anger. I mean my tits just about killed me during warmup and the changing room really didn't need mirrors - thank you I know my hips are fat and disgusting - but at least there was Lukas. [/p][p][font_size=8] [/font_size][/p][p]He was such a huge nerd. He studied math in his third semester and could talk for hours about his passion. I mean I did enjoy it while it lasted. Being able to properly hit people was great. He also helped me so much with jiu jitsu, as he properly floored me when I slipped up. [/p][p][font_size=8] [/font_size][/p][p]He also helped me so much with jiu jitsu, as he properly floored me when I slipped up. So Fighting for wins with him was actually rewarding even tho more often than not I ended up having to tap out. [/p][p][font_size=8] [/font_size][/p][p]We also had my first proper kiss. I thought I loved him. But now? [/p][p][font_size=8] [/font_size][/p][p]He was weird that evening. Even more huggy and hyperactive than usual. [/p][p][font_size=8] [/font_size][/p][p]We were under my bed, reading my secret comic stash when I got tired of the floor and told him we should go upstairs. We had a play fight on my mattress. I've never seen him fight like this. [/p][p][font_size=8] [/font_size][/p][p]His fingers Curled across my Skin without grabbing me, like he would normally do. And he let me win … with this smirk on his face. I rolled over exhausted when suddenly he sat on top of me, a pearl of sweat dropped from his nose on my throat. [/p][p][font_size=8] [/font_size][/p][p]He started undoing his shirt. [/p][p][font_size=8] [/font_size][/p][p]Do you have condoms? [/p][p][font_size=8] [/font_size][/p][p]Yes, of course everybody has Why did he ask that? [/p][p][font_size=8] [/font_size][/p][p]I saw my body lying on the bed, getting undressed. I was drifting away, towards the stars. My body didn't move. It didn't say a word when the butterflies tried to escape from its stomach as he kissed it. [/p][p][font_size=8] [/font_size][/p][p]I … observed him from afar. He … didn't seem to notice, that I had left. That I didn't return to kiss him goodbye. That I didn't hug him when he went home. [/p][p][font_size=8] [/font_size][/p][p]My hands knocked on my brothers door. He let me lie on his carpet. I slowly returned. [/p][p][font_size=8] [/font_size][/p][p]\"How did it go?, Fabian asked. [/p][p][font_size=8] [/font_size][/p][p]\"It was moist”, I said. [/p][p][font_size=8] [/font_size][/p][p]“That usually helps.” [/p][p][font_size=8] [/font_size][/p][p]He laughed awkwardly. I just wanted to also laugh, but curled into a ball and cried. [/p][p][font_size=8] [/font_size][/p][p]It took him a while to say something. “I … you … it's fine Lisa. I know it hurts the first time.” [/p][p][font_size=8] [/font_size][/p][p]He gently stroked the back I was curling towards him. That was good. He was a sweet angel. Why must he be so bad at comforting? [/p][p][font_size=8] [/font_size][/p][p][/p]"
fit_content = true
2025-05-10 13:23:58 +00:00
visible_characters = 1625
visible_characters_behavior = 1
2025-05-10 13:23:58 +00:00
visible_ratio = 0.63926
[node name="StartBottom" type="TextureRect" parent="PanelContainer/VBoxContainer"]
custom_minimum_size = Vector2(0, 64)
layout_mode = 2
size_flags_vertical = 8
texture = ExtResource("4_s5qj7")
expand_mode = 2
stretch_mode = 4
[node name="SkipControl" parent="PanelContainer" instance=ExtResource("5_0qiyf")]
unique_name_in_owner = true
layout_mode = 2
[node name="card" type="Area2D" parent="PanelContainer"]
position = Vector2(1299, 459)
scale = Vector2(1.2, 1.2)
metadata/type = "card"
[node name="CollisionShape2D" type="CollisionShape2D" parent="PanelContainer/card"]
position = Vector2(-0.0713516, 0.997451)
rotation = 1.5708
shape = SubResource("CapsuleShape2D_vxads")
[node name="BackgroundSprite" type="AnimatedSprite2D" parent="PanelContainer/card" groups=["reduce_motion"]]
clip_children = 2
scale = Vector2(0.6, 0.6)
sprite_frames = SubResource("SpriteFrames_liwtr")
script = SubResource("GDScript_80sa6")
2025-05-10 13:59:52 +00:00
noise_speed = 9.21962
noise_power = 0.3
[node name="GPUParticles2D" type="GPUParticles2D" parent="PanelContainer/card/BackgroundSprite"]
2025-05-10 13:59:52 +00:00
amount = 500
texture = ExtResource("6_0qiyf")
2025-05-10 13:59:52 +00:00
lifetime = 3.99993
speed_scale = 1.01248
explosiveness = 0.741887
randomness = 0.14
local_coords = true
process_material = SubResource("ParticleProcessMaterial_jikd6")
[node name="Sprite2D" type="Sprite2D" parent="PanelContainer/card/BackgroundSprite"]
visible = false
scale = Vector2(0.4, 0.4)
texture = ExtResource("7_uqngm")
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
unique_name_in_owner = true
root_node = NodePath("../PanelContainer/StartFrame/Panel")
libraries = {
&"": SubResource("AnimationLibrary_dc6th")
}
[node name="Text" type="AudioStreamPlayer" parent="AnimationPlayer"]
mix_target = 2
bus = &"text"
2025-05-09 15:18:57 +00:00
script = ExtResource("11_0qiyf")
[node name="Music" type="AudioStreamPlayer" parent="AnimationPlayer"]
2025-05-09 15:18:57 +00:00
volume_db = -10.0
bus = &"music"
[connection signal="input_event" from="PanelContainer/card" to="PanelContainer/card" method="_on_input_event"]
[connection signal="mouse_entered" from="PanelContainer/card" to="PanelContainer/card" method="_on_mouse_entered"]
[connection signal="mouse_exited" from="PanelContainer/card" to="PanelContainer/card" method="_on_mouse_exited"]