Compare commits

..

14 Commits

31 changed files with 371 additions and 57 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,7 +1,6 @@
[gd_scene load_steps=31 format=3 uid="uid://3d51hjh2st8a"] [gd_scene load_steps=32 format=3 uid="uid://3d51hjh2st8a"]
[ext_resource type="PackedScene" uid="uid://d2d4uv7o5gx5p" path="res://Level/World/screen_shader.tscn" id="1_huyen"] [ext_resource type="PackedScene" uid="uid://d2d4uv7o5gx5p" path="res://Level/World/screen_shader.tscn" id="1_huyen"]
[ext_resource type="PackedScene" uid="uid://b35w4hlh4n1jt" path="res://Level/World/world_environment.tscn" id="2_lerrn"]
[ext_resource type="PackedScene" uid="uid://d3ccrfjpg4hbv" path="res://Models/palm_curved.tscn" id="3_bth2b"] [ext_resource type="PackedScene" uid="uid://d3ccrfjpg4hbv" path="res://Models/palm_curved.tscn" id="3_bth2b"]
[ext_resource type="PackedScene" uid="uid://c1n2lfcn4rkx7" path="res://Models/palm_default.tscn" id="4_2cnue"] [ext_resource type="PackedScene" uid="uid://c1n2lfcn4rkx7" path="res://Models/palm_default.tscn" id="4_2cnue"]
[ext_resource type="PackedScene" uid="uid://ctbyl0qbks4k6" path="res://Models/ocean.tscn" id="4_dey2i"] [ext_resource type="PackedScene" uid="uid://ctbyl0qbks4k6" path="res://Models/ocean.tscn" id="4_dey2i"]
@ -23,8 +22,10 @@
[ext_resource type="PackedScene" uid="uid://c4s6y758n77lw" path="res://villager_shared.tscn" id="24_ddfvk"] [ext_resource type="PackedScene" uid="uid://c4s6y758n77lw" path="res://villager_shared.tscn" id="24_ddfvk"]
[ext_resource type="PackedScene" uid="uid://b3aus2kigf8xt" path="res://Models/beach_decor/cooler.tscn" id="24_sl7ne"] [ext_resource type="PackedScene" uid="uid://b3aus2kigf8xt" path="res://Models/beach_decor/cooler.tscn" id="24_sl7ne"]
[ext_resource type="PackedScene" uid="uid://cft26nug7kyqb" path="res://ambient_light_1.tscn" id="25_novxt"] [ext_resource type="PackedScene" uid="uid://cft26nug7kyqb" path="res://ambient_light_1.tscn" id="25_novxt"]
[ext_resource type="PackedScene" path="res://color_cube.tscn" id="25_rm0cr"] [ext_resource type="PackedScene" uid="uid://ukful430mmkn" path="res://color_cube.tscn" id="25_rm0cr"]
[ext_resource type="PackedScene" uid="uid://d2pvg0f5jtpve" path="res://slime_kill_box.tscn" id="27_cjxk6"]
[ext_resource type="PackedScene" uid="uid://bw3k2c75qavce" path="res://Models/beach_decor/bucket.tscn" id="27_f3p1i"] [ext_resource type="PackedScene" uid="uid://bw3k2c75qavce" path="res://Models/beach_decor/bucket.tscn" id="27_f3p1i"]
[ext_resource type="PackedScene" uid="uid://6ycop5t3nra5" path="res://Level/World/DayNightEnvironment.tscn" id="27_jutn4"]
[ext_resource type="PackedScene" uid="uid://g4gmc0pwlak1" path="res://Models/buildings/fence.tscn" id="28_prydb"] [ext_resource type="PackedScene" uid="uid://g4gmc0pwlak1" path="res://Models/buildings/fence.tscn" id="28_prydb"]
[sub_resource type="Animation" id="Animation_jpnyu"] [sub_resource type="Animation" id="Animation_jpnyu"]
@ -53,8 +54,6 @@ size = Vector3(19.9041, 1, 1)
[node name="ScreenShader" parent="." instance=ExtResource("1_huyen")] [node name="ScreenShader" parent="." instance=ExtResource("1_huyen")]
[node name="WorldEnvironment" parent="." instance=ExtResource("2_lerrn")]
[node name="island" parent="." instance=ExtResource("4_lq6cy")] [node name="island" parent="." instance=ExtResource("4_lq6cy")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
@ -317,11 +316,13 @@ transform = Transform3D(1.5, 0, 0, 0, 1.5, 0, 0, 0, 1.5, 0, 1.40507, -2.10425)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.192051, 2.60275, 0) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.192051, 2.60275, 0)
[node name="Ambiance" type="AudioStreamPlayer" parent="."] [node name="Ambiance" type="AudioStreamPlayer" parent="."]
process_mode = 3
stream = ExtResource("22_4tylf") stream = ExtResource("22_4tylf")
volume_db = 7.0 volume_db = 7.0
autoplay = true autoplay = true
[node name="Music" type="AudioStreamPlayer" parent="."] [node name="Music" type="AudioStreamPlayer" parent="."]
process_mode = 3
volume_db = -5.0 volume_db = -5.0
script = ExtResource("22_2pcqg") script = ExtResource("22_2pcqg")
@ -420,21 +421,27 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.11439, 2.14828, -1.28646)
[node name="OmniLight3D" parent="." instance=ExtResource("25_novxt")] [node name="OmniLight3D" parent="." instance=ExtResource("25_novxt")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.13746, 2.69992, -0.435097) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.13746, 2.69992, -0.435097)
light_energy = 0.1
[node name="OmniLight3D2" parent="." instance=ExtResource("25_novxt")] [node name="OmniLight3D2" parent="." instance=ExtResource("25_novxt")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.22669, 2.84986, -2.06954) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.22669, 2.84986, -2.06954)
light_energy = 0.1
[node name="OmniLight3D3" parent="." instance=ExtResource("25_novxt")] [node name="OmniLight3D3" parent="." instance=ExtResource("25_novxt")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.76529, 2.60448, -0.160995) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.76529, 2.60448, -0.160995)
light_energy = 0.1
[node name="OmniLight3D4" parent="." instance=ExtResource("25_novxt")] [node name="OmniLight3D4" parent="." instance=ExtResource("25_novxt")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.57077, 2.69259, -2.05053) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.57077, 2.69259, -2.05053)
light_energy = 0.1
[node name="OmniLight3D5" parent="." instance=ExtResource("25_novxt")] [node name="OmniLight3D5" parent="." instance=ExtResource("25_novxt")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.41671, 2.76416, -1.32509) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.41671, 2.76416, -1.32509)
light_energy = 0.1
[node name="OmniLight3D6" parent="." instance=ExtResource("25_novxt")] [node name="OmniLight3D6" parent="." instance=ExtResource("25_novxt")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.19657, 2.76902, -1.46035) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.19657, 2.76902, -1.46035)
light_energy = 0.1
[node name="WorldBottom" type="StaticBody3D" parent="."] [node name="WorldBottom" type="StaticBody3D" parent="."]
@ -470,6 +477,10 @@ transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 4.0092
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.12274, 3.12891, 9.31375) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.12274, 3.12891, 9.31375)
shape = SubResource("BoxShape3D_um2bu") shape = SubResource("BoxShape3D_um2bu")
[node name="DayNightEnvironment" parent="." instance=ExtResource("27_jutn4")]
[node name="SlimeKillBox" parent="." instance=ExtResource("27_cjxk6")]
[connection signal="finished" from="Music" to="Music" method="_on_finished"] [connection signal="finished" from="Music" to="Music" method="_on_finished"]
[connection signal="timeout" from="Music/Transition" to="Music" method="_on_transition_timer_timeout"] [connection signal="timeout" from="Music/Transition" to="Music" method="_on_transition_timer_timeout"]
[connection signal="timeout" from="Music/Tween" to="Music" method="_on_tween_timer_timeout"] [connection signal="timeout" from="Music/Tween" to="Music" method="_on_tween_timer_timeout"]

