A Third-Person-Shooter Godot game.
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.
 
 
 

311 lines
12 KiB

[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"]