Compare commits

..

59 Commits

Author SHA1 Message Date
Spencer Killen 092ee29cb6
fix pause menu controller order 2023-08-20 22:40:50 -06:00
Spencer Killen 17aaf6944e
Merge branch 'master' of https://git.sjkillen.ca/sjkillen/ABGJ-23 2023-08-20 17:35:20 -06:00
Spencer Killen 475398bef7
a 2023-08-20 17:35:02 -06:00
ncusimano faa041e3b0 Merge branch 'master' of https://git.sjkillen.ca/sjkillen/ABGJ-23 2023-08-20 17:34:39 -06:00
ncusimano 00c7052bee WAHOO 2023-08-20 17:33:37 -06:00
Spencer Killen d4caed7c8d
Merge branch 'master' of https://git.sjkillen.ca/sjkillen/ABGJ-23 2023-08-20 17:27:14 -06:00
Spencer Killen f5c2d190d3
push 2023-08-20 17:26:28 -06:00
ncusimano c898f5fc10 Merge branch 'master' of https://git.sjkillen.ca/sjkillen/ABGJ-23 2023-08-20 17:26:06 -06:00
ncusimano 297a56088b Merge branch 'master' of https://git.sjkillen.ca/sjkillen/ABGJ-23 2023-08-20 17:25:56 -06:00
vengefulcartographer ed231c7ca6 pause menu 2023-08-20 17:22:02 -06:00
ncusimano 76ab245ad1 Slime sound 2023-08-20 17:21:02 -06:00
Spencer Killen cded78e677
pause 2023-08-20 17:18:44 -06:00
Spencer Killen 915d20005b
a 2023-08-20 17:12:21 -06:00
Spencer Killen 0c18478e1d
a 2023-08-20 17:01:30 -06:00
ncusimano c1693ff787 Cultist Killability 2023-08-20 16:58:05 -06:00
vengefulcartographer 70309d0949 Merge branch 'master' of https://git.sjkillen.ca/sjkillen/ABGJ-23 2023-08-20 16:54:21 -06:00
Spencer Killen 3b749fe157
a 2023-08-20 16:53:58 -06:00
Spencer Killen 9bb2929507
revert grapeman 2023-08-20 16:53:03 -06:00
Spencer Killen d82a4cc483
Merge branch 'master' of https://git.sjkillen.ca/sjkillen/ABGJ-23 2023-08-20 16:52:31 -06:00
Spencer Killen 0a95e545ce
daynight 2023-08-20 16:49:08 -06:00
vengefulcartographer db2602ae30 Merge branch 'master' of https://git.sjkillen.ca/sjkillen/ABGJ-23 2023-08-20 16:48:36 -06:00
vengefulcartographer 4611460751 title screen 2023-08-20 16:48:12 -06:00
ncusimano 7c47381d86 Spawner Added
On top of skyscraper :)
2023-08-20 16:43:13 -06:00
Spencer Killen 9712819295
fix glitched beachball 2023-08-20 16:31:27 -06:00
Spencer Killen 5f36024e8f
a 2023-08-20 16:27:51 -06:00
Spencer Killen 5894fd7826
Merge branch 'master' of https://git.sjkillen.ca/sjkillen/ABGJ-23 2023-08-20 16:25:45 -06:00
Spencer Killen f972ee5974
beach ball 2023-08-20 16:23:50 -06:00
ncusimano a16ea0cd15 Slimes Turn When Stuck :) 2023-08-20 15:43:03 -06:00
vengefulcartographer dd395a335f Merge branch 'master' of https://git.sjkillen.ca/sjkillen/ABGJ-23 2023-08-20 15:23:23 -06:00
vengefulcartographer 04ce565c1b pause menu done 2023-08-20 15:23:11 -06:00
ncusimano 6f9894ede9 Merge branch 'master' into NoahBackup-08-20-1.22PM 2023-08-20 15:03:55 -06:00
ncusimano d227d15ed3 Cultist Works! 2023-08-20 15:03:09 -06:00
ncusimano bbb160cd40 Merge branch 'master' into NoahBackup-08-20-1.22PM 2023-08-20 15:02:53 -06:00
Spencer Killen 7471d64491
Merge branch 'master' of https://git.sjkillen.ca/sjkillen/ABGJ-23 2023-08-20 15:00:57 -06:00
Spencer Killen 0ebfcb9f32
a 2023-08-20 15:00:54 -06:00
vengefulcartographer cf7d391b00 Merge branch 'master' of https://git.sjkillen.ca/sjkillen/ABGJ-23 2023-08-20 14:59:43 -06:00
vengefulcartographer 0f2f954930 pause menu 2023-08-20 14:59:32 -06:00
Spencer Killen d22b1d281d
a 2023-08-20 14:06:31 -06:00
Spencer Killen 332e9e0066
Merge branch 'master' of https://git.sjkillen.ca/sjkillen/ABGJ-23 2023-08-20 13:44:54 -06:00
Spencer Killen 0f80bc6c21
remove signal 2023-08-20 13:44:54 -06:00
vengefulcartographer a7ac6e9a66 Merge branch 'master' of https://git.sjkillen.ca/sjkillen/ABGJ-23 2023-08-20 13:44:07 -06:00
vengefulcartographer 6035ef67f2 daynight in Island 2023-08-20 13:43:47 -06:00
Spencer Killen 4aab474313
better texture 2023-08-20 13:42:35 -06:00
Spencer Killen fef587d00a
Merge branch 'master' of https://git.sjkillen.ca/sjkillen/ABGJ-23 2023-08-20 13:34:05 -06:00
vengefulcartographer 264a029cbd Merge branch 'master' of https://git.sjkillen.ca/sjkillen/ABGJ-23 2023-08-20 13:32:04 -06:00
vengefulcartographer 8c9ba03def new environment 2023-08-20 13:31:48 -06:00
Spencer Killen e8e0140a1f
Merge branch 'master' of https://git.sjkillen.ca/sjkillen/ABGJ-23 2023-08-20 13:31:12 -06:00
ncusimano 47b6c465de Villager and Cultist changes 2023-08-20 13:31:07 -06:00
Spencer Killen b95f3ea0fe
a 2023-08-20 13:30:11 -06:00
ncusimano 3bf7a73c1b Resolve Merges
Kept incoming changes
2023-08-20 13:29:27 -06:00
Spencer Killen aac237f44b
Fix colour changing 2023-08-20 13:24:04 -06:00
Spencer Killen c1cd31bc81
foostep sounds 2023-08-20 12:53:08 -06:00
Spencer Killen cc9cc3436d
Woohoo 2023-08-20 12:35:52 -06:00
Spencer Killen 3ed04bb92e
Merge branch 'master' of https://git.sjkillen.ca/sjkillen/ABGJ-23 2023-08-20 12:31:28 -06:00
Spencer Killen b4e0603e33
jostick camera 2023-08-20 12:31:24 -06:00
ncusimano d62d10e7e0 Merge branch 'master' of https://git.sjkillen.ca/sjkillen/ABGJ-23 2023-08-20 12:18:50 -06:00
ncusimano 2c5a328665 Resolve Conflict
Also has Cultist updates
2023-08-20 12:18:04 -06:00
Spencer Killen 16d31becb5
Merge branch 'master' of https://git.sjkillen.ca/sjkillen/ABGJ-23 2023-08-20 12:14:11 -06:00
Spencer Killen d411911cac
Improve walking 2023-08-20 12:13:54 -06:00
88 changed files with 2827 additions and 137 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,11 +1,9 @@
[gd_scene load_steps=7 format=3 uid="uid://cdm267rtmop75"] [gd_scene load_steps=7 format=3 uid="uid://cdm267rtmop75"]
[ext_resource type="PackedScene" uid="uid://c4s6y758n77lw" path="res://villager_shared.tscn" id="1_6uu34"]
[ext_resource type="PackedScene" uid="uid://7utef1nnena8" path="res://player.tscn" id="1_jbc4n"] [ext_resource type="PackedScene" uid="uid://7utef1nnena8" path="res://player.tscn" id="1_jbc4n"]
[ext_resource type="PackedScene" uid="uid://dl4g083w17qh1" path="res://villager.tscn" id="2_i3gws"]
[ext_resource type="PackedScene" uid="uid://e0s4phx2jiit" path="res://cultist.tscn" id="3_renxb"] [ext_resource type="PackedScene" uid="uid://e0s4phx2jiit" path="res://cultist.tscn" id="3_renxb"]
[ext_resource type="PackedScene" uid="uid://d0uw7ykhb1cx8" path="res://spawner.tscn" id="4_ib8u6"]
[sub_resource type="CylinderShape3D" id="CylinderShape3D_62oje"]
radius = 10.0
[sub_resource type="CylinderMesh" id="CylinderMesh_c2b6h"] [sub_resource type="CylinderMesh" id="CylinderMesh_c2b6h"]
top_radius = 80.23 top_radius = 80.23
@ -15,28 +13,26 @@ data = PackedVector3Array(0, 1, 80.23, 7.8639, 1, 79.8437, 0, 0.6, 64.284, 7.863
[node name="Node3D" type="Node3D"] [node name="Node3D" type="Node3D"]
[node name="Player" parent="." instance=ExtResource("1_jbc4n")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -24, 5, 40)
[node name="StaticBody3D" type="StaticBody3D" parent="."]
[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D"]
shape = SubResource("CylinderShape3D_62oje")
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."] [node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
transform = Transform3D(1, 0, 0, 0, -0.523317, 0.852138, 0, -0.852138, -0.523317, 0, 10.6239, 0) transform = Transform3D(1, 0, 0, 0, -0.523317, 0.852138, 0, -0.852138, -0.523317, 0, 10.6239, 0)
[node name="Node3D" parent="." instance=ExtResource("2_i3gws")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -22, 3, 43)
[node name="Node3D2" parent="." instance=ExtResource("3_renxb")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 29, 4, 33)
[node name="MeshInstance3D" type="MeshInstance3D" parent="."] [node name="MeshInstance3D" type="MeshInstance3D" parent="."]
mesh = SubResource("CylinderMesh_c2b6h") mesh = SubResource("CylinderMesh_c2b6h")
skeleton = NodePath("../StaticBody3D/CollisionShape3D") skeleton = NodePath("")
[node name="StaticBody3D" type="StaticBody3D" parent="MeshInstance3D"] [node name="StaticBody3D" type="StaticBody3D" parent="MeshInstance3D"]
[node name="CollisionShape3D" type="CollisionShape3D" parent="MeshInstance3D/StaticBody3D"] [node name="CollisionShape3D" type="CollisionShape3D" parent="MeshInstance3D/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_8q044") shape = SubResource("ConcavePolygonShape3D_8q044")
[node name="villager" parent="." instance=ExtResource("1_6uu34")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.28115, 0)
[node name="Cultist" parent="." instance=ExtResource("3_renxb")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.87818, 2, 0.191837)
[node name="Player" parent="." instance=ExtResource("1_jbc4n")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.140476, 0.999999, 1.27725)
[node name="Node3D" parent="." instance=ExtResource("4_ib8u6")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 3)

4
godot/Crate.gd Normal file
View File

@ -0,0 +1,4 @@
extends RigidBody3D
var is_holdable = true
var is_pushable = true

View File

@ -1,7 +1,6 @@
[gd_scene load_steps=31 format=3 uid="uid://3d51hjh2st8a"] [gd_scene load_steps=35 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,9 +22,14 @@
[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"]
[ext_resource type="PackedScene" uid="uid://ckbba1bs71tl" path="res://crate.tscn" id="28_x0lrj"]
[ext_resource type="PackedScene" path="res://spawner.tscn" id="29_etvc6"]
[ext_resource type="PackedScene" uid="uid://e0s4phx2jiit" path="res://cultist.tscn" id="30_8gvtc"]
[sub_resource type="Animation" id="Animation_jpnyu"] [sub_resource type="Animation" id="Animation_jpnyu"]
resource_name = "waves" resource_name = "waves"
@ -53,8 +57,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 +319,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 +424,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 +480,27 @@ 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")]
[node name="Crate" parent="." instance=ExtResource("28_x0lrj")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2.44712, -1)
[node name="Crate3" parent="." instance=ExtResource("28_x0lrj")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.75088, 2.39766, -4.28161)
[node name="Crate4" parent="." instance=ExtResource("28_x0lrj")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.31447, 2.55588, -2.13044)
[node name="Node3D" parent="." instance=ExtResource("29_etvc6")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.41845, 9.26863, -2.62281)
[node name="Node3D2" type="Node3D" parent="."]
[node name="Cultist" parent="." instance=ExtResource("30_8gvtc")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.10096, 2.40767, -1.07752)
[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

@ -0,0 +1,16 @@
extends Node3D
var we = [
preload("res://Level/World/world_environment.tscn"),
preload("res://Level/World/world_environment2.tscn"),
]
var current = null
func _ready():
randomize_env()
func randomize_env():
if current:
current.queue_free()
current = we[randi() % we.size()].instantiate()
add_child(current)

View File

@ -0,0 +1,43 @@
[gd_scene load_steps=4 format=3 uid="uid://6ycop5t3nra5"]
[ext_resource type="Script" path="res://Level/World/DayNightEnvironment.gd" id="1_82go6"]
[sub_resource type="Animation" id="Animation_l6y5u"]
resource_name = "DayNightCycle"
length = 300.0
loop_mode = 1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("DirectionalLight3D:rotation")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 300),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Vector3(0, 0, 0), Vector3(0, 0, 0)]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_2t5g8"]
_data = {
"DayNightCycle": SubResource("Animation_l6y5u")
}
[node name="DayNightEnvironment" type="Node3D"]
script = ExtResource("1_82go6")
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
light_energy = 0.75
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
autoplay = "DayNightCycle"
libraries = {
"": SubResource("AnimationLibrary_2t5g8")
}
[node name="ChangeWorldEnvTimer" type="Timer" parent="."]
wait_time = 60.0
autostart = true
[connection signal="timeout" from="ChangeWorldEnvTimer" to="." method="randomize_env"]

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

@ -0,0 +1,23 @@
[gd_scene load_steps=6 format=3 uid="uid://b7il746jn24fx"]
[sub_resource type="Gradient" id="Gradient_6ntap"]
colors = PackedColorArray(0, 0.447059, 0.603922, 1, 0, 0, 0, 1)
[sub_resource type="GradientTexture2D" id="GradientTexture2D_bagcs"]
gradient = SubResource("Gradient_6ntap")
fill_from = Vector2(1, 0.525641)
[sub_resource type="PhysicalSkyMaterial" id="PhysicalSkyMaterial_es06v"]
night_sky = SubResource("GradientTexture2D_bagcs")
[sub_resource type="Sky" id="Sky_qcavb"]
sky_material = SubResource("PhysicalSkyMaterial_es06v")
[sub_resource type="Environment" id="Environment_d42bf"]
background_mode = 2
background_energy_multiplier = 0.5
sky = SubResource("Sky_qcavb")
sky_rotation = Vector3(6.28319, 0, 0)
[node name="WorldEnvironment" type="WorldEnvironment"]
environment = SubResource("Environment_d42bf")

4
godot/MeshInstance3D.gd Normal file
View File

@ -0,0 +1,4 @@
extends MeshInstance3D
func _process(_delta):
visible = Global.cheating

609
godot/Models/ball.obj Normal file
View File

@ -0,0 +1,609 @@
# Blender v2.90.0 OBJ File: ''
# www.blender.org
mtllib ball.mtl
o ball
v 0.076537 0.000000 -0.184776
v 0.000000 0.076537 -0.184776
v 0.070711 0.076537 -0.170711
v 0.000000 0.200000 0.000000
v 0.029289 0.184776 -0.070711
v 0.000000 0.184776 -0.076537
v 0.000000 0.141421 -0.141421
v -0.070711 0.076537 -0.170711
v -0.054120 0.141421 -0.130656
v 0.130656 -0.076537 -0.130656
v 0.141421 0.000000 -0.141421
v 0.054120 0.184776 -0.054120
v 0.054120 0.141421 -0.130656
v 0.029289 -0.184776 -0.070711
v 0.000000 -0.200000 -0.000000
v 0.000000 -0.184776 -0.076537
v 0.000000 -0.141421 -0.141421
v 0.054120 -0.141421 -0.130656
v 0.170711 -0.076537 -0.070711
v 0.184776 0.000000 -0.076537
v 0.100000 -0.141421 -0.100000
v 0.070711 -0.076537 -0.170711
v 0.130656 0.076537 -0.130656
v 0.100000 0.141421 -0.100000
v 0.054120 -0.184776 -0.054120
v 0.130656 0.141421 -0.054120
v 0.070711 0.184776 -0.029289
v 0.184776 0.076537 0.000000
v 0.141421 0.141421 0.000000
v 0.170711 0.076537 -0.070711
v 0.070711 -0.184776 -0.029289
v 0.130656 -0.141421 -0.054120
v 0.184776 -0.076537 -0.000000
v 0.200000 0.000000 0.000000
v 0.070711 -0.184776 0.029289
v 0.141421 -0.141421 -0.000000
v 0.130656 -0.141421 0.054120
v 0.076537 -0.184776 -0.000000
v 0.076537 0.184776 0.000000
v 0.170711 -0.076537 0.070711
v 0.184776 -0.000000 0.076537
v 0.100000 -0.141421 0.100000
v 0.170711 0.076537 0.070711
v 0.130656 0.141421 0.054120
v 0.070711 0.184776 0.029289
v 0.130656 -0.076537 0.130656
v 0.141421 -0.000000 0.141421
v 0.130656 0.076537 0.130656
v 0.100000 0.141421 0.100000
v 0.076537 -0.000000 0.184776
v 0.070711 0.076537 0.170711
v 0.054120 -0.184776 0.054120
v 0.054120 0.184776 0.054120
v 0.070711 -0.076537 0.170711
v 0.029289 -0.184776 0.070711
v 0.054120 -0.141421 0.130656
v 0.000000 -0.184776 0.076537
v 0.029289 0.184776 0.070711
v 0.054120 0.141421 0.130656
v 0.000000 -0.076537 0.184776
v 0.000000 -0.000000 0.200000
v 0.000000 -0.141421 0.141421
v -0.070711 0.076537 0.170711
v 0.000000 0.076537 0.184776
v 0.000000 0.184776 0.076537
v -0.029289 -0.184776 0.070711
v 0.000000 0.141421 0.141421
v -0.054120 -0.141421 0.130656
v -0.054120 -0.184776 0.054120
v -0.029289 0.184776 0.070711
v -0.070711 -0.076537 0.170711
v -0.076537 -0.000000 0.184776
v -0.070711 0.184776 -0.029289
v -0.141421 0.141421 0.000000
v -0.076537 0.184776 0.000000
v -0.054120 0.141421 0.130656
v -0.130656 0.076537 0.130656
v -0.070711 0.184776 0.029289
v -0.054120 0.184776 0.054120
v -0.130656 -0.076537 0.130656
v -0.141421 -0.000000 0.141421
v -0.170711 -0.076537 0.070711
v -0.184776 -0.000000 0.076537
v -0.100000 0.141421 0.100000
v -0.100000 -0.141421 0.100000
v -0.070711 -0.184776 0.029289
v -0.184776 -0.076537 -0.000000
v -0.200000 0.000000 0.000000
v 0.000000 0.000000 -0.200000
v -0.170711 0.076537 0.070711
v -0.130656 0.141421 0.054120
v -0.130656 -0.141421 0.054120
v -0.076537 -0.184776 -0.000000
v -0.170711 -0.076537 -0.070711
v -0.184776 0.000000 -0.076537
v -0.184776 0.076537 0.000000
v -0.141421 -0.141421 -0.000000
v -0.130656 -0.076537 -0.130656
v -0.141421 0.000000 -0.141421
v -0.130656 -0.141421 -0.054120
v -0.170711 0.076537 -0.070711
v -0.130656 0.141421 -0.054120
v -0.070711 -0.184776 -0.029289
v -0.070711 -0.076537 -0.170711
v -0.076537 0.000000 -0.184776
v -0.100000 -0.141421 -0.100000
v -0.130656 0.076537 -0.130656
v -0.100000 0.141421 -0.100000
v -0.054120 0.184776 -0.054120
v -0.054120 -0.184776 -0.054120
v 0.000000 -0.076537 -0.184776
v -0.029289 0.184776 -0.070711
v -0.029289 -0.184776 -0.070711
v -0.054120 -0.141421 -0.130656
vt 0.687500 0.500000
vt 0.750000 0.625000
vt 0.687500 0.625000
vt 0.703125 1.000000
vt 0.687500 0.875000
vt 0.750000 0.875000
vt 0.750000 0.750000
vt 0.812500 0.625000
vt 0.812500 0.750000
vt 0.625000 0.375000
vt 0.625000 0.500000
vt 0.625000 0.875000
vt 0.687500 0.750000
vt 0.687500 0.125000
vt 0.734375 0.000000
vt 0.750000 0.125000
vt 0.750000 0.250000
vt 0.687500 0.250000
vt 0.562500 0.375000
vt 0.562500 0.500000
vt 0.625000 0.250000
vt 0.687500 0.375000
vt 0.625000 0.625000
vt 0.625000 0.750000
vt 0.625000 0.125000
vt 0.671875 0.000000
vt 0.640625 1.000000
vt 0.562500 0.750000
vt 0.562500 0.875000
vt 0.500000 0.625000
vt 0.500000 0.750000
vt 0.562500 0.625000
vt 0.562500 0.125000
vt 0.562500 0.250000
vt 0.609375 0.000000
vt 0.578125 1.000000
vt 0.500000 0.375000
vt 0.500000 0.500000
vt 0.437500 0.125000
vt 0.500000 0.250000
vt 0.437500 0.250000
vt 0.500000 0.125000
vt 0.546875 0.000000
vt 0.515625 1.000000
vt 0.500000 0.875000
vt 0.437500 0.375000
vt 0.437500 0.500000
vt 0.375000 0.250000
vt 0.437500 0.625000
vt 0.437500 0.750000
vt 0.484375 0.000000
vt 0.453124 1.000000
vt 0.437500 0.875000
vt 0.375000 0.375000
vt 0.375000 0.500000
vt 0.375000 0.625000
vt 0.375000 0.750000
vt 0.312500 0.500000
vt 0.312500 0.625000
vt 0.375000 0.125000
vt 0.421875 0.000000
vt 0.390625 1.000000
vt 0.375000 0.875000
vt 0.312500 0.375000
vt 0.312500 0.125000
vt 0.312500 0.250000
vt 0.250000 0.125000
vt 0.296875 0.000000
vt 0.359375 0.000000
vt 0.328125 1.000000
vt 0.312500 0.875000
vt 0.312500 0.750000
vt 0.250000 0.375000
vt 0.250000 0.500000
vt 0.250000 0.250000
vt 0.187500 0.625000
vt 0.250000 0.625000
vt 0.265625 1.000000
vt 0.250000 0.875000
vt 0.187500 0.125000
vt 0.234375 0.000000
vt 0.250000 0.750000
vt 0.187500 0.250000
vt 0.125000 0.125000
vt 0.171875 0.000000
vt 0.203125 1.000000
vt 0.187500 0.875000
vt 0.187500 0.375000
vt 0.187500 0.500000
vt 0.937500 0.875000
vt 1.000000 0.750000
vt 1.000000 0.875000
vt 0.187500 0.750000
vt 0.125000 0.625000
vt 0.078125 1.000000
vt 0.062500 0.875000
vt 0.125000 0.875000
vt 0.125000 0.375000
vt 0.125000 0.500000
vt 0.062500 0.375000
vt 0.062500 0.500000
vt 0.140625 1.000000
vt 0.125000 0.750000
vt 0.125000 0.250000
vt 0.062500 0.125000
vt 0.109375 0.000000
vt 0.000000 0.375000
vt 0.000000 0.500000
vt 0.750000 0.500000
vt 0.062500 0.625000
vt 0.062500 0.750000
vt 0.062500 0.250000
vt 0.000000 0.125000
vt 0.046875 0.000000
vt 0.015625 1.000000
vt 0.000000 0.875000
vt 0.937500 0.375000
vt 1.000000 0.500000
vt 0.937500 0.500000
vt 0.000000 0.625000
vt 0.000000 0.750000
vt 0.000000 0.250000
vt 0.953125 1.000000
vt 0.875000 0.375000
vt 0.875000 0.500000
vt 0.937500 0.250000
vt 1.000000 0.250000
vt 1.000000 0.375000
vt 0.937500 0.625000
vt 0.937500 0.750000
vt 0.937500 0.125000
vt 1.000000 0.625000
vt 0.984375 0.000000
vt 1.000000 0.125000
vt 0.812500 0.375000
vt 0.812500 0.500000
vt 0.875000 0.250000
vt 0.875000 0.625000
vt 0.875000 0.750000
vt 0.875000 0.875000
vt 0.875000 0.125000
vt 0.921875 0.000000
vt 0.890625 1.000000
vt 0.750000 0.375000
vt 0.812500 0.875000
vt 0.796875 0.000000
vt 0.812500 0.125000
vt 0.812500 0.250000
vt 0.859375 0.000000
vt 0.828125 1.000000
vt 0.765625 1.000000
vn 0.3827 0.0000 -0.9239
vn 0.0000 0.3744 -0.9273
vn 0.3549 0.3744 -0.8567
vn -0.0000 1.0000 0.0000
vn 0.1543 0.9152 -0.3724
vn -0.0000 0.9152 -0.4031
vn -0.0000 0.6952 -0.7189
vn -0.3549 0.3744 -0.8567
vn -0.2751 0.6952 -0.6641
vn 0.6557 -0.3744 -0.6557
vn 0.7071 0.0000 -0.7071
vn 0.2850 0.9152 -0.2850
vn 0.2751 0.6952 -0.6641
vn 0.1543 -0.9152 -0.3724
vn -0.0000 -1.0000 -0.0000
vn 0.0000 -0.9152 -0.4031
vn -0.0000 -0.6952 -0.7189
vn 0.2751 -0.6952 -0.6641
vn 0.8567 -0.3744 -0.3549
vn 0.9239 0.0000 -0.3827
vn 0.5083 -0.6952 -0.5083
vn 0.3549 -0.3744 -0.8567
vn 0.6557 0.3744 -0.6557
vn 0.5083 0.6952 -0.5083
vn 0.2850 -0.9152 -0.2850
vn 0.6641 0.6952 -0.2751
vn 0.3724 0.9152 -0.1543
vn 0.9273 0.3744 0.0000
vn 0.7189 0.6952 0.0000
vn 0.8567 0.3744 -0.3549
vn 0.3724 -0.9152 -0.1543
vn 0.6641 -0.6952 -0.2751
vn 0.9273 -0.3744 -0.0000
vn 1.0000 0.0000 -0.0000
vn 0.3724 -0.9152 0.1543
vn 0.7189 -0.6952 -0.0000
vn 0.6641 -0.6952 0.2751
vn 0.4031 -0.9152 0.0000
vn 0.4031 0.9152 0.0000
vn 0.8567 -0.3744 0.3549
vn 0.9239 0.0000 0.3827
vn 0.5083 -0.6952 0.5083
vn 0.8567 0.3744 0.3549
vn 0.6641 0.6952 0.2751
vn 0.3724 0.9152 0.1543
vn 0.6557 -0.3744 0.6557
vn 0.7071 0.0000 0.7071
vn 0.6557 0.3744 0.6557
vn 0.5083 0.6952 0.5083
vn 0.3827 -0.0000 0.9239
vn 0.3549 0.3744 0.8567
vn 0.2850 -0.9152 0.2850
vn 0.2850 0.9152 0.2850
vn 0.3549 -0.3744 0.8567
vn 0.1543 -0.9152 0.3724
vn 0.2751 -0.6952 0.6641
vn -0.0000 -0.9152 0.4031
vn 0.1543 0.9152 0.3724
vn 0.2751 0.6952 0.6641
vn 0.0000 -0.3744 0.9273
vn 0.0000 -0.0000 1.0000
vn -0.0000 -0.6952 0.7189
vn -0.3549 0.3744 0.8567
vn 0.0000 0.3744 0.9273
vn 0.0000 0.9152 0.4031
vn -0.1543 -0.9152 0.3724
vn 0.0000 0.6952 0.7189
vn -0.2751 -0.6952 0.6641
vn -0.2850 -0.9152 0.2850
vn -0.1543 0.9152 0.3724
vn -0.3549 -0.3744 0.8567
vn -0.3827 -0.0000 0.9239
vn -0.3724 0.9152 -0.1543
vn -0.7189 0.6952 0.0000
vn -0.4031 0.9152 -0.0000
vn -0.2751 0.6952 0.6641
vn -0.6557 0.3744 0.6557
vn -0.3724 0.9152 0.1543
vn -0.2850 0.9152 0.2850
vn -0.6557 -0.3744 0.6557
vn -0.7071 -0.0000 0.7071
vn -0.8567 -0.3744 0.3549
vn -0.9239 -0.0000 0.3827
vn -0.5083 0.6952 0.5083
vn -0.5083 -0.6952 0.5083
vn -0.3724 -0.9152 0.1543
vn -0.9273 -0.3744 0.0000
vn -1.0000 -0.0000 0.0000
vn -0.0000 0.0000 -1.0000
vn -0.8567 0.3744 0.3549
vn -0.6641 0.6952 0.2751
vn -0.6641 -0.6952 0.2751
vn -0.4031 -0.9152 -0.0000
vn -0.8567 -0.3744 -0.3549
vn -0.9239 0.0000 -0.3827
vn -0.9273 0.3744 0.0000
vn -0.7189 -0.6952 -0.0000
vn -0.6557 -0.3744 -0.6557
vn -0.7071 0.0000 -0.7071
vn -0.6641 -0.6952 -0.2751
vn -0.8567 0.3744 -0.3549
vn -0.6641 0.6952 -0.2751
vn -0.3724 -0.9152 -0.1543
vn -0.3549 -0.3744 -0.8567
vn -0.3827 0.0000 -0.9239
vn -0.5083 -0.6952 -0.5083
vn -0.6557 0.3744 -0.6557
vn -0.5083 0.6952 -0.5083
vn -0.2850 0.9152 -0.2850
vn -0.2850 -0.9152 -0.2850
vn -0.0000 -0.3744 -0.9273
vn -0.1543 0.9152 -0.3724
vn -0.1543 -0.9152 -0.3724
vn -0.2751 -0.6952 -0.6641
usemtl Default_OBJ
s 1
f 1/1/1 2/2/2 3/3/3
f 4/4/4 5/5/5 6/6/6
f 7/7/7 8/8/8 9/9/9
f 10/10/10 1/1/1 11/11/11
f 12/12/12 13/13/13 5/5/5
f 3/3/3 7/7/7 13/13/13
f 14/14/14 15/15/15 16/16/16
f 14/14/14 17/17/17 18/18/18
f 19/19/19 11/11/11 20/20/20
f 19/19/19 21/21/21 10/10/10
f 10/10/10 18/18/18 22/22/22
f 23/23/23 13/13/13 24/24/24
f 25/25/25 18/18/18 21/21/21
f 23/23/23 1/1/1 3/3/3
f 25/25/25 15/26/15 14/14/14
f 4/27/4 12/12/12 5/5/5
f 26/28/26 12/12/12 27/29/27
f 28/30/28 26/28/26 29/31/29
f 30/32/30 24/24/24 26/28/26
f 31/33/31 21/21/21 32/34/32
f 20/20/20 23/23/23 30/32/30
f 31/33/31 15/35/15 25/25/25
f 4/36/4 27/29/27 12/12/12
f 33/37/33 20/20/20 34/38/34
f 33/37/33 32/34/32 19/19/19
f 35/39/35 36/40/36 37/41/37
f 36/40/36 31/33/31 32/34/32
f 34/38/34 30/32/30 28/30/28
f 38/42/38 15/43/15 31/33/31
f 4/44/4 39/45/39 27/29/27
f 40/46/40 34/38/34 41/47/41
f 29/31/29 27/29/27 39/45/39
f 37/41/37 33/37/33 40/46/40
f 42/48/42 35/39/35 37/41/37
f 41/47/41 28/30/28 43/49/43
f 43/49/43 29/31/29 44/50/44
f 35/39/35 15/51/15 38/42/38
f 4/52/4 45/53/45 39/45/39
f 46/54/46 41/47/41 47/55/47
f 45/53/45 29/31/29 39/45/39
f 48/56/48 44/50/44 49/57/49
f 50/58/50 48/56/48 51/59/51
f 48/56/48 41/47/41 43/49/43
f 52/60/52 15/61/15 35/39/35
f 4/62/4 53/63/53 45/53/45
f 54/64/54 47/55/47 50/58/50
f 49/57/49 45/53/45 53/63/53
f 46/54/46 37/41/37 40/46/40
f 55/65/55 42/48/42 56/66/56
f 57/67/57 15/68/15 55/65/55
f 55/65/55 15/69/15 52/60/52
f 4/70/4 58/71/58 53/63/53
f 59/72/59 53/63/53 58/71/58
f 60/73/60 50/58/50 61/74/61
f 54/64/54 42/48/42 46/54/46
f 51/59/51 49/57/49 59/72/59
f 62/75/62 55/65/55 56/66/56
f 63/76/63 61/74/61 64/77/64
f 4/78/4 65/79/65 58/71/58
f 61/74/61 51/59/51 64/77/64
f 66/80/66 15/81/15 57/67/57
f 67/82/67 58/71/58 65/79/65
f 62/75/62 54/64/54 60/73/60
f 64/77/64 59/72/59 67/82/67
f 66/80/66 62/75/62 68/83/68
f 69/84/69 15/85/15 66/80/66
f 4/86/4 70/87/70 65/79/65
f 71/88/71 61/74/61 72/89/72
f 73/90/73 74/91/74 75/92/75
f 76/93/76 65/79/65 70/87/70
f 71/88/71 62/75/62 60/73/60
f 63/76/63 67/82/67 76/93/76
f 77/94/77 72/89/72 63/76/63
f 4/95/4 78/96/78 79/97/79
f 80/98/80 72/89/72 81/99/81
f 82/100/82 81/99/81 83/101/83
f 4/102/4 79/97/79 70/87/70
f 80/98/80 68/83/68 71/88/71
f 77/94/77 76/93/76 84/103/84
f 69/84/69 68/83/68 85/104/85
f 86/105/86 15/106/15 69/84/69
f 87/107/87 83/101/83 88/108/88
f 78/96/78 84/103/84 79/97/79
f 22/22/22 89/109/89 1/1/1
f 82/100/82 85/104/85 80/98/80
f 90/110/90 84/103/84 91/111/91
f 86/105/86 85/104/85 92/112/92
f 90/110/90 81/99/81 77/94/77
f 93/113/93 15/114/15 86/105/86
f 4/115/4 75/116/75 78/96/78
f 94/117/94 88/118/88 95/119/95
f 75/116/75 91/111/91 78/96/78
f 87/107/87 92/112/92 82/100/82
f 96/120/96 91/111/91 74/121/74
f 97/122/97 86/105/86 92/112/92
f 96/120/96 83/101/83 90/110/90
f 4/123/4 73/90/73 75/92/75
f 98/124/98 95/119/95 99/125/99
f 98/124/98 100/126/100 94/117/94
f 94/117/94 97/127/97 87/128/87
f 101/129/101 74/91/74 102/130/102
f 103/131/103 97/127/97 100/126/100
f 101/129/101 88/118/88 96/132/96
f 103/131/103 15/133/15 93/134/93
f 104/135/104 99/125/99 105/136/105
f 104/135/104 106/137/106 98/124/98
f 107/138/107 102/130/102 108/139/108
f 109/140/109 102/130/102 73/90/73
f 110/141/110 100/126/100 106/137/106
f 107/138/107 95/119/95 101/129/101
f 110/141/110 15/142/15 103/131/103
f 4/143/4 109/140/109 73/90/73
f 111/144/111 105/136/105 89/109/89
f 9/9/9 109/140/109 112/145/112
f 16/16/16 15/146/15 113/147/113
f 8/8/8 108/139/108 9/9/9
f 113/147/113 106/137/106 114/148/114
f 8/8/8 99/125/99 107/138/107
f 113/147/113 15/149/15 110/141/110
f 4/150/4 112/145/112 109/140/109
f 13/13/13 6/6/6 5/5/5
f 18/18/18 111/144/111 22/22/22
f 17/17/17 113/147/113 114/148/114
f 2/2/2 105/136/105 8/8/8
f 4/151/4 6/6/6 112/145/112
f 111/144/111 114/148/114 104/135/104
f 6/6/6 9/9/9 112/145/112
f 84/103/84 70/87/70 79/97/79
f 1/1/1 89/109/89 2/2/2
f 7/7/7 2/2/2 8/8/8
f 10/10/10 22/22/22 1/1/1
f 12/12/12 24/24/24 13/13/13
f 3/3/3 2/2/2 7/7/7
f 14/14/14 16/16/16 17/17/17
f 19/19/19 10/10/10 11/11/11
f 19/19/19 32/34/32 21/21/21
f 10/10/10 21/21/21 18/18/18
f 23/23/23 3/3/3 13/13/13
f 25/25/25 14/14/14 18/18/18
f 23/23/23 11/11/11 1/1/1
f 26/28/26 24/24/24 12/12/12
f 28/30/28 30/32/30 26/28/26
f 30/32/30 23/23/23 24/24/24
f 31/33/31 25/25/25 21/21/21
f 20/20/20 11/11/11 23/23/23
f 33/37/33 19/19/19 20/20/20
f 33/37/33 36/40/36 32/34/32
f 35/39/35 38/42/38 36/40/36
f 36/40/36 38/42/38 31/33/31
f 34/38/34 20/20/20 30/32/30
f 40/46/40 33/37/33 34/38/34
f 29/31/29 26/28/26 27/29/27
f 37/41/37 36/40/36 33/37/33
f 42/48/42 52/60/52 35/39/35
f 41/47/41 34/38/34 28/30/28
f 43/49/43 28/30/28 29/31/29
f 46/54/46 40/46/40 41/47/41
f 45/53/45 44/50/44 29/31/29
f 48/56/48 43/49/43 44/50/44
f 50/58/50 47/55/47 48/56/48
f 48/56/48 47/55/47 41/47/41
f 54/64/54 46/54/46 47/55/47
f 49/57/49 44/50/44 45/53/45
f 46/54/46 42/48/42 37/41/37
f 55/65/55 52/60/52 42/48/42
f 59/72/59 49/57/49 53/63/53
f 60/73/60 54/64/54 50/58/50
f 54/64/54 56/66/56 42/48/42
f 51/59/51 48/56/48 49/57/49
f 62/75/62 57/67/57 55/65/55
f 63/76/63 72/89/72 61/74/61
f 61/74/61 50/58/50 51/59/51
f 67/82/67 59/72/59 58/71/58
f 62/75/62 56/66/56 54/64/54
f 64/77/64 51/59/51 59/72/59
f 66/80/66 57/67/57 62/75/62
f 71/88/71 60/73/60 61/74/61
f 73/90/73 102/130/102 74/91/74
f 76/93/76 67/82/67 65/79/65
f 71/88/71 68/83/68 62/75/62
f 63/76/63 64/77/64 67/82/67
f 77/94/77 81/99/81 72/89/72
f 80/98/80 71/88/71 72/89/72
f 82/100/82 80/98/80 81/99/81
f 80/98/80 85/104/85 68/83/68
f 77/94/77 63/76/63 76/93/76
f 69/84/69 66/80/66 68/83/68
f 87/107/87 82/100/82 83/101/83
f 78/96/78 91/111/91 84/103/84
f 22/22/22 111/144/111 89/109/89
f 82/100/82 92/112/92 85/104/85
f 90/110/90 77/94/77 84/103/84
f 86/105/86 69/84/69 85/104/85
f 90/110/90 83/101/83 81/99/81
f 94/117/94 87/128/87 88/118/88
f 75/116/75 74/121/74 91/111/91
f 87/107/87 97/122/97 92/112/92
f 96/120/96 90/110/90 91/111/91
f 97/122/97 93/113/93 86/105/86
f 96/120/96 88/108/88 83/101/83
f 98/124/98 94/117/94 95/119/95
f 98/124/98 106/137/106 100/126/100
f 94/117/94 100/126/100 97/127/97
f 101/129/101 96/132/96 74/91/74
f 103/131/103 93/134/93 97/127/97
f 101/129/101 95/119/95 88/118/88
f 104/135/104 98/124/98 99/125/99
f 104/135/104 114/148/114 106/137/106
f 107/138/107 101/129/101 102/130/102
f 109/140/109 108/139/108 102/130/102
f 110/141/110 103/131/103 100/126/100
f 107/138/107 99/125/99 95/119/95
f 111/144/111 104/135/104 105/136/105
f 9/9/9 108/139/108 109/140/109
f 8/8/8 107/138/107 108/139/108
f 113/147/113 110/141/110 106/137/106
f 8/8/8 105/136/105 99/125/99
f 13/13/13 7/7/7 6/6/6
f 18/18/18 17/17/17 111/144/111
f 17/17/17 16/16/16 113/147/113
f 2/2/2 89/109/89 105/136/105
f 111/144/111 17/17/17 114/148/114
f 6/6/6 7/7/7 9/9/9
f 84/103/84 76/93/76 70/87/70

View File

@ -0,0 +1,21 @@
[remap]
importer="wavefront_obj"
importer_version=1
type="Mesh"
uid="uid://dpgqjgkd2kx4b"
path="res://.godot/imported/ball.obj-63d20b0a9ce44f76b9838ac1af5672bf.mesh"
[deps]
files=["res://.godot/imported/ball.obj-63d20b0a9ce44f76b9838ac1af5672bf.mesh"]
source_file="res://Models/ball.obj"
dest_files=["res://.godot/imported/ball.obj-63d20b0a9ce44f76b9838ac1af5672bf.mesh", "res://.godot/imported/ball.obj-63d20b0a9ce44f76b9838ac1af5672bf.mesh"]
[params]
generate_tangents=true
scale_mesh=Vector3(1, 1, 1)
offset_mesh=Vector3(0, 0, 0)
optimize_mesh=true

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

Binary file not shown.

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.0722387, 0, 0, 0.997387) 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("6c9e25")
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

@ -1,7 +1,7 @@
[gd_scene load_steps=3 format=3 uid="uid://g8vvg7c5ddkr"] [gd_scene load_steps=3 format=3 uid="uid://g8vvg7c5ddkr"]
[ext_resource type="PackedScene" uid="uid://djmky2hkbqcni" path="res://Models/rocks/rock1.glb" id="1_81161"] [ext_resource type="PackedScene" uid="uid://djmky2hkbqcni" path="res://Models/rocks/rock1.glb" id="1_81161"]
[ext_resource type="Material" uid="uid://c5u3wq66dejxt" path="res://Textures/rock.tres" id="2_iyn5h"] [ext_resource type="Material" path="res://Textures/rock.tres" id="2_iyn5h"]
[node name="rock1" instance=ExtResource("1_81161")] [node name="rock1" instance=ExtResource("1_81161")]

View File

@ -33,13 +33,13 @@ colors = Array[Color]([Color(0, 0.113725, 0.905882, 1), Color(0.592157, 0, 0.243
transform = Transform3D(0.859505, 0, -0.511128, 0, 1, 0, 0.511128, 0, 0.859505, 0, 0, 0) transform = Transform3D(0.859505, 0, -0.511128, 0, 1, 0, 0.511128, 0, 0.859505, 0, 0, 0)
[node name="Skeleton3D" parent="Armature" index="0"] [node name="Skeleton3D" parent="Armature" index="0"]
bones/1/position = Vector3(0, 0.524146, 0) bones/1/position = Vector3(0, 0.421476, 0)
bones/2/rotation = Quaternion(-0.0627444, 0.00212883, -0.213248, 0.974979) bones/2/rotation = Quaternion(-0.0627444, 0.00212883, -0.213248, 0.974979)
bones/3/rotation = Quaternion(0.100834, -0.698956, 0.0125015, 0.707911) bones/3/rotation = Quaternion(0.100834, -0.698956, 0.0125015, 0.707911)
bones/7/rotation = Quaternion(-0.159059, 2.64275e-09, 2.49063e-09, 0.987269) bones/7/rotation = Quaternion(-0.257687, 2.32309e-09, 2.75415e-09, 0.966228)
bones/8/rotation = Quaternion(0.508626, -9.69284e-10, -1.41707e-10, 0.860988) bones/8/rotation = Quaternion(0.19232, -9.0028e-10, -4.74124e-10, 0.981332)
bones/10/rotation = Quaternion(0.123797, -4.82599e-08, -1.10949e-08, 0.992308) bones/10/rotation = Quaternion(0.252279, -5.58669e-08, -5.78452e-08, 0.967654)
bones/11/rotation = Quaternion(-0.528012, 9.67252e-08, 1.19389e-07, 0.849237) bones/11/rotation = Quaternion(-0.195486, 7.54015e-08, 2.81945e-08, 0.980707)
[node name="AnimationTree" type="AnimationTree" parent="." index="2"] [node name="AnimationTree" type="AnimationTree" parent="." index="2"]
tree_root = SubResource("AnimationNodeStateMachine_prt7l") tree_root = SubResource("AnimationNodeStateMachine_prt7l")

View File

@ -1,11 +1,13 @@
extends CharacterBody3D extends CharacterBody3D
const SPEED = 0.5 const SPEED = 0.4
const JUMP_VELOCITY = 4.5 const JUMP_VELOCITY = 4.5
@export var horiz_sens = 0.25 @export var horiz_sens = 0.25
@export var vert_sens = 0.25 @export var vert_sens = 0.25
var LOWER_CAMERA_LIMIT = -60
var UPPER_CAMERA_LIMIT = -11
var target: WeakRef = weakref(null) var target: WeakRef = weakref(null)
var holding: WeakRef = weakref(null) var holding: WeakRef = weakref(null)
@ -13,29 +15,39 @@ 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(-60), deg_to_rad(-11)) $CameraMount.global_rotation.x = clampf($CameraMount.global_rotation.x, deg_to_rad(LOWER_CAMERA_LIMIT), deg_to_rad(UPPER_CAMERA_LIMIT))
func _process(_delta): func _process(_delta):
# Brings your mouse out of the window if you press escape. Add pause screen function here?
if Input.is_action_pressed("ui_cancel"):
Input.mouse_mode = Input.MOUSE_MODE_VISIBLE
var obj = holding.get_ref() var obj = holding.get_ref()
if obj: if obj:
obj.global_transform.origin = $grape_man.get_pickup_bone_location() obj.global_transform.origin = $grape_man.get_pickup_bone_location()
var event = Input.get_vector("camera_left", "camera_right", "camera_up", "camera_down") * 4
rotate_y(deg_to_rad(-event.x * horiz_sens))
$CameraMount.rotate_x(deg_to_rad(-event.y * vert_sens))
var roty = deg_to_rad(event.x * horiz_sens)
$grape_man.rotate_y(roty)
$CameraMount.global_rotation.x = clampf($CameraMount.global_rotation.x, deg_to_rad(LOWER_CAMERA_LIMIT), deg_to_rad(UPPER_CAMERA_LIMIT))
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))
$CameraMount.rotate_x(deg_to_rad(-event.relative.y * vert_sens)) $CameraMount.rotate_x(deg_to_rad(-event.relative.y * vert_sens))
var roty = deg_to_rad(event.relative.x * horiz_sens) var roty = deg_to_rad(event.relative.x * horiz_sens)
$grape_man.rotate_y(roty) $grape_man.rotate_y(roty)
$CameraMount.global_rotation.x = clampf($CameraMount.global_rotation.x, deg_to_rad(-60), deg_to_rad(-11)) $CameraMount.global_rotation.x = clampf($CameraMount.global_rotation.x, deg_to_rad(LOWER_CAMERA_LIMIT), deg_to_rad(UPPER_CAMERA_LIMIT))
if Input.is_action_just_pressed("ui_accept"): if Input.is_action_just_pressed("ui_accept"):
var obj = holding.get_ref() var obj = holding.get_ref()
@ -46,9 +58,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",
@ -101,13 +110,30 @@ func _physics_process(delta):
move_and_slide() move_and_slide()
var push = 0.1
# after calling move_and_slide()
for index in get_slide_collision_count():
var c = get_slide_collision(index)
var collision = c.get_collider()
if "is_pushable" not in collision:
continue
collision.apply_central_impulse(-c.get_normal() * push)
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)
obj.set_physics_process(true)
holding = weakref(null) holding = weakref(null)
func _on_grape_man_anim_check_grab(_position): func _on_grape_man_anim_check_grab(_position):
@ -121,6 +147,7 @@ func _on_grape_man_anim_check_grab(_position):
add_collision_exception_with(obj) add_collision_exception_with(obj)
obj.set_process(false) obj.set_process(false)
obj.set_physics_process(false)
func _on_holster_enter(body): func _on_holster_enter(body):
if target.get_ref() or holding.get_ref() or "is_holdable" not in body: if target.get_ref() or holding.get_ref() or "is_holdable" not in body:

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/Sounds/footstep.ogg (Stored with Git LFS) Normal file

Binary file not shown.

View File

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

BIN
godot/Textures/ball.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cuc1p8nq2vs6p"
path.s3tc="res://.godot/imported/ball.png-bc91096d257a7ab889f72eb03aef0a7c.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://Textures/ball.png"
dest_files=["res://.godot/imported/ball.png-bc91096d257a7ab889f72eb03aef0a7c.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

BIN
godot/Textures/blueskygradient.jpg (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://6k4ialfiwfxe"
path.s3tc="res://.godot/imported/blueskygradient.jpg-d6c6e0628914c8bb67a152e92adda07d.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://Textures/blueskygradient.jpg"
dest_files=["res://.godot/imported/blueskygradient.jpg-d6c6e0628914c8bb67a152e92adda07d.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

@ -6,7 +6,7 @@
[resource] [resource]
diffuse_mode = 3 diffuse_mode = 3
specular_mode = 1 specular_mode = 1
albedo_color = Color(0.423529, 0.619608, 0.145098, 1) albedo_color = Color(0.294118, 0.435294, 0.0980392, 1)
albedo_texture = ExtResource("1_40rrr") albedo_texture = ExtResource("1_40rrr")
normal_texture = ExtResource("1_r1qrb") normal_texture = ExtResource("1_r1qrb")
uv1_scale = Vector3(75, 75, 75) uv1_scale = Vector3(75, 75, 75)

BIN
godot/Textures/kill.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cali86gqly7e3"
path="res://.godot/imported/kill.png-e4f5f842049185427e5a508f24a44118.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Textures/kill.png"
dest_files=["res://.godot/imported/kill.png-e4f5f842049185427e5a508f24a44118.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

@ -6,7 +6,7 @@
[resource] [resource]
diffuse_mode = 3 diffuse_mode = 3
specular_mode = 1 specular_mode = 1
albedo_color = Color(0.439216, 0.552941, 0, 1) albedo_color = Color(0.192157, 0.376471, 0.156863, 1)
albedo_texture = ExtResource("1_5s240") albedo_texture = ExtResource("1_5s240")
normal_texture = ExtResource("2_blarx") normal_texture = ExtResource("2_blarx")
uv1_scale = Vector3(2, 2, 2) uv1_scale = Vector3(2, 2, 2)

BIN
godot/Textures/redo.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b5l5hur0x6nx0"
path="res://.godot/imported/redo.png-2705bf6a1fcf83551fb9c16401980fe8.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Textures/redo.png"
dest_files=["res://.godot/imported/redo.png-2705bf6a1fcf83551fb9c16401980fe8.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

5
godot/UI/CameraPivot.gd Normal file
View File

@ -0,0 +1,5 @@
extends Node3D
func _process(delta):
rotation.y += 0.05*delta

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

98
godot/UI/MenE62D.tmp Normal file
View File

@ -0,0 +1,98 @@
[gd_scene load_steps=6 format=3 uid="uid://ctginaw0hfnwu"]
[ext_resource type="Script" path="res://UI/MenuScreen.gd" id="1_pvf1f"]
[ext_resource type="Texture2D" uid="uid://dxxd258q3uomg" path="res://UI/Play.png" id="1_r8ube"]
[ext_resource type="Texture2D" uid="uid://brtraq11vg3ss" path="res://UI/People.png" id="2_wj8wl"]
[ext_resource type="Texture2D" uid="uid://6ujjdpbmqeh7" path="res://UI/Message-Question.png" id="3_f6ddc"]
[ext_resource type="Texture2D" uid="uid://cgr1apo42wg2o" path="res://UI/slimeoosoddysseytitle.png" id="4_up0xh"]
[node name="MenuScreen" type="Control"]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_pvf1f")
[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 = -272.0
offset_top = 25.0
offset_right = 282.0
offset_bottom = 173.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="PlayButton" type="Button" parent="CenterContainer/HBoxContainer"]
process_mode = 3
texture_filter = 1
layout_mode = 2
focus_neighbor_left = NodePath("../CreditsButton")
focus_neighbor_right = NodePath("../CreditsButton")
focus_next = NodePath(".")
text = " "
icon = ExtResource("1_r8ube")
flat = true
icon_alignment = 1
[node name="CreditsButton" type="Button" parent="CenterContainer/HBoxContainer"]
process_mode = 3
texture_filter = 1
layout_mode = 2
focus_neighbor_left = NodePath("../PlayButton")
focus_neighbor_right = NodePath("../PlayButton")
focus_next = NodePath("../PlayButton")
theme_override_constants/outline_size = 1
theme_override_constants/h_separation = 0
theme_override_constants/icon_max_width = 0
text = " "
icon = ExtResource("2_wj8wl")
flat = true
icon_alignment = 1
[node name="ControlsButton" type="Button" parent="CenterContainer/HBoxContainer"]
process_mode = 3
texture_filter = 1
layout_mode = 2
focus_neighbor_left = NodePath("../PlayButton")
focus_neighbor_right = NodePath("../PlayButton")
focus_next = NodePath("../PlayButton")
theme_override_constants/outline_size = 1
theme_override_constants/h_separation = 0
theme_override_constants/icon_max_width = 0
text = " "
icon = ExtResource("3_f6ddc")
flat = true
icon_alignment = 1
[node name="Title" type="Sprite2D" parent="CenterContainer"]
texture_filter = 1
position = Vector2(272, -209)
scale = Vector2(1.07022, 1.71176)
texture = ExtResource("4_up0xh")
[node name="Credits" type="Window" parent="."]
title = "Credits"
initial_position = 1
size = Vector2i(500, 500)
[node name="Controls" type="Window" parent="."]
title = "Credits"
initial_position = 1
size = Vector2i(500, 500)
visible = false
[connection signal="pressed" from="CenterContainer/HBoxContainer/PlayButton" to="." method="_on_play_button_pressed"]
[connection signal="pressed" from="CenterContainer/HBoxContainer/CreditsButton" to="." method="_on_credits_button_pressed"]
[connection signal="pressed" from="CenterContainer/HBoxContainer/ControlsButton" to="." method="_on_controls_button_pressed"]

36
godot/UI/MenuScreen.gd Normal file
View File

@ -0,0 +1,36 @@
extends Control
@onready var play_button = $CenterContainer/HBoxContainer/PlayButton
@onready var credits_button = $CenterContainer/HBoxContainer/CreditsButton
@onready var controls_button = $CenterContainer/HBoxContainer/ControlsButton
@onready var music = $"../Music"
@onready var credits = $Credits
@onready var about = $About
# Called when the node enters the scene tree for the first time.
func _ready():
play_button.grab_focus()
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
pass
func _on_play_button_pressed():
get_tree().change_scene_to_file("res://Level/Island.tscn")
func _on_credits_button_pressed():
if not credits.visible:
credits.show()
else:
credits.hide()
func _on_controls_button_pressed():
if not about.visible:
about.show()
else:
about.hide()

163
godot/UI/MenuScreen.tscn Normal file
View File

@ -0,0 +1,163 @@
[gd_scene load_steps=10 format=3 uid="uid://ctginaw0hfnwu"]
[ext_resource type="Script" path="res://UI/MenuScreen.gd" id="1_pvf1f"]
[ext_resource type="Texture2D" uid="uid://dxxd258q3uomg" path="res://UI/Play.png" id="1_r8ube"]
[ext_resource type="Texture2D" uid="uid://brtraq11vg3ss" path="res://UI/People.png" id="2_wj8wl"]
[ext_resource type="Texture2D" uid="uid://do15srmaxqmf1" path="res://UI/Question-Mark.png" id="4_8vqpy"]
[ext_resource type="Texture2D" uid="uid://cgr1apo42wg2o" path="res://UI/slimeoosoddysseytitle.png" id="4_up0xh"]
[ext_resource type="Texture2D" uid="uid://hq03cymvfxmf" path="res://UI/Message.png" id="6_50s2p"]
[ext_resource type="FontFile" uid="uid://wm2ggo0ajyms" path="res://UI/m5x7.ttf" id="7_gcmr4"]
[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_wvvfv"]
texture = ExtResource("6_50s2p")
[sub_resource type="Theme" id="Theme_v4igf"]
Panel/styles/panel = SubResource("StyleBoxTexture_wvvfv")
[node name="MenuScreen" type="Control"]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_pvf1f")
[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 = -272.0
offset_top = 25.0
offset_right = 282.0
offset_bottom = 173.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="CreditsButton" type="Button" parent="CenterContainer/HBoxContainer"]
process_mode = 3
texture_filter = 1
layout_mode = 2
focus_neighbor_left = NodePath("../ControlsButton")
focus_neighbor_right = NodePath("../PlayButton")
focus_next = NodePath("../PlayButton")
theme_override_constants/outline_size = 1
theme_override_constants/h_separation = 0
theme_override_constants/icon_max_width = 0
text = " "
icon = ExtResource("2_wj8wl")
flat = true
icon_alignment = 1
[node name="PlayButton" type="Button" parent="CenterContainer/HBoxContainer"]
process_mode = 3
texture_filter = 1
layout_mode = 2
focus_neighbor_left = NodePath("../CreditsButton")
focus_neighbor_right = NodePath("../ControlsButton")
focus_next = NodePath("../ControlsButton")
text = " "
icon = ExtResource("1_r8ube")
flat = true
icon_alignment = 1
[node name="ControlsButton" type="Button" parent="CenterContainer/HBoxContainer"]
process_mode = 3
texture_filter = 1
layout_mode = 2
focus_neighbor_left = NodePath("../PlayButton")
focus_neighbor_right = NodePath("../CreditsButton")
focus_next = NodePath("../CreditsButton")
theme_override_constants/outline_size = 1
theme_override_constants/h_separation = 0
theme_override_constants/icon_max_width = 0
text = " "
icon = ExtResource("4_8vqpy")
flat = true
icon_alignment = 1
[node name="Title" type="Sprite2D" parent="CenterContainer"]
texture_filter = 1
position = Vector2(272, -209)
scale = Vector2(1.07022, 1.71176)
texture = ExtResource("4_up0xh")
[node name="Credits" type="Panel" parent="."]
visible = false
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -224.0
offset_top = -104.0
offset_right = -24.0
offset_bottom = 96.0
grow_horizontal = 2
grow_vertical = 2
scale = Vector2(0.75, 0.75)
theme = SubResource("Theme_v4igf")
[node name="RichTextLabel" type="RichTextLabel" parent="Credits"]
texture_filter = 1
custom_minimum_size = Vector2(200, 200)
layout_mode = 0
offset_left = 8.0
offset_top = 24.0
offset_right = 208.0
offset_bottom = 224.0
theme_override_colors/default_color = Color(0, 0, 0, 1)
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_fonts/normal_font = ExtResource("7_gcmr4")
theme_override_font_sizes/normal_font_size = 32
text = "Created by dukegoobler, Noodle1234, and km__k"
scroll_active = false
autowrap_mode = 2
[node name="About" type="Panel" parent="."]
visible = false
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = 136.0
offset_top = -104.0
offset_right = 436.0
offset_bottom = 96.0
grow_horizontal = 2
grow_vertical = 2
scale = Vector2(0.75, 0.75)
theme = SubResource("Theme_v4igf")
[node name="RichTextLabel" type="RichTextLabel" parent="About"]
texture_filter = 1
custom_minimum_size = Vector2(300, 200)
layout_mode = 0
offset_left = 10.6667
offset_top = 32.0
offset_right = 310.667
offset_bottom = 232.0
theme_override_colors/default_color = Color(0, 0, 0, 1)
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_fonts/normal_font = ExtResource("7_gcmr4")
theme_override_font_sizes/normal_font_size = 32
text = "> Walk with WASD
> Mouse to look around
> Space to pick up slimes
> E or 1 to make sounds "
autowrap_mode = 1
[connection signal="pressed" from="CenterContainer/HBoxContainer/CreditsButton" to="." method="_on_credits_button_pressed"]
[connection signal="pressed" from="CenterContainer/HBoxContainer/PlayButton" to="." method="_on_play_button_pressed"]
[connection signal="pressed" from="CenterContainer/HBoxContainer/ControlsButton" to="." method="_on_controls_button_pressed"]

BIN
godot/UI/Message-Question.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://6ujjdpbmqeh7"
path="res://.godot/imported/Message-Question.png-0b2c6b93f3338edf4c52bae65d6a880b.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://UI/Message-Question.png"
dest_files=["res://.godot/imported/Message-Question.png-0b2c6b93f3338edf4c52bae65d6a880b.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/Message.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://hq03cymvfxmf"
path="res://.godot/imported/Message.png-91ae7b6af67e24426afd6ff1277e916b.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://UI/Message.png"
dest_files=["res://.godot/imported/Message.png-91ae7b6af67e24426afd6ff1277e916b.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

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

@ -0,0 +1,40 @@
extends Control
@onready var resume_button = $CenterContainer/HBoxContainer/ResumeButton
@onready var quit_button = $CenterContainer/HBoxContainer/QuitButton
func _input(event):
if Input.is_action_just_pressed("Pause"):
toggle()
func toggle():
if self.visible:
unpause()
else:
pause()
func unpause():
self.hide()
get_tree().paused = false
Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED)
func pause():
self.show()
resume_button.grab_focus()
get_tree().paused = true
Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE)
func quit():
get_tree().quit()
func _on_kill_pressed():
Global.cheating = true
toggle()
func _on_restart_pressed():
toggle()
get_tree().reload_current_scene()

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

@ -0,0 +1,84 @@
[gd_scene load_steps=6 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"]
[ext_resource type="Texture2D" uid="uid://b5l5hur0x6nx0" path="res://Textures/redo.png" id="3_wl7bl"]
[ext_resource type="Texture2D" uid="uid://cali86gqly7e3" path="res://Textures/kill.png" id="4_cr4ot"]
[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
texture_filter = 1
layout_mode = 2
text = " "
icon = ExtResource("1_c4do0")
flat = true
icon_alignment = 1
[node name="Restart" type="Button" parent="CenterContainer/HBoxContainer"]
layout_mode = 2
icon = ExtResource("3_wl7bl")
flat = true
[node name="Kill" type="Button" parent="CenterContainer/HBoxContainer"]
layout_mode = 2
icon = ExtResource("4_cr4ot")
flat = true
[node name="QuitButton" type="Button" parent="CenterContainer/HBoxContainer"]
process_mode = 3
texture_filter = 1
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/Restart" to="." method="_on_restart_pressed"]
[connection signal="pressed" from="CenterContainer/HBoxContainer/Kill" to="." method="_on_kill_pressed"]
[connection signal="pressed" from="CenterContainer/HBoxContainer/QuitButton" to="." method="quit"]

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

Binary file not shown.

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://brtraq11vg3ss"
path="res://.godot/imported/People.png-368831bad97ddb6ee959f97423dc0c53.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://UI/People.png"
dest_files=["res://.godot/imported/People.png-368831bad97ddb6ee959f97423dc0c53.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/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

BIN
godot/UI/Question-Mark.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://do15srmaxqmf1"
path="res://.godot/imported/Question-Mark.png-6e5531b3ba54338074d0c2952c8650f7.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://UI/Question-Mark.png"
dest_files=["res://.godot/imported/Question-Mark.png-6e5531b3ba54338074d0c2952c8650f7.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

396
godot/UI/TitleScreen.tscn Normal file
View File

@ -0,0 +1,396 @@
[gd_scene load_steps=28 format=3 uid="uid://c28il3uk7tfrf"]
[ext_resource type="PackedScene" uid="uid://d2d4uv7o5gx5p" path="res://Level/World/screen_shader.tscn" id="1_xqpgu"]
[ext_resource type="PackedScene" uid="uid://difi2tur2j4dg" path="res://Models/island.tscn" id="2_d5313"]
[ext_resource type="PackedScene" uid="uid://ctbyl0qbks4k6" path="res://Models/ocean.tscn" id="3_2sqc0"]
[ext_resource type="PackedScene" uid="uid://d3ccrfjpg4hbv" path="res://Models/palm_curved.tscn" id="4_3xswa"]
[ext_resource type="PackedScene" uid="uid://c1n2lfcn4rkx7" path="res://Models/palm_default.tscn" id="5_lsdpk"]
[ext_resource type="PackedScene" uid="uid://hg1yr5rnxd47" path="res://Models/palm_young.tscn" id="6_akh0r"]
[ext_resource type="PackedScene" uid="uid://g8vvg7c5ddkr" path="res://Models/rocks/rock_1.tscn" id="7_ts6ny"]
[ext_resource type="PackedScene" uid="uid://bjafsu0utvm0g" path="res://Models/rocks/rock_2.tscn" id="8_6hc0k"]
[ext_resource type="PackedScene" uid="uid://bf6bbqbaeh21y" path="res://Models/rocks/rock_3.tscn" id="9_ro8nl"]
[ext_resource type="PackedScene" uid="uid://ce7jbp7f55cro" path="res://Models/buildings/building_1.tscn" id="10_ubjwb"]
[ext_resource type="PackedScene" uid="uid://cx44bjuxlhq06" path="res://Models/buildings/building_2.tscn" id="11_wkvwd"]
[ext_resource type="PackedScene" uid="uid://bm65tvb4irjqw" path="res://Models/buildings/building_3.tscn" id="12_w2pdy"]
[ext_resource type="PackedScene" uid="uid://tky3cco2k7v7" path="res://Models/buildings/building_4.tscn" id="13_p1gk0"]
[ext_resource type="PackedScene" uid="uid://dhrnbubumgi5h" path="res://Models/buildings/buildingruined.tscn" id="14_ftwxe"]
[ext_resource type="PackedScene" uid="uid://bj8le45u845v3" path="res://Models/beach_decor/floatie.tscn" id="15_p0hyy"]
[ext_resource type="PackedScene" uid="uid://dvpank15vkvtv" path="res://Models/beach_decor/parsol.tscn" id="16_vi1hx"]
[ext_resource type="PackedScene" uid="uid://b3aus2kigf8xt" path="res://Models/beach_decor/cooler.tscn" id="17_fobx6"]
[ext_resource type="PackedScene" uid="uid://bw3k2c75qavce" path="res://Models/beach_decor/bucket.tscn" id="18_il2af"]
[ext_resource type="PackedScene" uid="uid://g4gmc0pwlak1" path="res://Models/buildings/fence.tscn" id="19_f7rt2"]
[ext_resource type="Script" path="res://UI/CameraPivot.gd" id="20_3o1qn"]
[ext_resource type="PackedScene" uid="uid://6ycop5t3nra5" path="res://Level/World/DayNightEnvironment.tscn" id="21_jtve5"]
[ext_resource type="PackedScene" uid="uid://c4s6y758n77lw" path="res://villager_shared.tscn" id="22_5lli5"]
[ext_resource type="PackedScene" path="res://color_cube.tscn" id="23_knnwt"]
[ext_resource type="PackedScene" uid="uid://cft26nug7kyqb" path="res://ambient_light_1.tscn" id="24_c8rh7"]
[ext_resource type="AudioStream" uid="uid://mvyk5xpf0f55" path="res://Sounds/beachquiet.ogg" id="25_wol8t"]
[ext_resource type="Script" path="res://Level/Music.gd" id="26_dtjny"]
[ext_resource type="PackedScene" uid="uid://ctginaw0hfnwu" path="res://UI/MenuScreen.tscn" id="27_me1j8"]
[node name="World" type="Node3D"]
[node name="ScreenShader" parent="." instance=ExtResource("1_xqpgu")]
[node name="island" parent="." instance=ExtResource("2_d5313")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
[node name="ocean" parent="." instance=ExtResource("3_2sqc0")]
transform = Transform3D(1.96278, 0, 0, 0, 1.96278, 0, 0, 0, 1.96278, 0, 1.6366, 0)
[node name="Decorations" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
[node name="nature" type="Node3D" parent="Decorations"]
[node name="PalmCurved" parent="Decorations/nature" instance=ExtResource("4_3xswa")]
transform = Transform3D(0.0166766, 0, 0, 0, 0.0166766, 0, 0, 0, 0.0166766, 2.60201, 1.38633, -0.419671)
[node name="PalmCurved2" parent="Decorations/nature" instance=ExtResource("4_3xswa")]
transform = Transform3D(0.0206421, 0, 0, 0, 0.0206421, 0, 0, 0, 0.0206421, 1.60311, 1.38633, -2.78547)
[node name="PalmCurved3" parent="Decorations/nature" instance=ExtResource("4_3xswa")]
transform = Transform3D(0.0228198, -0.00350905, 0.0182581, 0.00447368, 0.029093, 0, -0.018046, 0.00277496, 0.0230881, 1.60311, 1.38633, -3.05434)
[node name="PalmDefault" parent="Decorations/nature" instance=ExtResource("5_lsdpk")]
transform = Transform3D(0.0285645, 0, 0, 0, 0.0285645, 0, 0, 0, 0.0285645, 1.58539, 1.19143, 0.741446)
[node name="PalmDefault2" parent="Decorations/nature" instance=ExtResource("5_lsdpk")]
transform = Transform3D(0.0285645, 0, 0, 0, 0.0285645, 0, 0, 0, 0.0285645, 2.54841, 1.33006, -0.654728)
[node name="PalmCurved4" parent="Decorations/nature" instance=ExtResource("4_3xswa")]
transform = Transform3D(-0.0165298, 0, -0.0022076, 0, 0.0166766, 0, 0.0022076, 0, -0.0165298, -2.92791, 1.29787, -2.21588)
[node name="PalmDefault4" parent="Decorations/nature" instance=ExtResource("5_lsdpk")]
transform = Transform3D(-0.0283131, 0, -0.00378129, 0, 0.0285645, 0, 0.00378129, 0, -0.0283131, -2.84367, 1.2416, -1.98999)
[node name="PalmDefault3" parent="Decorations/nature" instance=ExtResource("5_lsdpk")]
transform = Transform3D(0.0357832, 0, 0, 0, 0.0357832, 0, 0, 0, 0.0357832, 1.57703, 1.36549, -3.01082)
[node name="PalmYoung" parent="Decorations/nature" instance=ExtResource("6_akh0r")]
transform = Transform3D(0.0328739, 0, 0, 0, 0.0328739, 0, 0, 0, 0.0328739, 0.0679206, 1.38939, 0.60797)
[node name="PalmYoung2" parent="Decorations/nature" instance=ExtResource("6_akh0r")]
transform = Transform3D(0.0324601, 0, -0.00519927, -0.000382867, 0.0327846, -0.00239032, 0.00518516, 0.00242079, 0.032372, 1.36351, 1.17911, 0.610679)
[node name="PalmYoung3" parent="Decorations/nature" instance=ExtResource("6_akh0r")]
transform = Transform3D(0.0247079, -4.21649e-12, -0.00395757, -0.00112831, 0.0239843, -0.0070443, 0.00379331, 0.00713409, 0.0236825, 1.68554, 1.21103, 0.610679)
[node name="PalmDefault5" parent="Decorations/nature" instance=ExtResource("5_lsdpk")]
transform = Transform3D(0.0105791, -0.0084015, -0.025168, 0.00325558, 0.027301, -0.00774509, 0.0263328, 0, 0.0110687, -0.427893, 1.9423, -2.64889)
[node name="PalmYoung4" parent="Decorations/nature" instance=ExtResource("6_akh0r")]
transform = Transform3D(0.00756592, -0.0117757, -0.0297453, 0.00192772, 0.0306781, -0.0116546, 0.0319333, 0.000938053, 0.00775109, -0.391226, 1.9407, -2.90411)
[node name="PalmYoung5" parent="Decorations/nature" instance=ExtResource("6_akh0r")]
transform = Transform3D(0.00614041, -0.0133402, -0.0202603, 0.000709091, 0.0209891, -0.0136051, 0.0242474, 0.00276446, 0.00552858, -0.293324, 2.04682, -2.60724)
[node name="PalmDefault6" parent="Decorations/nature" instance=ExtResource("5_lsdpk")]
transform = Transform3D(0.0378488, 0, 0, 0, 0.0378488, 0, 0, 0, 0.0378488, -2.78499, 0.880813, -5.32234)
[node name="PalmYoung6" parent="Decorations/nature" instance=ExtResource("6_akh0r")]
transform = Transform3D(0.0324601, 0, -0.00519927, -0.000382867, 0.0327846, -0.00239032, 0.00518516, 0.00242079, 0.032372, -2.92514, 0.929941, -5.44034)
[node name="PalmYoung7" parent="Decorations/nature" instance=ExtResource("6_akh0r")]
transform = Transform3D(0.0247079, -4.21649e-12, -0.00395757, -0.00112831, 0.0239843, -0.0070443, 0.00379331, 0.00713409, 0.0236825, -2.48546, 1.27716, -5.5655)
[node name="rock1" parent="Decorations/nature" instance=ExtResource("7_ts6ny")]
transform = Transform3D(2.22588, -0.121134, 0, 0.121134, 2.22588, 0, 0, 0, 2.22917, 1.5143, 1.55265, -0.92903)
[node name="rock2" parent="Decorations/nature" instance=ExtResource("8_6hc0k")]
transform = Transform3D(0.691597, 0, 2.18402, 0, 2.29091, 0, -2.18402, 0, 0.691597, -2.49043, 1.75613, -2.80585)
[node name="rock4" parent="Decorations/nature" instance=ExtResource("8_6hc0k")]
transform = Transform3D(1.07799, 0, -2.02144, 0, 2.29091, 0, 2.02144, 0, 1.07799, 2.91299, 1.48205, -2.24697)
[node name="rock3" parent="Decorations/nature" instance=ExtResource("9_ro8nl")]
transform = Transform3D(1.34711, 0, -1.03681, 0, 1.69991, 0, 1.03681, 0, 1.34711, -0.627084, 1.6587, -0.745724)
[node name="rock5" parent="Decorations/nature" instance=ExtResource("9_ro8nl")]
transform = Transform3D(2.17971, 0, 1.18206, 0, 2.4796, 0, -1.18206, 0, 2.17971, -2.78722, 1.02155, -5.94306)
[node name="buildings" type="Node3D" parent="Decorations"]
[node name="buildingtall" parent="Decorations/buildings" instance=ExtResource("10_ubjwb")]
transform = Transform3D(21.8862, 0, 0, 0, 21.8862, 0, 0, 0, 21.8862, -4.3809, 2.55474, 2.89074)
[node name="buildingtall2" parent="Decorations/buildings" instance=ExtResource("10_ubjwb")]
transform = Transform3D(13.5064, 0, 0, 0, 13.5064, 0, 0, 0, 13.5064, -1.47841, 2.55474, -12.1844)
[node name="buildingtall3" parent="Decorations/buildings" instance=ExtResource("10_ubjwb")]
transform = Transform3D(10.4606, 0, 0, 0, 10.4606, 0, 0, 0, 10.4606, 5.31898, 2.55474, -8.06938)
[node name="buildingtall5" parent="Decorations/buildings" instance=ExtResource("10_ubjwb")]
transform = Transform3D(-0.0729599, 0, 21.8861, 0, 21.8862, 0, -21.8861, 0, -0.0729599, 12.1925, 2.55474, -11.372)
[node name="buildingtall6" parent="Decorations/buildings" instance=ExtResource("10_ubjwb")]
transform = Transform3D(-0.0450251, 0, 13.5063, 0, 13.5064, 0, -13.5063, 0, -0.0450251, -2.89216, 2.55474, -14.2242)
[node name="buildingtall7" parent="Decorations/buildings" instance=ExtResource("10_ubjwb")]
transform = Transform3D(-0.0348714, 0, 10.4605, 0, 10.4606, 0, -10.4605, 0, -0.0348714, 1.20015, 2.55474, -21.0353)
[node name="buildingtall4" parent="Decorations/buildings" instance=ExtResource("10_ubjwb")]
transform = Transform3D(10.4606, 0, 0, 0, 10.4606, 0, 0, 0, 10.4606, 8.3496, 2.55474, 5.62082)
[node name="buildingdark" parent="Decorations/buildings" instance=ExtResource("11_wkvwd")]
transform = Transform3D(4.44687, 0, 0, 0, 4.44687, 0, 0, 0, 4.44687, -4.40636, 1.95165, 3.4984)
[node name="buildingdark4" parent="Decorations/buildings" instance=ExtResource("11_wkvwd")]
transform = Transform3D(6.78288, 0, 0, 0, 6.78288, 0, 0, 0, 6.78288, -6.16993, 1.95165, -3.65367)
[node name="buildingtall8" parent="Decorations/buildings" instance=ExtResource("10_ubjwb")]
transform = Transform3D(-0.0116848, 0, 10.4606, 0, 10.4606, 0, -10.4606, 0, -0.0116848, -14.3399, 2.55474, -17.0464)
[node name="buildingtall9" parent="Decorations/buildings" instance=ExtResource("10_ubjwb")]
transform = Transform3D(-13.5063, 0, -0.0601121, 0, 13.5064, 0, 0.0601121, 0, -13.5063, -20.4855, 2.55474, -8.82839)
[node name="buildingdark8" parent="Decorations/buildings" instance=ExtResource("11_wkvwd")]
transform = Transform3D(-0.00757671, 0, 6.78287, 0, 6.78288, 0, -6.78287, 0, -0.00757671, -9.91133, 1.95165, -5.56244)
[node name="buildingdark2" parent="Decorations/buildings" instance=ExtResource("11_wkvwd")]
transform = Transform3D(4.44687, 0, 0, 0, 4.44687, 0, 0, 0, 4.44687, 6.77348, 1.95165, 3.4984)
[node name="buildingdark3" parent="Decorations/buildings" instance=ExtResource("11_wkvwd")]
transform = Transform3D(4.44687, 0, 0, 0, 4.44687, 0, 0, 0, 4.44687, 5.32956, 1.95165, 3.4984)
[node name="buildingdark5" parent="Decorations/buildings" instance=ExtResource("11_wkvwd")]
transform = Transform3D(7.67301, 0, 0, 0, 7.67301, 0, 0, 0, 7.67301, -0.410835, 2.81886, 6.63391)
[node name="buildinggray" parent="Decorations/buildings" instance=ExtResource("12_w2pdy")]
transform = Transform3D(6.28093, 0, 0, 0, 6.28093, 0, 0, 0, 6.28093, 8.30197, 1.03036, -1.61307)
[node name="buildinggray2" parent="Decorations/buildings" instance=ExtResource("12_w2pdy")]
transform = Transform3D(6.28093, 0, 0, 0, 6.28093, 0, 0, 0, 6.28093, 8.30197, 1.03036, -3.69042)
[node name="buildinggray3" parent="Decorations/buildings" instance=ExtResource("12_w2pdy")]
transform = Transform3D(6.28093, 0, 0, 0, 6.28093, 0, 0, 0, 6.28093, 8.30197, 1.03036, -10.8574)
[node name="buildingshort" parent="Decorations/buildings" instance=ExtResource("13_p1gk0")]
transform = Transform3D(4.16771, 0, 0, 0, 4.16771, 0, 0, 0, 4.16771, -0.459043, 1.40556, 3.90663)
[node name="buildingshort3" parent="Decorations/buildings" instance=ExtResource("13_p1gk0")]
transform = Transform3D(4.57392, 0, 0, 0, 4.57392, 0, 0, 0, 4.57392, -6.12576, 1.40556, -10.1037)
[node name="buildingdark6" parent="Decorations/buildings" instance=ExtResource("11_wkvwd")]
transform = Transform3D(-0.0169875, 0, -6.71246, 0, 6.71248, 0, 6.71246, 0, -0.0169875, -4.48605, 2.0444, 15.7302)
[node name="buildingdark7" parent="Decorations/buildings" instance=ExtResource("11_wkvwd")]
transform = Transform3D(-0.0259113, 0, -10.2386, 0, 10.2386, 0, 10.2386, 0, -0.0259113, 6.31659, 2.0444, 13.0954)
[node name="buildingshort6" parent="Decorations/buildings" instance=ExtResource("13_p1gk0")]
transform = Transform3D(-0.0174728, 0, -6.90423, 0, 6.90426, 0, 6.90423, 0, -0.0174728, 16.0526, 1.22007, 13.1868)
[node name="buildingshort2" parent="Decorations/buildings" instance=ExtResource("13_p1gk0")]
transform = Transform3D(4.16771, 0, 0, 0, 4.16771, 0, 0, 0, 4.16771, 1.65087, 1.40556, 3.90663)
[node name="buildingshort4" parent="Decorations/buildings" instance=ExtResource("13_p1gk0")]
transform = Transform3D(4.02251, 0, 0, 0, 4.02251, 0, 0, 0, 4.02251, 1.64013, 1.40556, -9.83171)
[node name="buildingshort5" parent="Decorations/buildings" instance=ExtResource("13_p1gk0")]
transform = Transform3D(4.02251, 0, 0, 0, 4.02251, 0, 0, 0, 4.02251, 3.67653, 1.40556, -9.83171)
[node name="buildingruined" parent="Decorations/buildings" instance=ExtResource("14_ftwxe")]
transform = Transform3D(3, 0, 0, 0, 7, 0, 0, 0, 3, 0.264704, 3.59073, -4.06142)
[node name="beach items" type="Node3D" parent="Decorations"]
[node name="Floatie" parent="Decorations/beach items" instance=ExtResource("15_p0hyy")]
transform = Transform3D(0.15, 0, 0, 0, 0.15, 0, 0, 0, 0.15, -0.784158, 0.853456, 2.16031)
[node name="Floatie2" parent="Decorations/beach items" instance=ExtResource("15_p0hyy")]
transform = Transform3D(0.142475, -0.0469124, 0, 0.0469124, 0.142475, 0, 0, 0, 0.15, -3.06407, 0.899973, -0.715843)
[node name="Floatie3" parent="Decorations/beach items" instance=ExtResource("15_p0hyy")]
transform = Transform3D(0.130141, 0.074587, 0, -0.074587, 0.130141, 0, 0, 0, 0.15, 3.48612, 0.899973, -0.715843)
[node name="Floatie4" parent="Decorations/beach items" instance=ExtResource("15_p0hyy")]
transform = Transform3D(0.130141, 0.074587, 0, -0.074587, 0.130141, 0, 0, 0, 0.15, 0.886782, 1.39103, -0.739674)
[node name="Parsol" parent="Decorations/beach items" instance=ExtResource("16_vi1hx")]
transform = Transform3D(0.15, 0, 0, 0, 0.15, 0, 0, 0, 0.15, -1.66573, 0.876208, 1.05714)
[node name="Parsol4" parent="Decorations/beach items" instance=ExtResource("16_vi1hx")]
transform = Transform3D(-0.0239309, 0.0261311, -0.145755, 0.020213, 0.14684, 0.023007, 0.146693, -0.0159705, -0.0269481, 1.76494, 1.33168, -0.229817)
[node name="Parsol5" parent="Decorations/beach items" instance=ExtResource("16_vi1hx")]
transform = Transform3D(-0.0239309, 0.0261311, -0.145755, 0.020213, 0.14684, 0.023007, 0.146693, -0.0159705, -0.0269481, 2.32692, 1.57535, -2.17909)
[node name="Parsol2" parent="Decorations/beach items" instance=ExtResource("16_vi1hx")]
transform = Transform3D(0.1347, -6.66134e-17, 0.0660003, -0.0146604, 0.146253, 0.0299204, -0.0643514, -0.0333191, 0.131334, -1.14782, 1.47649, -0.558166)
[node name="Parsol3" parent="Decorations/beach items" instance=ExtResource("16_vi1hx")]
transform = Transform3D(0.134699, 1.78109e-09, 0.0660003, 0.0272818, 0.136585, -0.0556792, -0.0600977, 0.0620038, 0.122653, -1.99932, 1.60507, -2.17045)
[node name="Cooler" parent="Decorations/beach items" instance=ExtResource("17_fobx6")]
transform = Transform3D(0.120432, 0, 0.0894211, 0, 0.15, 0, -0.0894211, 0, 0.120432, 0.152196, 1.35823, -1.06364)
[node name="Cooler3" parent="Decorations/beach items" instance=ExtResource("17_fobx6")]
transform = Transform3D(0.148429, 0.0216508, 0, -0.0216154, 0.148186, -0.00857972, -0.00123839, 0.00848987, 0.149754, 1.4826, 1.19789, 0.782173)
[node name="Cooler2" parent="Decorations/beach items" instance=ExtResource("17_fobx6")]
transform = Transform3D(0.0773985, -0.0174174, -0.127303, -0.0231678, 0.144288, -0.0338269, 0.126383, 0.0371166, 0.071761, -2.22704, 1.55195, -2.24528)
[node name="Bucket" parent="Decorations/beach items" instance=ExtResource("18_il2af")]
transform = Transform3D(0.15, 0, 0, 0, 0.15, 0, 0, 0, 0.15, 0.0735223, 1.38544, -0.541391)
[node name="slimepen" type="Node3D" parent="Decorations"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.406997, 0.0234586, 0.519028)
[node name="fence" parent="Decorations/slimepen" instance=ExtResource("19_f7rt2")]
transform = Transform3D(0.75, 0, 0, 0, 1.8, 0, 0, 0, 1.8, -0.193081, 1.39007, -1.43506)
[node name="fence2" parent="Decorations/slimepen" instance=ExtResource("19_f7rt2")]
transform = Transform3D(-6.55671e-08, 0, 1.5, 0, 1.5, 0, -1.5, 0, -6.55671e-08, 0, 1.40507, -1.34639)
[node name="fence3" parent="Decorations/slimepen" instance=ExtResource("19_f7rt2")]
transform = Transform3D(-6.55671e-08, 0, -1.5, 0, 1.5, 0, 1.5, 0, -6.55671e-08, 0, 1.40507, -1.34639)
[node name="fence4" parent="Decorations/slimepen" instance=ExtResource("19_f7rt2")]
transform = Transform3D(1.5, 0, 0, 0, 1.5, 0, 0, 0, 1.5, 0, 1.40507, -2.10425)
[node name="CameraPivot" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3.38941, -1.81479)
script = ExtResource("20_3o1qn")
[node name="Camera3D" type="Camera3D" parent="CameraPivot"]
transform = Transform3D(1, 0, 0, 0, 0.75591, 0.654675, 0, -0.654675, 0.75591, 0, 1.8939, 4.94935)
[node name="DayNightEnvironment" parent="." instance=ExtResource("21_jtve5")]
[node name="villager" parent="." instance=ExtResource("22_5lli5")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.32051, 2.42874, -0.151928)
[node name="villager2" parent="." instance=ExtResource("22_5lli5")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.344183, 2.49657, 0.497255)
[node name="villager3" parent="." instance=ExtResource("22_5lli5")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.1756, 2.30817, -0.040845)
[node name="villager4" parent="." instance=ExtResource("22_5lli5")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.13518, 2.24888, -4.00956)
[node name="villager5" parent="." instance=ExtResource("22_5lli5")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.124053, 2.37507, -4.54257)
[node name="villager6" parent="." instance=ExtResource("22_5lli5")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0673849, 3.01779, -4.0846)
[node name="MeshInstance3D" parent="." instance=ExtResource("23_knnwt")]
transform = Transform3D(0.00734817, 0, -0.0494571, 0, 0.05, 0, 0.0494571, 0, 0.00734817, -1.23595, 2.41994, -1.22155)
[node name="MeshInstance3D5" parent="." instance=ExtResource("23_knnwt")]
transform = Transform3D(0.00734817, 0, -0.0494571, 0, 0.05, 0, 0.0494571, 0, 0.00734817, -2.01716, 2.35204, -3.86729)
[node name="MeshInstance3D4" parent="." instance=ExtResource("23_knnwt")]
transform = Transform3D(0.0499974, 0, 0.000513115, 0, 0.05, 0, -0.000513115, 0, 0.0499974, 0.454694, 2.38629, -0.394798)
[node name="MeshInstance3D2" parent="." instance=ExtResource("23_knnwt")]
transform = Transform3D(0.607958, 0, -0.793969, 0, 1, 0, 0.793969, 0, 0.607958, 9.95052, 2.51, 0.423212)
[node name="MeshInstance3D3" parent="." instance=ExtResource("23_knnwt")]
transform = Transform3D(1, 0, 0, 0, 0.93516, 0.354226, 0, -0.354226, 0.93516, -1.96412, 2.47836, -3.94085)
[node name="villager7" parent="." instance=ExtResource("22_5lli5")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.33509, 2.39757, -4.24071)
[node name="villager8" parent="." instance=ExtResource("22_5lli5")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.31916, 2.22662, -3.08429)
[node name="villager9" parent="." instance=ExtResource("22_5lli5")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.57973, 2.33972, -3.67175)
[node name="villager10" parent="." instance=ExtResource("22_5lli5")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.91611, 2.37549, -1.0799)
[node name="villager11" parent="." instance=ExtResource("22_5lli5")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.643094, 2.19164, 1.15459)
[node name="villager12" parent="." instance=ExtResource("22_5lli5")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.982957, 2.26155, 0.763667)
[node name="villager13" parent="." instance=ExtResource("22_5lli5")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.33971, 2.12543, 0.623835)
[node name="villager14" parent="." instance=ExtResource("22_5lli5")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.11141, 2.26718, 0.608947)
[node name="villager15" parent="." instance=ExtResource("22_5lli5")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.01736, 2.38815, -1.81019)
[node name="villager16" parent="." instance=ExtResource("22_5lli5")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.89617, 2.21949, -3.20033)
[node name="villager17" parent="." instance=ExtResource("22_5lli5")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.20015, 2.4323, -3.35734)
[node name="villager18" parent="." instance=ExtResource("22_5lli5")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.54584, 2.33609, -4.4881)
[node name="villager19" parent="." instance=ExtResource("22_5lli5")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.709331, 2.50856, -1.84133)
[node name="villager20" parent="." instance=ExtResource("22_5lli5")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.75547, 2.33257, -1.63179)
[node name="villager21" parent="." instance=ExtResource("22_5lli5")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.43468, 2.35865, -0.0161896)
[node name="villager22" parent="." instance=ExtResource("22_5lli5")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.348403, 2.35328, -0.838555)
[node name="villager23" parent="." instance=ExtResource("22_5lli5")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.743449, 2.39485, -1.09457)
[node name="villager24" parent="." instance=ExtResource("22_5lli5")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.11439, 2.14828, -1.28646)
[node name="OmniLight3D" parent="." instance=ExtResource("24_c8rh7")]
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("24_c8rh7")]
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("24_c8rh7")]
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("24_c8rh7")]
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("24_c8rh7")]
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("24_c8rh7")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.19657, 2.76902, -1.46035)
light_energy = 0.1
[node name="Ambiance" type="AudioStreamPlayer" parent="."]
process_mode = 3
stream = ExtResource("25_wol8t")
volume_db = 7.0
autoplay = true
[node name="Music" type="AudioStreamPlayer" parent="."]
process_mode = 3
volume_db = -5.0
script = ExtResource("26_dtjny")
[node name="Transition" type="Timer" parent="Music"]
one_shot = true
[node name="Tween" type="Timer" parent="Music"]
one_shot = true
[node name="MenuScreen" parent="." instance=ExtResource("27_me1j8")]
offset_top = 62.0
offset_bottom = 62.0
size_flags_horizontal = 4
size_flags_vertical = 4
[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/Tween" to="Music" method="_on_tween_timer_timeout"]

BIN
godot/UI/m5x7.ttf Normal file

Binary file not shown.

33
godot/UI/m5x7.ttf.import Normal file
View File

@ -0,0 +1,33 @@
[remap]
importer="font_data_dynamic"
type="FontFile"
uid="uid://wm2ggo0ajyms"
path="res://.godot/imported/m5x7.ttf-c98fcfe7ec20d81260091e5b9b8cacb7.fontdata"
[deps]
source_file="res://UI/m5x7.ttf"
dest_files=["res://.godot/imported/m5x7.ttf-c98fcfe7ec20d81260091e5b9b8cacb7.fontdata"]
[params]
Rendering=null
antialiasing=1
generate_mipmaps=false
multichannel_signed_distance_field=false
msdf_pixel_range=8
msdf_size=48
allow_system_fallback=true
force_autohinter=false
hinting=1
subpixel_positioning=1
oversampling=0.0
Fallbacks=null
fallbacks=[]
Compress=null
compress=true
preload=[]
language_support={}
script_support={}
opentype_features={}

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

Binary file not shown.

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cgr1apo42wg2o"
path="res://.godot/imported/slimeoosoddysseytitle.png-521edb48a2e310164fa2d0f22a00df7e.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://UI/slimeoosoddysseytitle.png"
dest_files=["res://.godot/imported/slimeoosoddysseytitle.png-521edb48a2e310164fa2d0f22a00df7e.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,52 @@
extends SharedSlime
class_name Villager class_name Villager
extends SharedSlime
var color_changes = true var color_changes = true
var is_villager = true
var hp = 100
var aggressor
func _ready():
super._ready()
$SoundTimer.wait_time = rng.randi_range(15, 240)
$SoundTimer.start()
func _process(delta):
super._process(delta)
if task == "become_corrupted":
become_corrupted()
func become_corrupted():
if location_xz.distance_to(aggressor.location_xz) <= 1:
print("becoming corrupted")
print(hp)
# Spin for effect and lose hp.
rotate_y(deg_to_rad(-15))
hp -= 0.5
else:
hp = 100
task = "idle"
print("cultist left")
# Create a new cultist and then destroy self.
if hp <= 0:
# Disable hitbox
$slime_collision.disabled = true
$CollisionDetection/slime_collision.disabled = true
# Load and instantiate a new cultist.
var cultist = load("res://cultist.tscn")
cultist = cultist.instantiate()
get_parent_node_3d().add_child(cultist)
cultist.set_global_position(get_global_position())
# Destroy self.
queue_free()
func get_color_idx() -> int: func get_color_idx() -> int:
return $slime.color_idx return $slime.color_idx
@ -24,3 +68,13 @@ func _on_area_3d_body_entered(body):
$slime.change_color(other) $slime.change_color(other)
func _on_collision_detection_body_entered(body):
if "is_cultist" in body:
aggressor = body as Cultist
task = "become_corrupted"
func _on_sound_timer_timeout():
$happyslime.play()
$SoundTimer.wait_time = rng.randi_range(60, 240)
$SoundTimer.start()

24
godot/crate.tscn Normal file
View File

@ -0,0 +1,24 @@
[gd_scene load_steps=6 format=3 uid="uid://ckbba1bs71tl"]
[ext_resource type="Script" path="res://Crate.gd" id="1_alhhi"]
[ext_resource type="Texture2D" uid="uid://cuc1p8nq2vs6p" path="res://Textures/ball.png" id="2_raef5"]
[ext_resource type="ArrayMesh" uid="uid://dpgqjgkd2kx4b" path="res://Models/ball.obj" id="3_78csp"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_si821"]
albedo_texture = ExtResource("2_raef5")
[sub_resource type="SphereShape3D" id="SphereShape3D_i5qy0"]
radius = 0.05
[node name="Crate" type="RigidBody3D"]
gravity_scale = 0.1
angular_damp = 10.0
script = ExtResource("1_alhhi")
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
transform = Transform3D(0.3, 0, 0, 0, 0.3, 0, 0, 0, 0.3, 0, 0, 0)
material_override = SubResource("StandardMaterial3D_si821")
mesh = ExtResource("3_78csp")
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
shape = SubResource("SphereShape3D_i5qy0")

View File

@ -1,18 +1,38 @@
extends SharedSlime
class_name Cultist class_name Cultist
extends SharedSlime
const SPEED = 5.0 var victim
const JUMP_VELOCITY = 4.
func _on_area_3d_body_entered(body): var is_cultist = true
var items_in_range = $Area3D.get_overlapping_bodies()
var villagers = []
for item in items_in_range: func _process(delta):
if is_class("Villager"): super._process(delta)
villagers.append(item)
var rng = RandomNumberGenerator.new() if task == "corrupt":
var victim_num = rng.randi_range(0, villagers.size()) corrupt()
func corrupt():
# Make sure the victim is still next to the cultist.
if location_xz.distance_to(victim.location_xz) <= 0.5 and victim != null:
print("corrupting")
rotate_y(deg_to_rad(15))
if victim.hp <= 0:
$evilslime.play()
task = "idle"
else:
print("target lost")
task = "idle"
# For corruption detection range.
func _on_target_radius_body_entered(body):
if "is_villager" in body:
print("target found")
victim = body as Villager
target_location_xz = victim.location_xz
task = "walk"
# For collision with other slimes.
func _on_collision_detection_body_entered(body):
if "is_villager" in body:
task = "corrupt"

View File

@ -1,31 +1,54 @@
[gd_scene load_steps=7 format=3 uid="uid://e0s4phx2jiit"] [gd_scene load_steps=10 format=3 uid="uid://e0s4phx2jiit"]
[ext_resource type="Script" path="res://cultist.gd" id="1_k6djk"] [ext_resource type="Script" path="res://cultist.gd" id="1_k6djk"]
[ext_resource type="Texture2D" uid="uid://df0xror4t3gbc" path="res://Default Purple.png" id="1_x8j7f"] [ext_resource type="PackedScene" uid="uid://c3q6fva1c1baa" path="res://Models/slime.tscn" id="2_004fn"]
[ext_resource type="AudioStream" uid="uid://cxadu5w3jwv0b" path="res://Sounds/evilslime.ogg" id="3_novm4"]
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_y0hcm"] [ext_resource type="Script" path="res://MeshInstance3D.gd" id="4_trs5a"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_vxnad"]
albedo_texture = ExtResource("1_x8j7f")
[sub_resource type="CapsuleMesh" id="CapsuleMesh_17ljq"]
material = SubResource("StandardMaterial3D_vxnad")
[sub_resource type="SphereShape3D" id="SphereShape3D_rypky"] [sub_resource type="SphereShape3D" id="SphereShape3D_rypky"]
radius = 20.0 radius = 2.5
[sub_resource type="SphereShape3D" id="SphereShape3D_pa038"]
radius = 0.055
[sub_resource type="SphereShape3D" id="SphereShape3D_bmc5i"]
radius = 0.05
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_y5n1c"]
albedo_color = Color(1, 0, 1, 1)
[sub_resource type="SphereMesh" id="SphereMesh_75ex5"]
[node name="Cultist" type="CharacterBody3D"] [node name="Cultist" type="CharacterBody3D"]
script = ExtResource("1_k6djk") script = ExtResource("1_k6djk")
[node name="CollisionShape3D" type="CollisionShape3D" parent="."] [node name="TargetRadius" type="Area3D" parent="."]
shape = SubResource("CapsuleShape3D_y0hcm")
[node name="MeshInstance3D" type="MeshInstance3D" parent="CollisionShape3D"] [node name="CollisionShape3D" type="CollisionShape3D" parent="TargetRadius"]
mesh = SubResource("CapsuleMesh_17ljq")
[node name="Area3D" type="Area3D" parent="."]
[node name="CollisionShape3D" type="CollisionShape3D" parent="Area3D"]
shape = SubResource("SphereShape3D_rypky") shape = SubResource("SphereShape3D_rypky")
[connection signal="body_entered" from="Area3D" to="." method="_on_area_3d_body_entered"] [node name="slime" parent="." instance=ExtResource("2_004fn")]
transform = Transform3D(0.035, 0, 0, 0, 0.035, 0, 0, 0, 0.035, 0, 0, 0)
[node name="CollisionDetection" type="Area3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.03, 0)
[node name="collision_ range" type="CollisionShape3D" parent="CollisionDetection"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.013, 0)
shape = SubResource("SphereShape3D_pa038")
[node name="cultist_collision" type="CollisionShape3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.0429018, 0)
shape = SubResource("SphereShape3D_bmc5i")
[node name="evilslime" type="AudioStreamPlayer3D" parent="."]
stream = ExtResource("3_novm4")
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
transform = Transform3D(0.05, 0, 0, 0, 0.05, 0, 0, 0, 0.05, 0, 0.181789, 0)
material_override = SubResource("StandardMaterial3D_y5n1c")
mesh = SubResource("SphereMesh_75ex5")
script = ExtResource("4_trs5a")
[connection signal="body_entered" from="TargetRadius" to="." method="_on_target_radius_body_entered"]
[connection signal="body_entered" from="CollisionDetection" to="." method="_on_collision_detection_body_entered"]

99
godot/export_presets.cfg Normal file
View File

@ -0,0 +1,99 @@
[preset.0]
name="Windows Desktop"
platform="Windows Desktop"
runnable=true
dedicated_server=false
custom_features=""
export_filter="all_resources"
include_filter=""
exclude_filter=""
export_path="../../../SlimeooWindows/Slimeoo.exe"
encryption_include_filters=""
encryption_exclude_filters=""
encrypt_pck=false
encrypt_directory=false
[preset.0.options]
custom_template/debug=""
custom_template/release=""
debug/export_console_wrapper=1
binary_format/embed_pck=false
texture_format/bptc=true
texture_format/s3tc=true
texture_format/etc=false
texture_format/etc2=false
binary_format/architecture="x86_64"
codesign/enable=false
codesign/timestamp=true
codesign/timestamp_server_url=""
codesign/digest_algorithm=1
codesign/description=""
codesign/custom_options=PackedStringArray()
application/modify_resources=true
application/icon=""
application/console_wrapper_icon=""
application/icon_interpolation=4
application/file_version=""
application/product_version=""
application/company_name=""
application/product_name=""
application/file_description=""
application/copyright=""
application/trademarks=""
ssh_remote_deploy/enabled=false
ssh_remote_deploy/host="user@host_ip"
ssh_remote_deploy/port="22"
ssh_remote_deploy/extra_args_ssh=""
ssh_remote_deploy/extra_args_scp=""
ssh_remote_deploy/run_script="Expand-Archive -LiteralPath '{temp_dir}\\{archive_name}' -DestinationPath '{temp_dir}'
$action = New-ScheduledTaskAction -Execute '{temp_dir}\\{exe_name}' -Argument '{cmd_args}'
$trigger = New-ScheduledTaskTrigger -Once -At 00:00
$settings = New-ScheduledTaskSettingsSet
$task = New-ScheduledTask -Action $action -Trigger $trigger -Settings $settings
Register-ScheduledTask godot_remote_debug -InputObject $task -Force:$true
Start-ScheduledTask -TaskName godot_remote_debug
while (Get-ScheduledTask -TaskName godot_remote_debug | ? State -eq running) { Start-Sleep -Milliseconds 100 }
Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue"
ssh_remote_deploy/cleanup_script="Stop-ScheduledTask -TaskName godot_remote_debug -ErrorAction:SilentlyContinue
Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue
Remove-Item -Recurse -Force '{temp_dir}'"
[preset.1]
name="Web"
platform="Web"
runnable=true
dedicated_server=false
custom_features=""
export_filter="all_resources"
include_filter=""
exclude_filter=""
export_path="../../../SlimeooWeb/index.html"
encryption_include_filters=""
encryption_exclude_filters=""
encrypt_pck=false
encrypt_directory=false
[preset.1.options]
custom_template/debug=""
custom_template/release=""
variant/extensions_support=false
vram_texture_compression/for_desktop=true
vram_texture_compression/for_mobile=false
html/export_icon=true
html/custom_html_shell=""
html/head_include=""
html/canvas_resize_policy=2
html/focus_canvas_on_start=true
html/experimental_virtual_keyboard=false
progressive_web_app/enabled=false
progressive_web_app/offline_page=""
progressive_web_app/display=1
progressive_web_app/orientation=0
progressive_web_app/icon_144x144=""
progressive_web_app/icon_180x180=""
progressive_web_app/icon_512x512=""
progressive_web_app/background_color=Color(0, 0, 0, 1)

3
godot/global.gd Normal file
View File

@ -0,0 +1,3 @@
extends Node
var cheating = false

BIN
godot/icon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

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

Binary file not shown.

34
godot/icon.png.import Normal file
View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cw6ps127bpbum"
path="res://.godot/imported/icon.png-487276ed1e3a0c39cad0279d744ee560.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://icon.png"
dest_files=["res://.godot/imported/icon.png-487276ed1e3a0c39cad0279d744ee560.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
@ -21,11 +22,10 @@ shape = SubResource("CapsuleShape3D_kb4ms")
[node name="grape_man" parent="." instance=ExtResource("2_ctyy5")] [node name="grape_man" parent="." instance=ExtResource("2_ctyy5")]
[node name="CameraMount" type="Node3D" parent="."] [node name="CameraMount" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.3, 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, 1.39043) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.643936)
current = true
fov = 50.0 fov = 50.0
[node name="Holster" type="Node3D" parent="."] [node name="Holster" type="Node3D" parent="."]
@ -37,6 +37,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"]

View File

@ -11,15 +11,23 @@ config_version=5
[application] [application]
config/name="abgj23" config/name="abgj23"
run/main_scene="res://cameraTest.tscn" run/main_scene="res://UI/TitleScreen.tscn"
config/features=PackedStringArray("4.1", "Forward Plus") config/features=PackedStringArray("4.1", "Forward Plus")
config/icon="res://icon.svg" boot_splash/show_image=false
boot_splash/fullsize=false
config/icon="res://icon.png"
config/windows_native_icon="res://icon.ico"
[autoload]
Global="*res://global.gd"
[display] [display]
window/size/viewport_width=512 window/size/viewport_width=512
window/size/viewport_height=512 window/size/viewport_height=512
window/size/mode=3 window/size/mode=3
window/subwindows/embed_subwindows=false
window/stretch/mode="viewport" window/stretch/mode="viewport"
window/stretch/aspect="expand" window/stretch/aspect="expand"
@ -56,7 +64,7 @@ ui_left={
"deadzone": 0.5, "deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194319,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194319,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null)
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":13,"pressure":0.0,"pressed":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":13,"pressure":0.0,"pressed":false,"script":null)
, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":0,"axis_value":-1.0,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":0,"axis_value":-1.0,"script":null)
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":97,"echo":false,"script":null) , Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":97,"echo":false,"script":null)
] ]
} }
@ -64,7 +72,7 @@ ui_right={
"deadzone": 0.5, "deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194321,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194321,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null)
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":14,"pressure":0.0,"pressed":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":14,"pressure":0.0,"pressed":false,"script":null)
, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":0,"axis_value":1.0,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":0,"axis_value":1.0,"script":null)
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":100,"echo":false,"script":null) , Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":100,"echo":false,"script":null)
] ]
} }
@ -72,7 +80,7 @@ ui_up={
"deadzone": 0.5, "deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194320,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194320,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null)
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":11,"pressure":0.0,"pressed":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":11,"pressure":0.0,"pressed":false,"script":null)
, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":1,"axis_value":-1.0,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":1,"axis_value":-1.0,"script":null)
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":119,"echo":false,"script":null) , Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":119,"echo":false,"script":null)
] ]
} }
@ -80,7 +88,7 @@ ui_down={
"deadzone": 0.5, "deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194322,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194322,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null)
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":12,"pressure":0.0,"pressed":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":12,"pressure":0.0,"pressed":false,"script":null)
, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":1,"axis_value":1.0,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":1,"axis_value":1.0,"script":null)
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":115,"echo":false,"script":null) , Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":115,"echo":false,"script":null)
] ]
} }
@ -97,3 +105,23 @@ Pause={
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":6,"pressure":0.0,"pressed":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":6,"pressure":0.0,"pressed":false,"script":null)
] ]
} }
camera_up={
"deadzone": 0.0,
"events": [Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":3,"axis_value":-1.0,"script":null)
]
}
camera_down={
"deadzone": 0.0,
"events": [Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":3,"axis_value":1.0,"script":null)
]
}
camera_right={
"deadzone": 0.0,
"events": [Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":2,"axis_value":1.0,"script":null)
]
}
camera_left={
"deadzone": 0.0,
"events": [Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":2,"axis_value":-1.0,"script":null)
]
}