View File

@ -1,24 +1,27 @@
[gd_scene load_steps=7 format=3 uid="uid://6ycop5t3nra5"] [gd_scene load_steps=8 format=3 uid="uid://6ycop5t3nra5"]
[ext_resource type="Texture2D" uid="uid://6k4ialfiwfxe" path="res://Textures/blueskygradient.jpg" id="1_l2fuq"] [sub_resource type="Gradient" id="Gradient_6ntap"]
colors = PackedColorArray(0, 0.447059, 0.603922, 1, 0, 0, 0, 1)
[sub_resource type="PhysicalSkyMaterial" id="PhysicalSkyMaterial_jvebd"] [sub_resource type="GradientTexture2D" id="GradientTexture2D_bagcs"]
turbidity = 50.0 gradient = SubResource("Gradient_6ntap")
sun_disk_scale = 0.5 fill_from = Vector2(1, 0.525641)
ground_color = Color(0, 0, 0, 1)
night_sky = ExtResource("1_l2fuq")
[sub_resource type="Sky" id="Sky_ummxe"] [sub_resource type="PhysicalSkyMaterial" id="PhysicalSkyMaterial_es06v"]
sky_material = SubResource("PhysicalSkyMaterial_jvebd") night_sky = SubResource("GradientTexture2D_bagcs")
[sub_resource type="Sky" id="Sky_qcavb"]
sky_material = SubResource("PhysicalSkyMaterial_es06v")
[sub_resource type="Environment" id="Environment_d42bf"] [sub_resource type="Environment" id="Environment_d42bf"]
background_mode = 2 background_mode = 2
background_energy_multiplier = 0.5 background_energy_multiplier = 0.5
sky = SubResource("Sky_ummxe") sky = SubResource("Sky_qcavb")
sky_rotation = Vector3(6.28319, 0, 0)
[sub_resource type="Animation" id="Animation_l6y5u"] [sub_resource type="Animation" id="Animation_l6y5u"]
resource_name = "DayNightCycle" resource_name = "DayNightCycle"
length = 10.0 length = 300.0
loop_mode = 1 loop_mode = 1
tracks/0/type = "value" tracks/0/type = "value"
tracks/0/imported = false tracks/0/imported = false
@ -27,10 +30,10 @@ tracks/0/path = NodePath("DirectionalLight3D:rotation")
tracks/0/interp = 1 tracks/0/interp = 1
tracks/0/loop_wrap = true tracks/0/loop_wrap = true
tracks/0/keys = { tracks/0/keys = {
"times": PackedFloat32Array(0, 10), "times": PackedFloat32Array(0, 300),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 0, "update": 0,
"values": [Vector3(0, 0, 0), Vector3(6.28319, 0, 0)] "values": [Vector3(0, 0, 0), Vector3(0, 0, 0)]
} }
[sub_resource type="AnimationLibrary" id="AnimationLibrary_2t5g8"] [sub_resource type="AnimationLibrary" id="AnimationLibrary_2t5g8"]
@ -44,6 +47,7 @@ _data = {
environment = SubResource("Environment_d42bf") environment = SubResource("Environment_d42bf")
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."] [node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
light_energy = 0.75
[node name="AnimationPlayer" type="AnimationPlayer" parent="."] [node name="AnimationPlayer" type="AnimationPlayer" parent="."]
autoplay = "DayNightCycle" autoplay = "DayNightCycle"

View File

@ -11,6 +11,7 @@ shader_parameter/grid = 5
shader_parameter/anim_period = 3.0 shader_parameter/anim_period = 3.0
[node name="ScreenShader" type="CanvasLayer"] [node name="ScreenShader" type="CanvasLayer"]
process_mode = 1
[node name="ColorRect" type="ColorRect" parent="."] [node name="ColorRect" type="ColorRect" parent="."]
material = SubResource("ShaderMaterial_yagpk") material = SubResource("ShaderMaterial_yagpk")
@ -19,3 +20,4 @@ anchor_right = 1.0
anchor_bottom = 1.0 anchor_bottom = 1.0
grow_horizontal = 2 grow_horizontal = 2
grow_vertical = 2 grow_vertical = 2
mouse_filter = 2

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=41 format=3 uid="uid://bgoo1lbt28na"] [gd_scene load_steps=42 format=3 uid="uid://bgoo1lbt28na"]
[ext_resource type="PackedScene" uid="uid://bhanbx2dyhv2d" path="res://Models/grape_man.glb" id="1_fh5yr"] [ext_resource type="PackedScene" uid="uid://bhanbx2dyhv2d" path="res://Models/grape_man.glb" id="1_fh5yr"]
[ext_resource type="Script" path="res://Models/grape_man.gd" id="2_ksje8"] [ext_resource type="Script" path="res://Models/grape_man.gd" id="2_ksje8"]
@ -6,6 +6,7 @@
[ext_resource type="AudioStream" uid="uid://baocyd0p3jcku" path="res://Sounds/pickup_grunt.ogg" id="4_nvurj"] [ext_resource type="AudioStream" uid="uid://baocyd0p3jcku" path="res://Sounds/pickup_grunt.ogg" id="4_nvurj"]
[ext_resource type="AudioStream" uid="uid://b80t5xqckjoqk" path="res://Sounds/heartychuckle.ogg" id="5_b32re"] [ext_resource type="AudioStream" uid="uid://b80t5xqckjoqk" path="res://Sounds/heartychuckle.ogg" id="5_b32re"]
[ext_resource type="AudioStream" uid="uid://0mhkf1ls1wcn" path="res://Sounds/sadsound.ogg" id="6_qe4bi"] [ext_resource type="AudioStream" uid="uid://0mhkf1ls1wcn" path="res://Sounds/sadsound.ogg" id="6_qe4bi"]
[ext_resource type="AudioStream" uid="uid://bmocmgq06o6f5" path="res://Sounds/footstep.ogg" id="7_b2ik0"]
[sub_resource type="AnimationNodeAdd2" id="AnimationNodeAdd2_a0vxm"] [sub_resource type="AnimationNodeAdd2" id="AnimationNodeAdd2_a0vxm"]
filters = ["rig/Skeleton3D:forearm.L", "rig/Skeleton3D:forearm.R", "rig/Skeleton3D:head", "rig/Skeleton3D:upper_arm.L", "rig/Skeleton3D:upper_arm.R"] filters = ["rig/Skeleton3D:forearm.L", "rig/Skeleton3D:forearm.R", "rig/Skeleton3D:head", "rig/Skeleton3D:upper_arm.L", "rig/Skeleton3D:upper_arm.R"]
@ -154,7 +155,7 @@ transform = Transform3D(0.065, 0, 0, 0, 0.065, 0, 0, 0, 0.065, 0, 0, 0)
script = ExtResource("2_ksje8") script = ExtResource("2_ksje8")
[node name="Skeleton3D" parent="rig" index="0"] [node name="Skeleton3D" parent="rig" index="0"]
bones/0/rotation = Quaternion(0.0933172, 0, 0, 0.995637) bones/0/rotation = Quaternion(0.0733902, 0, 0, 0.997303)
bones/1/rotation = Quaternion(-0.0891896, 1.18734e-07, -1.06322e-08, 0.996015) bones/1/rotation = Quaternion(-0.0891896, 1.18734e-07, -1.06322e-08, 0.996015)
bones/2/rotation = Quaternion(0.0133933, -1.19199e-07, 1.5966e-09, 0.99991) bones/2/rotation = Quaternion(0.0133933, -1.19199e-07, 1.5966e-09, 0.99991)
bones/3/rotation = Quaternion(-0.00997737, 0.100365, -0.694951, 0.711948) bones/3/rotation = Quaternion(-0.00997737, 0.100365, -0.694951, 0.711948)
@ -169,6 +170,7 @@ bones/15/rotation = Quaternion(0.105246, -0.0039338, 0.0113526, 0.994374)
[node name="OmniLight3D" type="OmniLight3D" parent="." index="2"] [node name="OmniLight3D" type="OmniLight3D" parent="." index="2"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.289473, 8.26292, 4.26359) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.289473, 8.26292, 4.26359)
light_energy = 0.5
[node name="AnimationTree" type="AnimationTree" parent="." index="3"] [node name="AnimationTree" type="AnimationTree" parent="." index="3"]
tree_root = SubResource("AnimationNodeStateMachine_6mfdu") tree_root = SubResource("AnimationNodeStateMachine_6mfdu")
@ -193,3 +195,7 @@ stream = ExtResource("6_qe4bi")
[node name="soundboard" type="AudioStreamPlayer" parent="." index="8"] [node name="soundboard" type="AudioStreamPlayer" parent="." index="8"]
stream = ExtResource("6_qe4bi") stream = ExtResource("6_qe4bi")
[node name="footstep" type="AudioStreamPlayer" parent="." index="9"]
stream = ExtResource("7_b2ik0")
volume_db = -10.0

