revo-jailbreak/objects/npc/msx.tscn
2023-12-26 17:58:57 -05:00

620 lines
15 KiB
Text

[gd_scene load_steps=26 format=2]
[ext_resource path="res://shaders/1px_border.gdshader" type="Shader" id=1]
[ext_resource path="res://graphics/npc/msx_respawn.png" type="Texture" id=2]
[ext_resource path="res://graphics/npc/msx_walk.png" type="Texture" id=3]
[ext_resource path="res://graphics/npc/msx_blink.png" type="Texture" id=4]
[ext_resource path="res://ui/theme.tres" type="Theme" id=5]
[ext_resource path="res://ui/2ndpuberty_outline.tres" type="Material" id=6]
[ext_resource path="res://graphics/npc/msx_idle.png" type="Texture" id=11]
[ext_resource path="res://scripts/snap_sprite.gd" type="Script" id=12]
[ext_resource path="res://objects/npc/msx.gd" type="Script" id=13]
[ext_resource path="res://graphics/particles/blood.png" type="Texture" id=14]
[ext_resource path="res://graphics/npc/msx_give.png" type="Texture" id=15]
[sub_resource type="Animation" id=16]
length = 0.001
tracks/0/type = "value"
tracks/0/path = NodePath("Sprite:texture")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 0,
"values": [ ExtResource( 15 ) ]
}
tracks/1/type = "value"
tracks/1/path = NodePath("Sprite:hframes")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 0,
"values": [ 2 ]
}
tracks/2/type = "value"
tracks/2/path = NodePath("Sprite:frame")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 0,
"values": [ 0 ]
}
tracks/3/type = "value"
tracks/3/path = NodePath("HereTakeThis:visible")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ false ]
}
tracks/4/type = "value"
tracks/4/path = NodePath("ComeHere:visible")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ false ]
}
tracks/5/type = "value"
tracks/5/path = NodePath("HelpMe:visible")
tracks/5/interp = 1
tracks/5/loop_wrap = true
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ false ]
}
[sub_resource type="Animation" id=18]
resource_name = "blink"
length = 0.7
step = 0.06
tracks/0/type = "value"
tracks/0/path = NodePath("Sprite:texture")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ ExtResource( 4 ) ]
}
tracks/1/type = "value"
tracks/1/path = NodePath("Sprite:hframes")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ 4 ]
}
tracks/2/type = "value"
tracks/2/path = NodePath("Sprite:frame")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/keys = {
"times": PoolRealArray( 0, 0.12, 0.24, 0.54, 0.66 ),
"transitions": PoolRealArray( 1, 1, 1, 1, 1 ),
"update": 1,
"values": [ 0, 1, 2, 3, 0 ]
}
[sub_resource type="Animation" id=19]
resource_name = "come here"
length = 4.0
step = 0.06
tracks/0/type = "value"
tracks/0/path = NodePath("Sprite:texture")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ ExtResource( 11 ) ]
}
tracks/1/type = "value"
tracks/1/path = NodePath("Sprite:hframes")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ 1 ]
}
tracks/2/type = "value"
tracks/2/path = NodePath("Sprite:frame")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ 0 ]
}
tracks/3/type = "value"
tracks/3/path = NodePath("ComeHere:visible")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/keys = {
"times": PoolRealArray( 0.06, 2.52 ),
"transitions": PoolRealArray( 1, 1 ),
"update": 1,
"values": [ true, false ]
}
[sub_resource type="Animation" id=15]
resource_name = "give"
length = 4.0
step = 0.06
tracks/0/type = "value"
tracks/0/path = NodePath("Sprite:texture")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ ExtResource( 15 ) ]
}
tracks/1/type = "value"
tracks/1/path = NodePath("Sprite:hframes")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ 2 ]
}
tracks/2/type = "value"
tracks/2/path = NodePath("Sprite:frame")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/keys = {
"times": PoolRealArray( 0, 0.18, 0.48 ),
"transitions": PoolRealArray( 1, 1, 1 ),
"update": 1,
"values": [ 0, 1, 0 ]
}
tracks/3/type = "method"
tracks/3/path = NodePath(".")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/keys = {
"times": PoolRealArray( 0.18 ),
"transitions": PoolRealArray( 1 ),
"values": [ {
"args": [ ],
"method": "spawn_shard"
} ]
}
tracks/4/type = "value"
tracks/4/path = NodePath("HereTakeThis:visible")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/keys = {
"times": PoolRealArray( 0, 2.52 ),
"transitions": PoolRealArray( 1, 1 ),
"update": 1,
"values": [ true, false ]
}
[sub_resource type="Animation" id=20]
resource_name = "help me"
length = 3.0
loop = true
tracks/0/type = "value"
tracks/0/path = NodePath("Sprite:texture")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ ExtResource( 3 ) ]
}
tracks/1/type = "value"
tracks/1/path = NodePath("Sprite:hframes")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ 4 ]
}
tracks/2/type = "value"
tracks/2/path = NodePath("Sprite:frame")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/keys = {
"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 3, 3.1, 3.2, 3.3, 3.4, 3.5 ),
"transitions": PoolRealArray( 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": 1,
"values": [ 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3 ]
}
tracks/3/type = "value"
tracks/3/path = NodePath("ComeHere:visible")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/keys = {
"times": PoolRealArray( 0.1 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ false ]
}
tracks/4/type = "value"
tracks/4/path = NodePath("HelpMe:visible")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/keys = {
"times": PoolRealArray( 0.1, 2.9 ),
"transitions": PoolRealArray( 1, 1 ),
"update": 1,
"values": [ true, false ]
}
[sub_resource type="Animation" id=4]
resource_name = "idle"
length = 0.001
step = 0.06
tracks/0/type = "value"
tracks/0/path = NodePath("Sprite:texture")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ ExtResource( 11 ) ]
}
tracks/1/type = "value"
tracks/1/path = NodePath("Sprite:hframes")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ 1 ]
}
tracks/2/type = "value"
tracks/2/path = NodePath("Sprite:frame")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ 0 ]
}
tracks/3/type = "value"
tracks/3/path = NodePath("ComeHere:visible")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/keys = {
"times": PoolRealArray( 0.06 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ false ]
}
[sub_resource type="Animation" id=17]
resource_name = "respawn"
length = 0.4
step = 0.05
tracks/0/type = "value"
tracks/0/path = NodePath("Sprite:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35 ),
"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1 ),
"update": 1,
"values": [ 0, 1, 2, 3, 4, 5, 6, 7 ]
}
tracks/1/type = "value"
tracks/1/path = NodePath("Sprite:texture")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ ExtResource( 2 ) ]
}
tracks/2/type = "value"
tracks/2/path = NodePath("Sprite:hframes")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ 8 ]
}
[sub_resource type="Animation" id=9]
resource_name = "walk"
length = 0.4
loop = true
tracks/0/type = "value"
tracks/0/path = NodePath("Sprite:texture")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ ExtResource( 3 ) ]
}
tracks/1/type = "value"
tracks/1/path = NodePath("Sprite:hframes")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ 4 ]
}
tracks/2/type = "value"
tracks/2/path = NodePath("Sprite:frame")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/keys = {
"times": PoolRealArray( 0, 0.1, 0.2, 0.3 ),
"transitions": PoolRealArray( 1, 1, 1, 1 ),
"update": 1,
"values": [ 0, 1, 2, 3 ]
}
[sub_resource type="ShaderMaterial" id=10]
resource_local_to_scene = true
shader = ExtResource( 1 )
shader_param/border_color = Color( 0, 0, 0, 1 )
shader_param/border_corners = true
[sub_resource type="RectangleShape2D" id=11]
extents = Vector2( 2.5, 5 )
[sub_resource type="CapsuleShape2D" id=14]
radius = 2.5
height = 5.0
[sub_resource type="Curve" id=13]
_data = [ Vector2( 0, 1 ), 0.0, -0.113537, 0, 0, Vector2( 1, 0 ), -3.35032, 0.0, 0, 0 ]
[sub_resource type="Animation" id=21]
length = 0.001
tracks/0/type = "value"
tracks/0/path = NodePath("HelpMe:visible")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ false ]
}
[sub_resource type="Animation" id=22]
resource_name = "help me"
length = 3.0
tracks/0/type = "value"
tracks/0/path = NodePath("HelpMe:visible")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0, 2.9 ),
"transitions": PoolRealArray( 1, 1 ),
"update": 1,
"values": [ true, false ]
}
[node name="MsX" type="KinematicBody2D"]
script = ExtResource( 13 )
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
autoplay = "idle"
anims/RESET = SubResource( 16 )
anims/blink = SubResource( 18 )
"anims/come here" = SubResource( 19 )
anims/give = SubResource( 15 )
"anims/help me" = SubResource( 20 )
anims/idle = SubResource( 4 )
anims/respawn = SubResource( 17 )
anims/walk = SubResource( 9 )
[node name="Sprite" type="Sprite" parent="."]
material = SubResource( 10 )
scale = Vector2( -1, 1 )
texture = ExtResource( 15 )
hframes = 2
region_rect = Rect2( 0, 0, 20, 20 )
script = ExtResource( 12 )
[node name="Hitbox" type="Area2D" parent="." groups=["enemy_hitbox", "msx", "player_hitbox"]]
position = Vector2( 0, 3 )
collision_layer = 11
collision_mask = 33
[node name="CollisionShape2D2" type="CollisionShape2D" parent="Hitbox"]
position = Vector2( 0.5, 2 )
shape = SubResource( 11 )
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
position = Vector2( 0.5, 5 )
shape = SubResource( 14 )
[node name="DeathSplatter" type="CPUParticles2D" parent="."]
pause_mode = 2
emitting = false
amount = 16
lifetime = 0.3
one_shot = true
explosiveness = 0.9
local_coords = false
texture = ExtResource( 14 )
emission_shape = 2
emission_rect_extents = Vector2( 4, 4 )
direction = Vector2( 0, -1 )
spread = 180.0
gravity = Vector2( 0, 50 )
initial_velocity = 60.0
initial_velocity_random = 0.9
damping = 2.0
angle = 720.0
angle_random = 1.0
scale_amount = 0.5
scale_amount_random = 1.0
scale_amount_curve = SubResource( 13 )
[node name="RayCast2D" type="RayCast2D" parent="."]
position = Vector2( 0, 1 )
enabled = true
cast_to = Vector2( -32, 0 )
collision_mask = 3
collide_with_areas = true
[node name="RespawnRaycast" type="RayCast2D" parent="."]
position = Vector2( -16, 0 )
enabled = true
cast_to = Vector2( -56, 0 )
collision_mask = 8
collide_with_areas = true
[node name="Position2D" type="Position2D" parent="."]
position = Vector2( -17, 2 )
__meta__ = {
"_gizmo_extents_": 0.0
}
[node name="BlinkTimer" type="Timer" parent="."]
[node name="HereTakeThis" type="Label" parent="."]
visible = false
material = ExtResource( 6 )
margin_left = -48.0
margin_top = -22.0
margin_right = 57.0
margin_bottom = 1.0
theme = ExtResource( 5 )
text = "Here, take this"
align = 1
[node name="ComeHere" type="Label" parent="."]
visible = false
material = ExtResource( 6 )
margin_left = -47.0
margin_top = -22.0
margin_right = 58.0
margin_bottom = -8.0
theme = ExtResource( 5 )
text = "Hey, come here!"
[node name="HelpMe" type="Label" parent="."]
visible = false
material = ExtResource( 6 )
margin_left = -41.0
margin_top = -33.0
margin_right = 43.0
margin_bottom = -10.0
theme = ExtResource( 5 )
text = "Help me get
outta here!"
align = 1
[node name="TextAnim" type="AnimationPlayer" parent="."]
anims/RESET = SubResource( 21 )
"anims/help me" = SubResource( 22 )
[node name="CopDetector" type="RayCast2D" parent="."]
enabled = true
cast_to = Vector2( -135, 0 )
collision_mask = 3
[connection signal="timeout" from="BlinkTimer" to="." method="_on_BlinkTimer_timeout"]