7
godot/slime_kill_box.gd Normal file
View File

@ -0,0 +1,7 @@
extends Area3D
func _on_body_entered(body):
if "is_killable" 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

@ -2,6 +2,7 @@ extends CharacterBody3D
class_name SharedSlime class_name SharedSlime
var is_holdable: bool = true var is_holdable: bool = true
var is_killable: bool = true
var rng = RandomNumberGenerator.new() var rng = RandomNumberGenerator.new()
@onready var target_location_xz = transform.origin * Vector3(1, 0, 1) @onready var target_location_xz = transform.origin * Vector3(1, 0, 1)
@ -22,11 +23,18 @@ var task = "idle"
# Margin of accuracy to which the character will correct their direction when off course (radians). # Margin of accuracy to which the character will correct their direction when off course (radians).
@export var dir_accuracy = deg_to_rad(0.1) @export var dir_accuracy = deg_to_rad(0.1)
var wall_timer
# 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")
func _ready(): func _ready():
$slime.idle() $slime.idle()
wall_timer = Timer.new()
wall_timer.wait_time = 5
wall_timer.one_shot = true
wall_timer.timeout.connect(_on_timer_timeout)
add_child(wall_timer)
func walk(): func walk():
$slime.walk() $slime.walk()
@ -38,11 +46,14 @@ func walk():
# Rotate towards destination at specified percentage rate. # Rotate towards destination at specified percentage rate.
rotate_y(direction_xz.angle_to(target_direction_xz) * dir_correction_rate) rotate_y(direction_xz.angle_to(target_direction_xz) * dir_correction_rate)
if location_xz.distance_to(target_location_xz) <= (Vector2(direction_xz.x, direction_xz.z) * walk_speed).length(): if location_xz.distance_to(target_location_xz) <= 0.1:
target_direction_xz = direction_xz target_direction_xz = direction_xz
target_location_xz = location_xz target_location_xz = location_xz
task = "idle" task = "idle"
if !wall_timer.is_stopped():
wall_timer.stop()
func spin(): func spin():
# Continue to correct direction to within a margin of dir_accuracy degrees. # Continue to correct direction to within a margin of dir_accuracy degrees.
if direction_xz.angle_to(target_direction_xz) >= dir_accuracy: if direction_xz.angle_to(target_direction_xz) >= dir_accuracy:
@ -59,6 +70,7 @@ func idle():
if task <= walk_chance: if task <= walk_chance:
task = "walk" task = "walk"
target_location_xz = transform.origin * Vector3(1, 0, 1) + (direction_xz * 4) target_location_xz = transform.origin * Vector3(1, 0, 1) + (direction_xz * 4)
wall_timer.start()
# 6% chance to rotate. # 6% chance to rotate.
elif task > walk_chance and task <= (walk_chance + spin_chance): elif task > walk_chance and task <= (walk_chance + spin_chance):
task = "spin" task = "spin"
@ -69,6 +81,15 @@ func idle():
elif task > (spin_chance + walk_chance): elif task > (spin_chance + walk_chance):
task = "idle" task = "idle"
# Stops walking if cannot reach destination in 5 sec.
func _on_timer_timeout():
# Try to turn around before walking again.
if task == "walk":
task = "spin"
var rotation_angle = rng.randf_range(-2*PI, 2*PI)
var rotation_vector = Vector3(cos(rotation_angle), 0, sin(rotation_angle))
target_direction_xz = direction_xz + rotation_vector
# Called every frame. 'delta' is the elapsed time since the previous frame. # Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(_delta): func _process(_delta):
location_xz = transform.origin * Vector3(1, 0, 1) location_xz = transform.origin * Vector3(1, 0, 1)
@ -89,7 +110,7 @@ func _physics_process(delta):
velocity.y -= gravity * delta velocity.y -= gravity * delta
# Walk to target location. # Walk to target location.
if (location_xz.distance_to(target_location_xz) > walk_speed) and task == "walk": if (location_xz.distance_to(target_location_xz) >= 0.1) and task == "walk":
velocity.x = direction_xz.x * walk_speed velocity.x = direction_xz.x * walk_speed
velocity.z = direction_xz.z * walk_speed velocity.z = direction_xz.z * walk_speed
else: else:

View File

@ -15,3 +15,5 @@ transform = Transform3D(0.035, 0, 0, 0, 0.035, 0, 0, 0, 0.035, 0, 0, 0)
[node name="slime_collision" type="CollisionShape3D" parent="."] [node name="slime_collision" type="CollisionShape3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.0408143, 0) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.0408143, 0)
shape = SubResource("SphereShape3D_k5rhc") shape = SubResource("SphereShape3D_k5rhc")
[node name="IsTrappedOnWall" type="Timer" parent="."]

30
godot/spawner.gd Normal file
View File

@ -0,0 +1,30 @@
extends Node3D
var rng = RandomNumberGenerator.new()
var spawnableItems: Array
# Called when the node enters the scene tree for the first time.
func _ready():
$SpawnTimer.wait_time = 10
$SpawnTimer.one_shot = true
spawnableItems.append(load("res://cultist.tscn"))
spawnableItems.append(load("res://villager_shared.tscn"))
$SpawnTimer.start()
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
pass
func _on_spawn_timer_timeout():
var item_to_spawn = rng.randi_range(0, spawnableItems.size() - 1)
var spawned_item = spawnableItems[item_to_spawn].instantiate()
get_parent_node_3d().add_child(spawned_item)
spawned_item.set_global_position(global_transform.origin)
spawned_item.set_velocity(Vector3(rng.randf_range(0, 3), rng.randf_range(1, 3), rng.randf_range(0, 3)))
# Start the timer again at a random rate.
$SpawnTimer.wait_time = rng.randi_range(120, 300)
$SpawnTimer.start()

10
godot/spawner.tscn Normal file
View File

@ -0,0 +1,10 @@
[gd_scene load_steps=2 format=3 uid="uid://d0uw7ykhb1cx8"]
[ext_resource type="Script" path="res://spawner.gd" id="1_xameb"]
[node name="Spawner" type="Node3D"]
script = ExtResource("1_xameb")
[node name="SpawnTimer" type="Timer" parent="."]
[connection signal="timeout" from="SpawnTimer" to="." method="_on_spawn_timer_timeout"]

View File

@ -1,7 +1,6 @@
[gd_scene load_steps=24 format=3 uid="uid://v3vjhyhrqfhi"] [gd_scene load_steps=27 format=3 uid="uid://v3vjhyhrqfhi"]
[ext_resource type="PackedScene" uid="uid://d2d4uv7o5gx5p" path="res://Level/World/screen_shader.tscn" id="1_ee0bf"] [ext_resource type="PackedScene" uid="uid://d2d4uv7o5gx5p" path="res://Level/World/screen_shader.tscn" id="1_ee0bf"]
[ext_resource type="PackedScene" uid="uid://b35w4hlh4n1jt" path="res://Level/World/world_environment.tscn" id="2_wvs0f"]
[ext_resource type="PackedScene" uid="uid://difi2tur2j4dg" path="res://Models/island.tscn" id="3_30dtd"] [ext_resource type="PackedScene" uid="uid://difi2tur2j4dg" path="res://Models/island.tscn" id="3_30dtd"]
[ext_resource type="PackedScene" uid="uid://ctbyl0qbks4k6" path="res://Models/ocean.tscn" id="4_527x8"] [ext_resource type="PackedScene" uid="uid://ctbyl0qbks4k6" path="res://Models/ocean.tscn" id="4_527x8"]
[ext_resource type="PackedScene" uid="uid://d3ccrfjpg4hbv" path="res://Models/palm_curved.tscn" id="5_a3wkm"] [ext_resource type="PackedScene" uid="uid://d3ccrfjpg4hbv" path="res://Models/palm_curved.tscn" id="5_a3wkm"]
@ -20,16 +19,32 @@
[ext_resource type="PackedScene" uid="uid://b3aus2kigf8xt" path="res://Models/beach_decor/cooler.tscn" id="18_whrnr"] [ext_resource type="PackedScene" uid="uid://b3aus2kigf8xt" path="res://Models/beach_decor/cooler.tscn" id="18_whrnr"]
[ext_resource type="PackedScene" uid="uid://bw3k2c75qavce" path="res://Models/beach_decor/bucket.tscn" id="19_yg6e1"] [ext_resource type="PackedScene" uid="uid://bw3k2c75qavce" path="res://Models/beach_decor/bucket.tscn" id="19_yg6e1"]
[ext_resource type="PackedScene" uid="uid://g4gmc0pwlak1" path="res://Models/buildings/fence.tscn" id="20_k7apf"] [ext_resource type="PackedScene" uid="uid://g4gmc0pwlak1" path="res://Models/buildings/fence.tscn" id="20_k7apf"]
[ext_resource type="PackedScene" uid="uid://bgoo1lbt28na" path="res://Models/grape_man.tscn" id="21_j8hpq"] [ext_resource type="PackedScene" uid="uid://c4s6y758n77lw" path="res://villager_shared.tscn" id="22_8cef5"]
[ext_resource type="PackedScene" uid="uid://c3q6fva1c1baa" path="res://Models/slime.tscn" id="22_f6psl"]
[ext_resource type="PackedScene" uid="uid://7utef1nnena8" path="res://player.tscn" id="23_bmfvv"] [ext_resource type="PackedScene" uid="uid://7utef1nnena8" path="res://player.tscn" id="23_bmfvv"]
[ext_resource type="PackedScene" uid="uid://6ycop5t3nra5" path="res://Level/World/DayNightEnvironment.tscn" id="23_enwwy"]
[ext_resource type="PackedScene" path="res://color_cube.tscn" id="23_n3ojx"]
[ext_resource type="PackedScene" uid="uid://cft26nug7kyqb" path="res://ambient_light_1.tscn" id="24_0e4eq"]
[sub_resource type="Animation" id="Animation_x2jy7"]
resource_name = "Rotate"
length = 30.0
tracks/0/type = "rotation_3d"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("..")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = PackedFloat32Array(0, 1, 0, 0, 0, 1)
[sub_resource type="AnimationLibrary" id="AnimationLibrary_t5oiq"]
_data = {
"Rotate": SubResource("Animation_x2jy7")
}
[node name="World" type="Node3D"] [node name="World" type="Node3D"]
[node name="ScreenShader" parent="." instance=ExtResource("1_ee0bf")] [node name="ScreenShader" parent="." instance=ExtResource("1_ee0bf")]
[node name="WorldEnvironment" parent="." instance=ExtResource("2_wvs0f")]
[node name="island" parent="." instance=ExtResource("3_30dtd")] [node name="island" parent="." instance=ExtResource("3_30dtd")]
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)
@ -246,14 +261,129 @@ transform = Transform3D(-6.55671e-08, 0, -1.5, 0, 1.5, 0, 1.5, 0, -6.55671e-08,
[node name="fence4" parent="Decorations/slimepen" instance=ExtResource("20_k7apf")] [node name="fence4" parent="Decorations/slimepen" instance=ExtResource("20_k7apf")]
transform = Transform3D(1.5, 0, 0, 0, 1.5, 0, 0, 0, 1.5, 0, 1.40507, -2.10425) transform = Transform3D(1.5, 0, 0, 0, 1.5, 0, 0, 0, 1.5, 0, 1.40507, -2.10425)
[node name="grape_man" parent="." instance=ExtResource("21_j8hpq")] [node name="CameraPivot" type="Node3D" parent="."]
transform = Transform3D(0.065, 0, 0, 0, 0.065, 0, 0, 0, 0.065, -0.219532, 2.64323, 0) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3.38941, -1.81479)
[node name="slime" parent="." instance=ExtResource("22_f6psl")] [node name="Camera3D" type="Camera3D" parent="CameraPivot"]
transform = Transform3D(0.035, 0, 0, 0, 0.035, 0, 0, 0, 0.035, -0.240886, 2.72271, 0.267039) transform = Transform3D(1, 0, 0, 0, 0.75591, 0.654675, 0, -0.654675, 0.75591, 0, 1.06463, 4.0839)
[node name="Camera3D" type="Camera3D" parent="."] [node name="AnimationPlayer" type="AnimationPlayer" parent="CameraPivot/Camera3D"]
transform = Transform3D(1, 0, 0, 0, 0.965509, 0.26037, 0, -0.26037, 0.965509, 0, 5.42228, 4.14616) libraries = {
"": SubResource("AnimationLibrary_t5oiq")
}
[node name="Player" parent="." instance=ExtResource("23_bmfvv")] [node name="Player" parent="." instance=ExtResource("23_bmfvv")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.548558, 2.93052, 0.413536) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.548558, 2.93052, 0.413536)
[node name="DayNightEnvironment" parent="." instance=ExtResource("23_enwwy")]
[node name="villager" parent="." instance=ExtResource("22_8cef5")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.32051, 2.42874, -0.151928)
[node name="villager2" parent="." instance=ExtResource("22_8cef5")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.344183, 2.49657, 0.497255)
[node name="villager3" parent="." instance=ExtResource("22_8cef5")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.1756, 2.30817, -0.040845)
[node name="villager4" parent="." instance=ExtResource("22_8cef5")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.13518, 2.24888, -4.00956)
[node name="villager5" parent="." instance=ExtResource("22_8cef5")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.124053, 2.37507, -4.54257)
[node name="villager6" parent="." instance=ExtResource("22_8cef5")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0673849, 3.01779, -4.0846)
[node name="MeshInstance3D" parent="." instance=ExtResource("23_n3ojx")]
transform = Transform3D(0.00734817, 0, -0.0494571, 0, 0.05, 0, 0.0494571, 0, 0.00734817, -1.23595, 2.41994, -1.22155)
[node name="MeshInstance3D5" parent="." instance=ExtResource("23_n3ojx")]
transform = Transform3D(0.00734817, 0, -0.0494571, 0, 0.05, 0, 0.0494571, 0, 0.00734817, -2.01716, 2.35204, -3.86729)
[node name="MeshInstance3D4" parent="." instance=ExtResource("23_n3ojx")]
transform = Transform3D(0.0499974, 0, 0.000513115, 0, 0.05, 0, -0.000513115, 0, 0.0499974, 0.454694, 2.38629, -0.394798)
[node name="MeshInstance3D2" parent="." instance=ExtResource("23_n3ojx")]
transform = Transform3D(0.607958, 0, -0.793969, 0, 1, 0, 0.793969, 0, 0.607958, 9.95052, 2.51, 0.423212)
[node name="MeshInstance3D3" parent="." instance=ExtResource("23_n3ojx")]
transform = Transform3D(1, 0, 0, 0, 0.93516, 0.354226, 0, -0.354226, 0.93516, -1.96412, 2.47836, -3.94085)
[node name="villager7" parent="." instance=ExtResource("22_8cef5")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.33509, 2.39757, -4.24071)
[node name="villager8" parent="." instance=ExtResource("22_8cef5")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.31916, 2.22662, -3.08429)
[node name="villager9" parent="." instance=ExtResource("22_8cef5")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.57973, 2.33972, -3.67175)
[node name="villager10" parent="." instance=ExtResource("22_8cef5")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.91611, 2.37549, -1.0799)
[node name="villager11" parent="." instance=ExtResource("22_8cef5")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.643094, 2.19164, 1.15459)
[node name="villager12" parent="." instance=ExtResource("22_8cef5")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.982957, 2.26155, 0.763667)
[node name="villager13" parent="." instance=ExtResource("22_8cef5")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.33971, 2.12543, 0.623835)
[node name="villager14" parent="." instance=ExtResource("22_8cef5")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.11141, 2.26718, 0.608947)
[node name="villager15" parent="." instance=ExtResource("22_8cef5")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.01736, 2.38815, -1.81019)
[node name="villager16" parent="." instance=ExtResource("22_8cef5")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.89617, 2.21949, -3.20033)
[node name="villager17" parent="." instance=ExtResource("22_8cef5")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.20015, 2.4323, -3.35734)
[node name="villager18" parent="." instance=ExtResource("22_8cef5")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.54584, 2.33609, -4.4881)
[node name="villager19" parent="." instance=ExtResource("22_8cef5")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.709331, 2.50856, -1.84133)
[node name="villager20" parent="." instance=ExtResource("22_8cef5")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.75547, 2.33257, -1.63179)
[node name="villager21" parent="." instance=ExtResource("22_8cef5")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.43468, 2.35865, -0.0161896)
[node name="villager22" parent="." instance=ExtResource("22_8cef5")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.348403, 2.35328, -0.838555)
[node name="villager23" parent="." instance=ExtResource("22_8cef5")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.743449, 2.39485, -1.09457)
[node name="villager24" parent="." instance=ExtResource("22_8cef5")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.11439, 2.14828, -1.28646)
[node name="OmniLight3D" parent="." instance=ExtResource("24_0e4eq")]
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("24_0e4eq")]
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("24_0e4eq")]
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("24_0e4eq")]
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("24_0e4eq")]
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("24_0e4eq")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.19657, 2.76902, -1.46035)
light_energy = 0.1