View File

@ -3,7 +3,7 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://ce7qteyplgh7d" uid="uid://ce7qteyplgh7d"
path.s3tc="res://.godot/imported/grape_man_grape_man.png-2e5aad214d556f9249cd2523505b0b56.s3tc.ctex" path.bptc="res://.godot/imported/grape_man_grape_man.png-2e5aad214d556f9249cd2523505b0b56.bptc.ctex"
metadata={ metadata={
"imported_formats": ["s3tc_bptc"], "imported_formats": ["s3tc_bptc"],
"vram_texture": true "vram_texture": true
@ -13,12 +13,12 @@ generator_parameters={}
[deps] [deps]
source_file="res://Models/grape_man_grape_man.png" source_file="res://Models/grape_man_grape_man.png"
dest_files=["res://.godot/imported/grape_man_grape_man.png-2e5aad214d556f9249cd2523505b0b56.s3tc.ctex"] dest_files=["res://.godot/imported/grape_man_grape_man.png-2e5aad214d556f9249cd2523505b0b56.bptc.ctex"]
[params] [params]
compress/mode=2 compress/mode=2
compress/high_quality=false compress/high_quality=true
compress/lossy_quality=0.7 compress/lossy_quality=0.7
compress/hdr_compression=1 compress/hdr_compression=1
compress/normal_map=0 compress/normal_map=0

6
godot/Models/island.gd Normal file
View File

@ -0,0 +1,6 @@
extends Node3D
var color: Color = Color("aef54d")
func _ready():
$Island_001.get_active_material(0).albedo_color = color

BIN
godot/Models/island.glb (Stored with Git LFS)

Binary file not shown.

View File

@ -30,8 +30,14 @@ animation/remove_immutable_tracks=true
import_script/path="" import_script/path=""
_subresources={ _subresources={
"nodes": { "nodes": {
"PATH:Ocean": { "PATH:Island": {
"import/skip_import": true "generate/physics": true,
"physics/shape_type": 2
},
"PATH:Island_001": {
"decomposition/precision": 10,
"generate/physics": true,
"physics/shape_type": 2
} }
} }
} }

File diff suppressed because one or more lines are too long

BIN
godot/Models/island_grass1.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,36 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b3wyfvquke8qo"
path.s3tc="res://.godot/imported/island_grass1.png-c39d61eb86dec28b8d2d96218e7ec133.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
generator_parameters={}
[deps]
source_file="res://Models/island_grass1.png"
dest_files=["res://.godot/imported/island_grass1.png-c39d61eb86dec28b8d2d96218e7ec133.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

View File

@ -15,6 +15,8 @@ var holding: WeakRef = weakref(null)
# Get the gravity from the project settings to be synced with RigidBody nodes. # Get the gravity from the project settings to be synced with RigidBody nodes.
var gravity = ProjectSettings.get_setting("physics/3d/default_gravity") var gravity = ProjectSettings.get_setting("physics/3d/default_gravity")
@onready var pause_menu = $PauseMenu
func _ready(): func _ready():
Input.mouse_mode = Input.MOUSE_MODE_CAPTURED Input.mouse_mode = Input.MOUSE_MODE_CAPTURED
$CameraMount.global_rotation.x = clampf($CameraMount.global_rotation.x, deg_to_rad(LOWER_CAMERA_LIMIT), deg_to_rad(UPPER_CAMERA_LIMIT)) $CameraMount.global_rotation.x = clampf($CameraMount.global_rotation.x, deg_to_rad(LOWER_CAMERA_LIMIT), deg_to_rad(UPPER_CAMERA_LIMIT))
@ -22,8 +24,8 @@ func _ready():
func _process(_delta): func _process(_delta):
# Brings your mouse out of the window if you press escape. Add pause screen function here? # Brings your mouse out of the window if you press escape. Add pause screen function here?
if Input.is_action_pressed("ui_cancel"): if Input.is_action_just_pressed("Pause"):
Input.mouse_mode = Input.MOUSE_MODE_VISIBLE $PauseMenu.pause()
var obj = holding.get_ref() var obj = holding.get_ref()
if obj: if obj:
@ -39,6 +41,7 @@ func _process(_delta):
func _input(event): func _input(event):
# Handle the rotation of the camera using mouse movement. # Handle the rotation of the camera using mouse movement.
if event is InputEventMouseMotion: if event is InputEventMouseMotion:
rotate_y(deg_to_rad(-event.relative.x * horiz_sens)) rotate_y(deg_to_rad(-event.relative.x * horiz_sens))
@ -58,9 +61,6 @@ func _input(event):
$grape_man/pickup.play() $grape_man/pickup.play()
$grape_man.pickup() $grape_man.pickup()
if Input.is_action_just_pressed("Pause"):
pass
if Input.is_action_just_pressed("Soundboard"): if Input.is_action_just_pressed("Soundboard"):
var sound_list = (["res://Sounds/jingle.ogg", var sound_list = (["res://Sounds/jingle.ogg",
@ -114,11 +114,18 @@ func _physics_process(delta):
move_and_slide() move_and_slide()
func drop(): func drop():
var obj = holding.get_ref() var obj: Node3D = holding.get_ref()
if not obj: if not obj:
print("dropped, but wasn't holding anything?") print("dropped, but wasn't holding anything?")
return return
remove_collision_exception_with(obj) remove_collision_exception_with(obj)
obj.look_at(Vector3(
$grape_man.global_position.x,
obj.global_position.y,
$grape_man.global_position.z,
))
obj.rotate_y(deg_to_rad(-90))
obj.translate_object_local(Vector3(0.125, 0.0, 0.0))
obj.set_process(true) obj.set_process(true)
holding = weakref(null) holding = weakref(null)

BIN
godot/Sounds/death.ogg (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,19 @@
[remap]
importer="oggvorbisstr"
type="AudioStreamOggVorbis"
uid="uid://c2cnum2ucjh2q"
path="res://.godot/imported/death.ogg-d87d44f044d6d892acc0289ac44ecb04.oggvorbisstr"
[deps]
source_file="res://Sounds/death.ogg"
dest_files=["res://.godot/imported/death.ogg-d87d44f044d6d892acc0289ac44ecb04.oggvorbisstr"]
[params]
loop=false
loop_offset=0
bpm=0
beat_count=0
bar_beats=4

BIN
godot/UI/Exit.png (Stored with Git LFS) Normal file

Binary file not shown.

34
godot/UI/Exit.png.import Normal file
View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://hgb2ifbdpp3"
path="res://.godot/imported/Exit.png-26c1acde1a0bd151103ef1554a8e3af5.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://UI/Exit.png"
dest_files=["res://.godot/imported/Exit.png-26c1acde1a0bd151103ef1554a8e3af5.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

BIN
godot/UI/Pause.png (Stored with Git LFS) Normal file

Binary file not shown.

34
godot/UI/Pause.png.import Normal file
View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dw7ewvfwyxcq"
path="res://.godot/imported/Pause.png-90c47ed988bd7d26b746eb81a6aaeedf.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://UI/Pause.png"
dest_files=["res://.godot/imported/Pause.png-90c47ed988bd7d26b746eb81a6aaeedf.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

19
godot/UI/PauseMenu.gd Normal file
View File

@ -0,0 +1,19 @@
extends Control
var is_paused = false
@onready var resume_button = $CenterContainer/HBoxContainer/ResumeButton
@onready var quit_button = $CenterContainer/HBoxContainer/QuitButton
func unpause():
self.hide()
get_tree().paused = false
Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED)
func pause():
self.show()
get_tree().paused = true
Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE)
func quit():
get_tree().quit()

68
godot/UI/PauseMenu.tscn Normal file
View File

@ -0,0 +1,68 @@
[gd_scene load_steps=4 format=3 uid="uid://cbca7q18ae42h"]
[ext_resource type="Script" path="res://UI/PauseMenu.gd" id="1_3puj1"]
[ext_resource type="Texture2D" uid="uid://dxxd258q3uomg" path="res://UI/Play.png" id="1_c4do0"]
[ext_resource type="Texture2D" uid="uid://hgb2ifbdpp3" path="res://UI/Exit.png" id="3_djmuk"]
[node name="PauseMenu" type="Control"]
process_mode = 3
z_index = 3
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_3puj1")
[node name="Background" type="ColorRect" parent="."]
z_index = -1
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
color = Color(0.12549, 0.458824, 0.317647, 0.356863)
[node name="CenterContainer" type="CenterContainer" parent="."]
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -124.0
offset_top = -74.0
offset_right = 124.0
offset_bottom = 74.0
grow_horizontal = 2
grow_vertical = 2
[node name="HBoxContainer" type="HBoxContainer" parent="CenterContainer"]
layout_mode = 2
theme_override_constants/separation = 75
alignment = 1
[node name="ResumeButton" type="Button" parent="CenterContainer/HBoxContainer"]
process_mode = 3
layout_mode = 2
text = " "
icon = ExtResource("1_c4do0")
flat = true
icon_alignment = 1
[node name="QuitButton" type="Button" parent="CenterContainer/HBoxContainer"]
process_mode = 3
layout_mode = 2
theme_override_constants/outline_size = 1
theme_override_constants/h_separation = 0
theme_override_constants/icon_max_width = 0
text = " "
icon = ExtResource("3_djmuk")
flat = true
icon_alignment = 1
[connection signal="pressed" from="CenterContainer/HBoxContainer/ResumeButton" to="." method="unpause"]
[connection signal="pressed" from="CenterContainer/HBoxContainer/QuitButton" to="." method="quit"]

BIN
godot/UI/Play.png (Stored with Git LFS) Normal file

Binary file not shown.

34
godot/UI/Play.png.import Normal file
View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dxxd258q3uomg"
path="res://.godot/imported/Play.png-eec0d54380d32c59b84e7db5fa226d5e.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://UI/Play.png"
dest_files=["res://.godot/imported/Play.png-eec0d54380d32c59b84e7db5fa226d5e.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

View File

@ -1,8 +1,9 @@
[gd_scene load_steps=6 format=3 uid="uid://7utef1nnena8"] [gd_scene load_steps=7 format=3 uid="uid://7utef1nnena8"]
[ext_resource type="Script" path="res://Player.gd" id="1_7gpdp"] [ext_resource type="Script" path="res://Player.gd" id="1_7gpdp"]
[ext_resource type="PackedScene" uid="uid://bgoo1lbt28na" path="res://Models/grape_man.tscn" id="2_ctyy5"] [ext_resource type="PackedScene" uid="uid://bgoo1lbt28na" path="res://Models/grape_man.tscn" id="2_ctyy5"]
[ext_resource type="Script" path="res://Holster.gd" id="3_a68da"] [ext_resource type="Script" path="res://Holster.gd" id="3_a68da"]
[ext_resource type="PackedScene" uid="uid://cbca7q18ae42h" path="res://UI/PauseMenu.tscn" id="4_kcqpl"]
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_kb4ms"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_kb4ms"]
radius = 0.0669067 radius = 0.0669067
@ -24,7 +25,7 @@ shape = SubResource("CapsuleShape3D_kb4ms")
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.389874, 0) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.389874, 0)
[node name="PlayerCam" type="Camera3D" parent="CameraMount"] [node name="PlayerCam" type="Camera3D" parent="CameraMount"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.643936) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.930216)
current = true current = true
fov = 50.0 fov = 50.0
@ -37,6 +38,9 @@ script = ExtResource("3_a68da")
transform = Transform3D(0.1, 0, 0, 0, 0.1, 0, 0, 0, 0.1, 0, 0.0672282, 0) transform = Transform3D(0.1, 0, 0, 0, 0.1, 0, 0, 0, 0.1, 0, 0.0672282, 0)
shape = SubResource("SphereShape3D_6l1w6") shape = SubResource("SphereShape3D_6l1w6")
[node name="PauseMenu" parent="." instance=ExtResource("4_kcqpl")]
visible = false
[connection signal="anim_check_grab" from="grape_man" to="." method="_on_grape_man_anim_check_grab"] [connection signal="anim_check_grab" from="grape_man" to="." method="_on_grape_man_anim_check_grab"]
[connection signal="body_entered" from="Holster/Area3D" to="." method="_on_holster_enter"] [connection signal="body_entered" from="Holster/Area3D" to="." method="_on_holster_enter"]
[connection signal="body_exited" from="Holster/Area3D" to="." method="_on_holster_exit"] [connection signal="body_exited" from="Holster/Area3D" to="." method="_on_holster_exit"]

7
godot/slime_kill_box.gd Normal file
View File

@ -0,0 +1,7 @@
extends Area3D
func _on_body_entered(body):
if "color_changes" in body:
body.queue_free()
$AudioStreamPlayer.play()

21
godot/slime_kill_box.tscn Normal file
View File

@ -0,0 +1,21 @@
[gd_scene load_steps=4 format=3 uid="uid://d2pvg0f5jtpve"]
[ext_resource type="Script" path="res://slime_kill_box.gd" id="1_pa1cf"]
[ext_resource type="AudioStream" uid="uid://c2cnum2ucjh2q" path="res://Sounds/death.ogg" id="2_ne510"]
[sub_resource type="BoxShape3D" id="BoxShape3D_bvuti"]
size = Vector3(0.5, 0.5, 0.5)
[node name="SlimeKillBox" type="Area3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.29885, 1.93466, -1.55725)
script = ExtResource("1_pa1cf")
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.17611, 0)
shape = SubResource("BoxShape3D_bvuti")
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
stream = ExtResource("2_ne510")
volume_db = -10.0
[connection signal="body_entered" from="." to="." method="_on_body_entered"]

View File

@ -23,5 +23,4 @@ shape = SubResource("SphereShape3D_k5rhc")
[node name="CollisionShape3D" type="CollisionShape3D" parent="Area3D" index="0"] [node name="CollisionShape3D" type="CollisionShape3D" parent="Area3D" index="0"]
shape = SubResource("SphereShape3D_wx128") shape = SubResource("SphereShape3D_wx128")
[connection signal="body_entered" from="CollisionDetection" to="." method="_on_collision_detection_body_entered"]
[connection signal="body_entered" from="Area3D" to="." method="_on_area_3d_body_entered"] [connection signal="body_entered" from="Area3D" to="." method="_on_area_3d_body_entered"]