forked from discomrade/EscapeFromCatalunya
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
312 lines
12 KiB
312 lines
12 KiB
2 years ago
|
[gd_scene load_steps=50 format=2]
|
||
|
|
||
|
[ext_resource path="res://enemies/bad_cat/bad_cat.gd" type="Script" id=1]
|
||
|
[ext_resource path="res://enemies/bad_cat/model/Colette_Head.material" type="Material" id=2]
|
||
|
[ext_resource path="res://enemies/common/audio/hit.wav" type="AudioStream" id=3]
|
||
|
[ext_resource path="res://player/audio/step_random_pitch.tres" type="AudioStream" id=4]
|
||
|
[ext_resource path="res://player/audio/jump.wav" type="AudioStream" id=5]
|
||
|
[ext_resource path="res://player/audio/land.wav" type="AudioStream" id=6]
|
||
|
[ext_resource path="res://player/audio/shoot.wav" type="AudioStream" id=7]
|
||
|
[ext_resource path="res://enemies/common/audio/explosion.wav" type="AudioStream" id=8]
|
||
|
[ext_resource path="res://player/bullet/bullet_material.tres" type="Material" id=9]
|
||
|
[ext_resource path="res://enemies/bad_cat/model/muzzle_flash_particle_mesh_Cone.mesh" type="ArrayMesh" id=10]
|
||
|
[ext_resource path="res://effects_shared/bullet/effect/FlarePolar.png" type="Texture" id=11]
|
||
|
[ext_resource path="res://enemies/bad_cat/textures/animu_alunya_shadermat.tres" type="Material" id=12]
|
||
|
[ext_resource path="res://player/model/Alunya.glb" type="PackedScene" id=13]
|
||
|
[ext_resource path="res://enemies/bad_cat/model/Colette_Hair.material" type="Material" id=14]
|
||
|
[ext_resource path="res://enemies/bad_cat/model/Bandana.material" type="Material" id=15]
|
||
|
[ext_resource path="res://enemies/common/Hitbox.gd" type="Script" id=16]
|
||
|
[ext_resource path="res://player/model/materials/ear.tres" type="Material" id=17]
|
||
|
[ext_resource path="res://enemies/bad_cat/model/Colette_Body.material" type="Material" id=18]
|
||
|
|
||
|
[sub_resource type="ParticlesMaterial" id=1]
|
||
|
flag_align_y = true
|
||
|
direction = Vector3( 0, 0, -1 )
|
||
|
spread = 15.0
|
||
|
gravity = Vector3( 0, -3, 0 )
|
||
|
initial_velocity = 3.0
|
||
|
|
||
|
[sub_resource type="SphereMesh" id=2]
|
||
|
radius = 0.003
|
||
|
height = 0.02
|
||
|
|
||
|
[sub_resource type="SpatialMaterial" id=3]
|
||
|
flags_transparent = true
|
||
|
flags_unshaded = true
|
||
|
vertex_color_use_as_albedo = true
|
||
|
params_cull_mode = 2
|
||
|
albedo_texture = ExtResource( 11 )
|
||
|
|
||
|
[sub_resource type="Gradient" id=4]
|
||
|
offsets = PoolRealArray( 0.325926, 1 )
|
||
|
colors = PoolColorArray( 0.0507812, 0.955505, 1, 1, 0.875, 0.888672, 1, 0.305882 )
|
||
|
|
||
|
[sub_resource type="GradientTexture" id=42]
|
||
|
gradient = SubResource( 4 )
|
||
|
width = 32
|
||
|
|
||
|
[sub_resource type="Curve" id=6]
|
||
|
_data = [ Vector2( 0, 0 ), 0.0, 0.0, 0, 0, Vector2( 0.791139, 0.990909 ), 0.0, 0.0, 0, 0, Vector2( 1, 0 ), 0.0, 0.0, 0, 0 ]
|
||
|
|
||
|
[sub_resource type="CurveTexture" id=43]
|
||
|
width = 64
|
||
|
curve = SubResource( 6 )
|
||
|
|
||
|
[sub_resource type="ParticlesMaterial" id=8]
|
||
|
gravity = Vector3( 0, 0, 0 )
|
||
|
angle = -4.0
|
||
|
angle_random = 1.0
|
||
|
scale = 0.3
|
||
|
scale_curve = SubResource( 43 )
|
||
|
color_ramp = SubResource( 42 )
|
||
|
|
||
|
[sub_resource type="CapsuleShape" id=41]
|
||
|
radius = 0.253575
|
||
|
height = 0.808991
|
||
|
|
||
|
[sub_resource type="AnimationNodeBlend2" id=69]
|
||
|
filter_enabled = true
|
||
|
filters = [ "Colette_Armature/Skeleton:ElbowF.R", "Colette_Armature/Skeleton:ElbowM.R", "Colette_Armature/Skeleton:ElbowU.R", "Colette_Armature/Skeleton:F_Index_1.R", "Colette_Armature/Skeleton:F_Index_2.R", "Colette_Armature/Skeleton:F_Index_3.R", "Colette_Armature/Skeleton:F_Index_4.R", "Colette_Armature/Skeleton:F_Middle_1.R", "Colette_Armature/Skeleton:F_Middle_2.R", "Colette_Armature/Skeleton:F_Middle_3.R", "Colette_Armature/Skeleton:F_Middle_4.R", "Colette_Armature/Skeleton:F_Pinky_1.R", "Colette_Armature/Skeleton:F_Pinky_2.R", "Colette_Armature/Skeleton:F_Pinky_3.R", "Colette_Armature/Skeleton:F_Pinky_4.R", "Colette_Armature/Skeleton:F_Ring_1.R", "Colette_Armature/Skeleton:F_Ring_2.R", "Colette_Armature/Skeleton:F_Ring_3.R", "Colette_Armature/Skeleton:F_Ring_4.R", "Colette_Armature/Skeleton:F_Thumb_1.R", "Colette_Armature/Skeleton:F_Thumb_2.R", "Colette_Armature/Skeleton:F_Thumb_3.R", "Colette_Armature/Skeleton:ForeArm.R", "Colette_Armature/Skeleton:ForeArmSkin1.R", "Colette_Armature/Skeleton:ForeArmSkin2.R", "Colette_Armature/Skeleton:ForeArmSkin3.R", "Colette_Armature/Skeleton:Hand.R", "Colette_Armature/Skeleton:HandMark_IK_FK.R", "Colette_Armature/Skeleton:Shoulder.R", "Colette_Armature/Skeleton:UpperArm.R", "Colette_Armature/Skeleton:UpperArmSkin1.R", "Colette_Armature/Skeleton:UpperArmSkin2.R", "Colette_Armature/Skeleton:UpperArmSkin3.R" ]
|
||
|
|
||
|
[sub_resource type="AnimationNodeAnimation" id=39]
|
||
|
animation = "idle-loop"
|
||
|
|
||
|
[sub_resource type="AnimationNodeAnimation" id=70]
|
||
|
animation = "idle-loop"
|
||
|
|
||
|
[sub_resource type="AnimationNodeTransition" id=68]
|
||
|
input_count = 2
|
||
|
xfade_time = 0.2
|
||
|
input_0/name = "idle"
|
||
|
input_0/auto_advance = false
|
||
|
input_1/name = "aim"
|
||
|
input_1/auto_advance = false
|
||
|
|
||
|
[sub_resource type="AnimationNodeAnimation" id=67]
|
||
|
animation = "aim_pistol-loop"
|
||
|
|
||
|
[sub_resource type="AnimationNodeTransition" id=49]
|
||
|
resource_local_to_scene = true
|
||
|
input_count = 3
|
||
|
xfade_time = 0.15
|
||
|
input_0/name = "idle"
|
||
|
input_0/auto_advance = false
|
||
|
input_1/name = "strafe"
|
||
|
input_1/auto_advance = false
|
||
|
input_2/name = "walk"
|
||
|
input_2/auto_advance = false
|
||
|
|
||
|
[sub_resource type="AnimationNodeAnimation" id=71]
|
||
|
animation = "walking-cycle-loop"
|
||
|
|
||
|
[sub_resource type="AnimationNodeAnimation" id=72]
|
||
|
animation = "walking-cycle-loop"
|
||
|
|
||
|
[sub_resource type="AnimationNodeAnimation" id=73]
|
||
|
animation = "walking-cycle-loop"
|
||
|
|
||
|
[sub_resource type="AnimationNodeAnimation" id=74]
|
||
|
animation = "run-cycle-loop"
|
||
|
|
||
|
[sub_resource type="AnimationNodeAnimation" id=79]
|
||
|
animation = "idle-loop"
|
||
|
|
||
|
[sub_resource type="AnimationNodeBlendSpace2D" id=55]
|
||
|
resource_local_to_scene = true
|
||
|
blend_point_0/node = SubResource( 71 )
|
||
|
blend_point_0/pos = Vector2( -1, 0 )
|
||
|
blend_point_1/node = SubResource( 72 )
|
||
|
blend_point_1/pos = Vector2( 0, -1 )
|
||
|
blend_point_2/node = SubResource( 73 )
|
||
|
blend_point_2/pos = Vector2( 1, 0 )
|
||
|
blend_point_3/node = SubResource( 74 )
|
||
|
blend_point_3/pos = Vector2( 0, 1 )
|
||
|
blend_point_4/node = SubResource( 79 )
|
||
|
blend_point_4/pos = Vector2( 0, 0 )
|
||
|
|
||
|
[sub_resource type="AnimationNodeAnimation" id=76]
|
||
|
animation = "run-cycle-loop"
|
||
|
|
||
|
[sub_resource type="AnimationNodeAnimation" id=78]
|
||
|
animation = "walking_gun-cycle"
|
||
|
|
||
|
[sub_resource type="AnimationNodeAnimation" id=80]
|
||
|
animation = "idle-loop"
|
||
|
|
||
|
[sub_resource type="AnimationNodeBlendSpace2D" id=60]
|
||
|
resource_local_to_scene = true
|
||
|
blend_point_0/node = SubResource( 76 )
|
||
|
blend_point_0/pos = Vector2( 1, 0 )
|
||
|
blend_point_1/node = SubResource( 78 )
|
||
|
blend_point_1/pos = Vector2( 0, 1 )
|
||
|
blend_point_2/node = SubResource( 80 )
|
||
|
blend_point_2/pos = Vector2( 0, 0 )
|
||
|
min_space = Vector2( 0, 0 )
|
||
|
x_label = "speed"
|
||
|
y_label = "gun"
|
||
|
|
||
|
[sub_resource type="AnimationNodeBlendTree" id=30]
|
||
|
resource_local_to_scene = true
|
||
|
graph_offset = Vector2( -937.444, 37.3194 )
|
||
|
nodes/Blend2/node = SubResource( 69 )
|
||
|
nodes/Blend2/position = Vector2( 460, 80 )
|
||
|
nodes/idle/node = SubResource( 39 )
|
||
|
nodes/idle/position = Vector2( -340, -20 )
|
||
|
nodes/idle1/node = SubResource( 70 )
|
||
|
nodes/idle1/position = Vector2( 20, -140 )
|
||
|
nodes/idle_aim/node = SubResource( 68 )
|
||
|
nodes/idle_aim/position = Vector2( 220, -80 )
|
||
|
nodes/output/position = Vector2( 760, 120 )
|
||
|
nodes/shoot_pose/node = SubResource( 67 )
|
||
|
nodes/shoot_pose/position = Vector2( -20, -20 )
|
||
|
nodes/state/node = SubResource( 49 )
|
||
|
nodes/state/position = Vector2( -80, 120 )
|
||
|
nodes/strafe/node = SubResource( 55 )
|
||
|
nodes/strafe/position = Vector2( -640, 40 )
|
||
|
nodes/walk/node = SubResource( 60 )
|
||
|
nodes/walk/position = Vector2( -640, 200 )
|
||
|
node_connections = [ "state", 0, "idle", "state", 1, "strafe", "state", 2, "walk", "output", 0, "Blend2", "Blend2", 0, "state", "Blend2", 1, "idle_aim", "idle_aim", 0, "idle1", "idle_aim", 1, "shoot_pose" ]
|
||
|
|
||
|
[sub_resource type="CapsuleShape" id=64]
|
||
|
radius = 0.68932
|
||
|
height = 0.002
|
||
|
|
||
|
[sub_resource type="AudioStreamRandomPitch" id=35]
|
||
|
audio_stream = ExtResource( 7 )
|
||
|
|
||
|
[sub_resource type="AudioStreamRandomPitch" id=38]
|
||
|
audio_stream = ExtResource( 3 )
|
||
|
|
||
|
[sub_resource type="SphereShape" id=36]
|
||
|
radius = 20.0
|
||
|
|
||
|
[sub_resource type="PrismMesh" id=37]
|
||
|
|
||
|
[node name="BadCat" type="KinematicBody"]
|
||
|
collision_layer = 4
|
||
|
collision_mask = 23
|
||
|
script = ExtResource( 1 )
|
||
|
|
||
|
[node name="PlayerModel" parent="." instance=ExtResource( 13 )]
|
||
|
|
||
|
[node name="GunBone" type="BoneAttachment" parent="PlayerModel/Colette_Armature/Skeleton" index="0"]
|
||
|
transform = Transform( -0.0209218, -0.185609, -0.982401, 0.0101222, -0.982548, 0.185422, -0.999672, -0.00606411, 0.0224358, -0.201483, 0.742031, -0.0377114 )
|
||
|
bone_name = "Hand.R"
|
||
|
|
||
|
[node name="ShootFrom" type="Position3D" parent="PlayerModel/Colette_Armature/Skeleton/GunBone"]
|
||
|
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.4, 0 )
|
||
|
|
||
|
[node name="ShootParticle" type="Particles" parent="PlayerModel/Colette_Armature/Skeleton/GunBone/ShootFrom"]
|
||
|
transform = Transform( 1, 2.04891e-08, 0, 3.21306e-08, 1, 5.58794e-09, 0, 0, 1, 0, 0, 0 )
|
||
|
material_override = ExtResource( 9 )
|
||
|
emitting = false
|
||
|
amount = 10
|
||
|
lifetime = 0.3
|
||
|
one_shot = true
|
||
|
explosiveness = 0.79
|
||
|
local_coords = false
|
||
|
process_material = SubResource( 1 )
|
||
|
draw_pass_1 = SubResource( 2 )
|
||
|
|
||
|
[node name="MuzzleFlash" type="Particles" parent="PlayerModel/Colette_Armature/Skeleton/GunBone/ShootFrom"]
|
||
|
transform = Transform( 1, 0, -2.00234e-08, 1.21072e-08, -4.37722e-08, -1, -2.98023e-08, 1, -4.74975e-08, 0, 0, 0 )
|
||
|
material_override = SubResource( 3 )
|
||
|
emitting = false
|
||
|
amount = 1
|
||
|
lifetime = 0.1
|
||
|
one_shot = true
|
||
|
explosiveness = 1.0
|
||
|
process_material = SubResource( 8 )
|
||
|
draw_pass_1 = ExtResource( 10 )
|
||
|
|
||
|
[node name="ChestBone" type="BoneAttachment" parent="PlayerModel/Colette_Armature/Skeleton" index="1"]
|
||
|
transform = Transform( 1, 9.83052e-08, -4.4973e-07, -9.24421e-08, 0.998489, -0.0538833, 3.5868e-07, 0.0538833, 0.998489, 6.63939e-09, 1.00081, 0.0376625 )
|
||
|
bone_name = "Chest"
|
||
|
|
||
|
[node name="Hitbox" type="KinematicBody" parent="PlayerModel/Colette_Armature/Skeleton/ChestBone"]
|
||
|
transform = Transform( 0.697, 4.07329e-05, 0.000196172, -2.55566e-05, 1.19195, 0.00618147, -0.000195948, -0.0105715, 0.696972, -7.45737e-05, -0.195816, -0.0145013 )
|
||
|
collision_layer = 64
|
||
|
collision_mask = 0
|
||
|
script = ExtResource( 16 )
|
||
|
node_with_hit = NodePath("../../../../..")
|
||
|
|
||
|
[node name="CollisionShape" type="CollisionShape" parent="PlayerModel/Colette_Armature/Skeleton/ChestBone/Hitbox"]
|
||
|
transform = Transform( 1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0 )
|
||
|
shape = SubResource( 41 )
|
||
|
|
||
|
[node name="Colette_Mesh" parent="PlayerModel/Colette_Armature/Skeleton" index="2"]
|
||
|
material/0 = ExtResource( 12 )
|
||
|
material/1 = ExtResource( 12 )
|
||
|
material/2 = ExtResource( 2 )
|
||
|
material/3 = ExtResource( 18 )
|
||
|
material/4 = ExtResource( 17 )
|
||
|
material/5 = ExtResource( 14 )
|
||
|
material/6 = ExtResource( 15 )
|
||
|
|
||
|
[node name="RootMotionView" type="RootMotionView" parent="."]
|
||
|
animation_path = NodePath("../AnimationTree")
|
||
|
|
||
|
[node name="AnimationTree" type="AnimationTree" parent="."]
|
||
|
tree_root = SubResource( 30 )
|
||
|
anim_player = NodePath("../PlayerModel/AnimationPlayer")
|
||
|
active = true
|
||
|
process_mode = 0
|
||
|
root_motion_track = NodePath("Colette_Armature/Skeleton:Root")
|
||
|
parameters/Blend2/blend_amount = 1.0
|
||
|
parameters/idle_aim/current = 0
|
||
|
parameters/state/current = 0
|
||
|
parameters/strafe/blend_position = Vector2( 0, 0 )
|
||
|
parameters/walk/blend_position = Vector2( 0, 0 )
|
||
|
|
||
|
[node name="CapsuleShape" type="CollisionShape" parent="."]
|
||
|
transform = Transform( 0.999835, 0.0162343, -0.00821726, 0.0079643, 0.0155836, 0.999847, 0.0163598, -0.999747, 0.0154518, 0, 0.701, 0 )
|
||
|
shape = SubResource( 64 )
|
||
|
|
||
|
[node name="SoundEffects" type="Node" parent="."]
|
||
|
|
||
|
[node name="Step" type="AudioStreamPlayer" parent="SoundEffects"]
|
||
|
stream = ExtResource( 4 )
|
||
|
|
||
|
[node name="Jump" type="AudioStreamPlayer" parent="SoundEffects"]
|
||
|
stream = ExtResource( 5 )
|
||
|
|
||
|
[node name="Land" type="AudioStreamPlayer" parent="SoundEffects"]
|
||
|
stream = ExtResource( 6 )
|
||
|
|
||
|
[node name="Shoot" type="AudioStreamPlayer" parent="SoundEffects"]
|
||
|
stream = SubResource( 35 )
|
||
|
|
||
|
[node name="Explosion" type="AudioStreamPlayer3D" parent="SoundEffects"]
|
||
|
stream = ExtResource( 8 )
|
||
|
unit_db = 12.0
|
||
|
unit_size = 15.0
|
||
|
|
||
|
[node name="Hit" type="AudioStreamPlayer3D" parent="SoundEffects"]
|
||
|
stream = SubResource( 38 )
|
||
|
unit_db = 3.0
|
||
|
unit_size = 15.0
|
||
|
|
||
|
[node name="FireCooldown" type="Timer" parent="."]
|
||
|
wait_time = 0.4
|
||
|
one_shot = true
|
||
|
autostart = true
|
||
|
|
||
|
[node name="PlayerDetectionArea" type="Area" parent="."]
|
||
|
collision_layer = 2
|
||
|
collision_mask = 2
|
||
|
|
||
|
[node name="CollisionShape" type="CollisionShape" parent="PlayerDetectionArea"]
|
||
|
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.00589287, -1.19209e-07, 0.000506759 )
|
||
|
shape = SubResource( 36 )
|
||
|
|
||
|
[node name="debug_marker" type="MeshInstance" parent="."]
|
||
|
transform = Transform( 0.245, 0, 0, 0, 0.205, 0, 0, 0, 0.115, 0, 0, 3.06692 )
|
||
|
visible = false
|
||
|
mesh = SubResource( 37 )
|
||
|
material/0 = null
|
||
|
|
||
|
[connection signal="body_entered" from="PlayerDetectionArea" to="." method="_on_Area_body_entered"]
|
||
|
[connection signal="body_exited" from="PlayerDetectionArea" to="." method="_on_Area_body_exited"]
|
||
|
|
||
|
[editable path="PlayerModel"]
|