View File

@ -1,17 +1,35 @@
[gd_scene load_steps=4 format=3 uid="uid://c4s6y758n77lw"] [gd_scene load_steps=6 format=3 uid="uid://c4s6y758n77lw"]
[ext_resource type="PackedScene" uid="uid://dmtmign72vtlm" path="res://slime_shared.tscn" id="1_qm1jp"] [ext_resource type="PackedScene" uid="uid://dmtmign72vtlm" path="res://slime_shared.tscn" id="1_qm1jp"]
[ext_resource type="Script" path="res://Villager.gd" id="2_uf6mh"] [ext_resource type="Script" path="res://Villager.gd" id="2_uf6mh"]
[ext_resource type="AudioStream" uid="uid://djbuw33cr12i" path="res://Sounds/happyslime.ogg" id="3_v720k"]
[sub_resource type="SphereShape3D" id="SphereShape3D_0wi6w"] [sub_resource type="SphereShape3D" id="SphereShape3D_k5rhc"]
radius = 0.055
[sub_resource type="SphereShape3D" id="SphereShape3D_wx128"]
radius = 0.1 radius = 0.1
[node name="villager" instance=ExtResource("1_qm1jp")] [node name="villager" instance=ExtResource("1_qm1jp")]
script = ExtResource("2_uf6mh") script = ExtResource("2_uf6mh")
[node name="Area3D" type="Area3D" parent="." index="2"] [node name="CollisionDetection" type="Area3D" parent="." index="2"]
[node name="slime_collision" type="CollisionShape3D" parent="CollisionDetection" index="0"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.0408143, 0)
shape = SubResource("SphereShape3D_k5rhc")
[node name="Area3D" type="Area3D" parent="." index="3"]
[node name="CollisionShape3D" type="CollisionShape3D" parent="Area3D" index="0"] [node name="CollisionShape3D" type="CollisionShape3D" parent="Area3D" index="0"]
shape = SubResource("SphereShape3D_0wi6w") shape = SubResource("SphereShape3D_wx128")
[node name="SoundTimer" type="Timer" parent="." index="5"]
wait_time = 45.0
[node name="happyslime" type="AudioStreamPlayer3D" parent="." index="6"]
stream = ExtResource("3_v720k")
volume_db = -15.0
[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"]
[connection signal="timeout" from="SoundTimer" to="." method="_on_sound_timer_timeout"]

BIN
textures/Redo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 588 B

BIN
textures/ball.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB