Compare commits

...
Sign in to create a new pull request.

122 commits

Author SHA1 Message Date
092ee29cb6
fix pause menu controller order 2023-08-20 22:40:50 -06:00
17aaf6944e
Merge branch 'master' of https://git.sjkillen.ca/sjkillen/ABGJ-23 2023-08-20 17:35:20 -06:00
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
d4caed7c8d
Merge branch 'master' of https://git.sjkillen.ca/sjkillen/ABGJ-23 2023-08-20 17:27:14 -06:00
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
cded78e677
pause 2023-08-20 17:18:44 -06:00
915d20005b
a 2023-08-20 17:12:21 -06:00
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
3b749fe157
a 2023-08-20 16:53:58 -06:00
9bb2929507
revert grapeman 2023-08-20 16:53:03 -06:00
d82a4cc483
Merge branch 'master' of https://git.sjkillen.ca/sjkillen/ABGJ-23 2023-08-20 16:52:31 -06:00
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
9712819295
fix glitched beachball 2023-08-20 16:31:27 -06:00
5f36024e8f
a 2023-08-20 16:27:51 -06:00
5894fd7826
Merge branch 'master' of https://git.sjkillen.ca/sjkillen/ABGJ-23 2023-08-20 16:25:45 -06:00
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
7471d64491
Merge branch 'master' of https://git.sjkillen.ca/sjkillen/ABGJ-23 2023-08-20 15:00:57 -06:00
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
d22b1d281d
a 2023-08-20 14:06:31 -06:00
332e9e0066
Merge branch 'master' of https://git.sjkillen.ca/sjkillen/ABGJ-23 2023-08-20 13:44:54 -06:00
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
4aab474313
better texture 2023-08-20 13:42:35 -06:00
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
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
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
aac237f44b
Fix colour changing 2023-08-20 13:24:04 -06:00
c1cd31bc81
foostep sounds 2023-08-20 12:53:08 -06:00
cc9cc3436d
Woohoo 2023-08-20 12:35:52 -06:00
3ed04bb92e
Merge branch 'master' of https://git.sjkillen.ca/sjkillen/ABGJ-23 2023-08-20 12:31:28 -06:00
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
16d31becb5
Merge branch 'master' of https://git.sjkillen.ca/sjkillen/ABGJ-23 2023-08-20 12:14:11 -06:00
d411911cac
Improve walking 2023-08-20 12:13:54 -06:00
vengefulcartographer
1a41a4b36d soundboard 2023-08-20 11:48:25 -06:00
vengefulcartographer
32f6f40e3b input fiddling 2023-08-20 11:19:59 -06:00
vengefulcartographer
478a16f72b moved holster up 2023-08-20 11:00:14 -06:00
61b11defb9
colorgame 2023-08-20 02:05:40 -06:00
e6fbcbc1aa
Merge branch 'master' of https://git.sjkillen.ca/sjkillen/ABGJ-23 2023-08-20 01:03:31 -06:00
5d9cfdb01f
fun with colours 2023-08-20 01:03:30 -06:00
vengefulcartographer
cddbd39765 Update island 2023-08-20 00:12:47 -06:00
vengefulcartographer
0277e45a03 update island 2023-08-20 00:11:36 -06:00
vengefulcartographer
c77ef38bdb Merge branch 'master' of https://git.sjkillen.ca/sjkillen/ABGJ-23 2023-08-20 00:10:14 -06:00
vengefulcartographer
1f8288735c ocean wave 2023-08-20 00:09:59 -06:00
ea195e54cc
Merge branch 'master' of https://git.sjkillen.ca/sjkillen/ABGJ-23 2023-08-20 00:08:32 -06:00
9e67ca3822
Add sounds 2023-08-20 00:08:31 -06:00
vengefulcartographer
e22b5a7bd0 Building collision 2023-08-20 00:05:58 -06:00
ncusimano
77877b0c35 Merge branch 'master' of https://git.sjkillen.ca/sjkillen/ABGJ-23 2023-08-20 00:00:47 -06:00
ncusimano
0e4b71387e New Slimes Just Dropped 2023-08-20 00:00:17 -06:00
vengefulcartographer
25c7c0771c moved holster 2023-08-19 23:37:41 -06:00
6d3b2f70dd
a 2023-08-19 23:32:59 -06:00
vengefulcartographer
6e28f0721c world border 2023-08-19 23:32:26 -06:00
eec35a04d7
a 2023-08-19 23:10:30 -06:00
bcb99f5ebd
Merge branch 'master' of https://git.sjkillen.ca/sjkillen/ABGJ-23 2023-08-19 23:02:08 -06:00
vengefulcartographer
d67300d8b8 dirt fix for island 2023-08-19 22:41:36 -06:00
b82734e335
Merge branch 'master' of https://git.sjkillen.ca/sjkillen/ABGJ-23 2023-08-19 22:38:29 -06:00
e7fc622871
a 2023-08-19 22:38:08 -06:00
vengefulcartographer
a90a0f01c6 world environment sunset 2023-08-19 22:37:52 -06:00
8f5abaee24
Merge branch 'master' of https://git.sjkillen.ca/sjkillen/ABGJ-23 2023-08-19 22:07:43 -06:00
7296881f17
a 2023-08-19 22:06:30 -06:00
vengefulcartographer
f450e131ec music fixed 2023-08-19 22:05:23 -06:00
fb915405d6
different colour slimes 2023-08-19 21:58:05 -06:00
vengefulcartographer
8f28bc4c0a music added 2023-08-19 21:56:19 -06:00
90a94cb16a
Merge branch 'master' of https://git.sjkillen.ca/sjkillen/ABGJ-23 2023-08-19 21:48:11 -06:00
a60de71566
a 2023-08-19 21:47:13 -06:00
vengefulcartographer
b6d7b170c4 more sfx 2023-08-19 21:44:27 -06:00
vengefulcartographer
3562f24ad3 Merge branch 'master' of https://git.sjkillen.ca/sjkillen/ABGJ-23 2023-08-19 21:30:38 -06:00
vengefulcartographer
0110dae2cf last song 2023-08-19 21:30:22 -06:00
a5476d4ddd
Fix rocks colour villagers 2023-08-19 21:21:54 -06:00
c4a3b3bdc0
a 2023-08-19 20:56:23 -06:00
429b91facf
villager animations 2023-08-19 20:45:30 -06:00
b310830c9d
gameplay 2023-08-19 20:42:02 -06:00
d052cf41ed
Merge branch 'master' of https://git.sjkillen.ca/sjkillen/ABGJ-23 2023-08-19 20:18:28 -06:00
73be2a700c
Giant pickups 2023-08-19 20:18:07 -06:00
vengefulcartographer
67200911d0 new song format 2023-08-19 20:12:22 -06:00
f9b21c3bf6
a 2023-08-19 19:22:57 -06:00
7adfcc2766
a 2023-08-19 18:58:08 -06:00
4ef9927141
a 2023-08-19 18:56:38 -06:00
db3240dd4c
Merge branch 'master' of https://git.sjkillen.ca/sjkillen/ABGJ-23 2023-08-19 18:44:52 -06:00
ncusimano
8abfb91237 Push 2023-08-19 18:43:22 -06:00
62d8ce3b30
a 2023-08-19 18:18:34 -06:00
ncusimano
8dad9b406c Update Villager.gd
Updates to Villager Script
2023-08-19 17:29:27 -06:00
vengefulcartographer
0633136cf9 sand fix 2023-08-19 17:17:56 -06:00
2f9d1df923
Merge branch 'stable2' 2023-08-19 17:16:06 -06:00
b6f3174547
Collision 2023-08-19 17:15:16 -06:00
5a90fc89e4
Merge branch 'master' of https://git.sjkillen.ca/sjkillen/ABGJ-23 2023-08-19 17:03:20 -06:00
a95e64bdf5
a 2023-08-19 17:02:32 -06:00
vengefulcartographer
b7442f9efa Merge branch 'master' of https://git.sjkillen.ca/sjkillen/ABGJ-23 2023-08-19 17:01:07 -06:00
vengefulcartographer
d9d0388176 added sounds 2023-08-19 16:59:20 -06:00
8465f2eadb
Merge branch 'master' of https://git.sjkillen.ca/sjkillen/ABGJ-23 2023-08-19 16:51:14 -06:00
860237cee1
a 2023-08-19 16:51:10 -06:00
ncusimano
9208a53c71 Update Villager.gd 2023-08-19 16:41:21 -06:00
d5d7295602
a 2023-08-19 16:32:19 -06:00
9c90404a7f
Merge remote-tracking branch 'origin/Player' 2023-08-19 16:14:35 -06:00
ncusimano
a8465d9962 Updates to Villager and Update to Main 2023-08-19 16:08:58 -06:00
ncusimano
e52f893517 Merge branch 'master' into Player 2023-08-19 16:06:42 -06:00
ncusimano
f6931cf64f Added Comments 2023-08-19 11:58:11 -06:00
156 changed files with 4328 additions and 260 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
blends/ring.blend Normal file

Binary file not shown.

12
godot/.gitignore vendored
View file

@ -1,8 +1,8 @@
# Godot 4+ specific ignores
.godot/
*.blend1
*.blend2
*.blend3
*.blend4
*.blend5
*.blend6
blends/*.blend1
blends/*.blend2
blends/*.blend3
blends/*.blend4
blends/*.blend5
blends/*.blend6

File diff suppressed because one or more lines are too long

4
godot/Crate.gd Normal file
View file

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

7
godot/Holster.gd Normal file
View file

@ -0,0 +1,7 @@
extends Node3D
func _ready():
set_as_top_level(true)
func _process(delta):
global_transform.origin = $"../grape_man".get_pickup_bone_location()

View file

@ -1,12 +1,11 @@
[gd_scene load_steps=23 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://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" 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://difi2tur2j4dg" path="res://Models/island.tscn" id="4_lq6cy"]
[ext_resource type="PackedScene" path="res://Models/palm_young.tscn" id="5_prlw2"]
[ext_resource type="PackedScene" uid="uid://hg1yr5rnxd47" path="res://Models/palm_young.tscn" id="5_prlw2"]
[ext_resource type="PackedScene" uid="uid://ce7jbp7f55cro" path="res://Models/buildings/building_1.tscn" id="8_6qbns"]
[ext_resource type="PackedScene" uid="uid://cx44bjuxlhq06" path="res://Models/buildings/building_2.tscn" id="9_maqyx"]
[ext_resource type="PackedScene" uid="uid://bm65tvb4irjqw" path="res://Models/buildings/building_3.tscn" id="10_j7nf7"]
@ -16,24 +15,59 @@
[ext_resource type="PackedScene" uid="uid://bf6bbqbaeh21y" path="res://Models/rocks/rock_3.tscn" id="14_1ahqw"]
[ext_resource type="PackedScene" uid="uid://bj8le45u845v3" path="res://Models/beach_decor/floatie.tscn" id="15_2v7p7"]
[ext_resource type="PackedScene" uid="uid://dhrnbubumgi5h" path="res://Models/buildings/buildingruined.tscn" id="15_6cbuu"]
[ext_resource type="PackedScene" uid="uid://bgoo1lbt28na" path="res://Models/grape_man.tscn" id="21_5uj16"]
[ext_resource type="PackedScene" uid="uid://dvpank15vkvtv" path="res://Models/beach_decor/parsol.tscn" id="21_dlhqg"]
[ext_resource type="PackedScene" uid="uid://c3q6fva1c1baa" path="res://Models/slime.tscn" id="22_5oom1"]
[ext_resource type="Script" path="res://Level/Music.gd" id="22_2pcqg"]
[ext_resource type="AudioStream" uid="uid://mvyk5xpf0f55" path="res://Sounds/beachquiet.ogg" id="22_4tylf"]
[ext_resource type="PackedScene" uid="uid://7utef1nnena8" path="res://player.tscn" id="22_cuxj6"]
[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://cft26nug7kyqb" path="res://ambient_light_1.tscn" id="25_novxt"]
[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://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://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"]
resource_name = "waves"
length = 6.0
loop_mode = 1
tracks/0/type = "position_3d"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".")
tracks/0/interp = 2
tracks/0/loop_wrap = true
tracks/0/keys = PackedFloat32Array(0, 1, 0, 1.67685, 0, 3, 1, 0, 1.72422, 0, 6, 1, 0, 1.67685, 0)
[sub_resource type="AnimationLibrary" id="AnimationLibrary_p0f8x"]
_data = {
"waves": SubResource("Animation_jpnyu")
}
[sub_resource type="WorldBoundaryShape3D" id="WorldBoundaryShape3D_hf2jh"]
[sub_resource type="BoxShape3D" id="BoxShape3D_um2bu"]
size = Vector3(19.9041, 1, 1)
[node name="World" type="Node3D"]
[node name="ScreenShader" parent="." instance=ExtResource("1_huyen")]
[node name="WorldEnvironment" parent="." instance=ExtResource("2_lerrn")]
[node name="island" parent="." instance=ExtResource("4_lq6cy")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
[node name="ocean" parent="." instance=ExtResource("4_dey2i")]
transform = Transform3D(1.96278, 0, 0, 0, 1.96278, 0, 0, 0, 1.96278, 0, 1.6366, 0)
transform = Transform3D(5.04206, 0, 0, 0, 1.96278, 0, 0, 0, 4.42374, 0, 1.70282, 0)
[node name="AnimationPlayer" type="AnimationPlayer" parent="ocean"]
autoplay = "waves"
libraries = {
"": SubResource("AnimationLibrary_p0f8x")
}
[node name="Decorations" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
@ -56,10 +90,10 @@ transform = Transform3D(0.0285645, 0, 0, 0, 0.0285645, 0, 0, 0, 0.0285645, 1.585
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("3_bth2b")]
transform = Transform3D(-0.0165298, 0, -0.0022076, 0, 0.0166766, 0, 0.0022076, 0, -0.0165298, -2.92791, 1.29787, -2.21588)
transform = Transform3D(-0.0165298, 0, -0.0022076, 0, 0.0166766, 0, 0.0022076, 0, -0.0165298, -2.92791, 1.21961, -2.21588)
[node name="PalmDefault4" parent="Decorations/nature" instance=ExtResource("4_2cnue")]
transform = Transform3D(-0.0283131, 0, -0.00378129, 0, 0.0285645, 0, 0.00378129, 0, -0.0283131, -2.84367, 1.2416, -1.98999)
transform = Transform3D(-0.0283131, 0, -0.00378129, 0, 0.0285645, 0, 0.00378129, 0, -0.0283131, -2.84367, 1.20295, -1.98999)
[node name="PalmDefault3" parent="Decorations/nature" instance=ExtResource("4_2cnue")]
transform = Transform3D(0.0357832, 0, 0, 0, 0.0357832, 0, 0, 0, 0.0357832, 1.57703, 1.36549, -3.01082)
@ -86,7 +120,7 @@ transform = Transform3D(0.00614041, -0.0133402, -0.0202603, 0.000709091, 0.02098
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("5_prlw2")]
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)
transform = Transform3D(0.0324601, 3.0533e-11, -0.00519927, -0.00145012, 0.0315694, -0.00905337, 0.00499296, 0.00916877, 0.0311721, -2.63137, 1.1568, -5.54767)
[node name="PalmYoung7" parent="Decorations/nature" instance=ExtResource("5_prlw2")]
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)
@ -189,19 +223,25 @@ transform = Transform3D(4.02251, 0, 0, 0, 4.02251, 0, 0, 0, 4.02251, 3.67653, 1.
[node name="buildingruined" parent="Decorations/buildings" instance=ExtResource("15_6cbuu")]
transform = Transform3D(3, 0, 0, 0, 7, 0, 0, 0, 3, 0.264704, 3.59073, -4.06142)
[node name="buildingruined2" parent="Decorations/buildings" instance=ExtResource("15_6cbuu")]
transform = Transform3D(10.7763, 0, 0, 0, 24.2281, -2.8831, 0, 6.72724, 10.3835, -18.0761, 2.05149, -1.87535)
[node name="buildingruined3" parent="Decorations/buildings" instance=ExtResource("15_6cbuu")]
transform = Transform3D(8.34623, 5.51405, 6.3941, -2.9358, 24.1936, 0, -6.15225, -4.06456, 8.67434, 21.0247, 2.05149, 0.72028)
[node name="beach items" type="Node3D" parent="Decorations"]
[node name="Floatie" parent="Decorations/beach items" instance=ExtResource("15_2v7p7")]
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_2v7p7")]
transform = Transform3D(0.142475, -0.0469124, 0, 0.0469124, 0.142475, 0, 0, 0, 0.15, -3.06407, 0.899973, -0.715843)
transform = Transform3D(0.13762, -0.0596706, 0, 0.0596706, 0.13762, 0, 0, 0, 0.15, -2.54018, 1.22524, -0.715843)
[node name="Floatie3" parent="Decorations/beach items" instance=ExtResource("15_2v7p7")]
transform = Transform3D(0.130141, 0.074587, 0, -0.074587, 0.130141, 0, 0, 0, 0.15, 3.48612, 0.899973, -0.715843)
transform = Transform3D(0.130141, 0.074587, 0, -0.074587, 0.130141, 0, 0, 0, 0.15, 3.25389, 1.0559, -0.715843)
[node name="Floatie4" parent="Decorations/beach items" instance=ExtResource("15_2v7p7")]
transform = Transform3D(0.130141, 0.074587, 0, -0.074587, 0.130141, 0, 0, 0, 0.15, 0.886782, 1.39103, -0.739674)
transform = Transform3D(0.0101389, 0.149653, -0.00103465, -0.149655, 0.0101343, -0.000689841, -0.000618342, 0.0010789, 0.149995, 0.819336, 1.48238, -0.739674)
[node name="Parsol" parent="Decorations/beach items" instance=ExtResource("21_dlhqg")]
transform = Transform3D(0.15, 0, 0, 0, 0.15, 0, 0, 0, 0.15, -1.66573, 0.876208, 1.05714)
@ -245,11 +285,222 @@ 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("28_prydb")]
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_5uj16")]
transform = Transform3D(0.065, 0, 0, 0, 0.065, 0, 0, 0, 0.065, -0.219532, 2.64323, 0)
[node name="slimepen2" type="Node3D" parent="Decorations"]
transform = Transform3D(0.0237168, 0, -0.999719, 0, 1, 0, 0.999719, 0, 0.0237168, -2.15781, 0.0660278, -1.25464)
[node name="slime" parent="." instance=ExtResource("22_5oom1")]
transform = Transform3D(0.035, 0, 0, 0, 0.035, 0, 0, 0, 0.035, -0.240886, 2.72271, 0.267039)
[node name="fence" parent="Decorations/slimepen2" instance=ExtResource("28_prydb")]
transform = Transform3D(0.75, 0, 0, 0, 1.8, 0, 0, 0, 1.8, -0.193081, 1.39007, -1.43506)
[node name="Camera3D" type="Camera3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 0.965509, 0.26037, 0, -0.26037, 0.965509, 0, 5.42228, 4.14616)
[node name="fence2" parent="Decorations/slimepen2" instance=ExtResource("28_prydb")]
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/slimepen2" instance=ExtResource("28_prydb")]
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/slimepen2" instance=ExtResource("28_prydb")]
transform = Transform3D(1.5, 0, 0, 0, 1.5, 0, 0, 0, 1.5, 0, 1.40507, -2.10425)
[node name="slimepen3" type="Node3D" parent="Decorations"]
transform = Transform3D(0.0237168, 0, -0.999719, 0.326977, 0.945, 0.00775704, 0.944735, -0.327069, 0.0224124, -2.943, -0.05, -3.795)
[node name="fence" parent="Decorations/slimepen3" instance=ExtResource("28_prydb")]
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/slimepen3" instance=ExtResource("28_prydb")]
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/slimepen3" instance=ExtResource("28_prydb")]
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/slimepen3" instance=ExtResource("28_prydb")]
transform = Transform3D(1.5, 0, 0, 0, 1.5, 0, 0, 0, 1.5, 0, 1.40507, -2.10425)
[node name="Player" parent="." instance=ExtResource("22_cuxj6")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.192051, 2.60275, 0)
[node name="Ambiance" type="AudioStreamPlayer" parent="."]
process_mode = 3
stream = ExtResource("22_4tylf")
volume_db = 7.0
autoplay = true
[node name="Music" type="AudioStreamPlayer" parent="."]
process_mode = 3
volume_db = -5.0
script = ExtResource("22_2pcqg")
[node name="Transition" type="Timer" parent="Music"]
one_shot = true
[node name="Tween" type="Timer" parent="Music"]
one_shot = true
[node name="villager" parent="." instance=ExtResource("24_ddfvk")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.32051, 2.42874, -0.151928)
[node name="villager2" parent="." instance=ExtResource("24_ddfvk")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.344183, 2.49657, 0.497255)
[node name="villager3" parent="." instance=ExtResource("24_ddfvk")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.1756, 2.30817, -0.040845)
[node name="villager4" parent="." instance=ExtResource("24_ddfvk")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.13518, 2.24888, -4.00956)
[node name="villager5" parent="." instance=ExtResource("24_ddfvk")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.124053, 2.37507, -4.54257)
[node name="villager6" parent="." instance=ExtResource("24_ddfvk")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0673849, 3.01779, -4.0846)
[node name="MeshInstance3D" parent="." instance=ExtResource("25_rm0cr")]
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("25_rm0cr")]
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("25_rm0cr")]
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("25_rm0cr")]
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("25_rm0cr")]
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("24_ddfvk")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.33509, 2.39757, -4.24071)
[node name="villager8" parent="." instance=ExtResource("24_ddfvk")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.31916, 2.22662, -3.08429)
[node name="villager9" parent="." instance=ExtResource("24_ddfvk")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.57973, 2.33972, -3.67175)
[node name="villager10" parent="." instance=ExtResource("24_ddfvk")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.91611, 2.37549, -1.0799)
[node name="villager11" parent="." instance=ExtResource("24_ddfvk")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.643094, 2.19164, 1.15459)
[node name="villager12" parent="." instance=ExtResource("24_ddfvk")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.982957, 2.26155, 0.763667)
[node name="villager13" parent="." instance=ExtResource("24_ddfvk")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.33971, 2.12543, 0.623835)
[node name="villager14" parent="." instance=ExtResource("24_ddfvk")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.11141, 2.26718, 0.608947)
[node name="villager15" parent="." instance=ExtResource("24_ddfvk")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.01736, 2.38815, -1.81019)
[node name="villager16" parent="." instance=ExtResource("24_ddfvk")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.89617, 2.21949, -3.20033)
[node name="villager17" parent="." instance=ExtResource("24_ddfvk")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.20015, 2.4323, -3.35734)
[node name="villager18" parent="." instance=ExtResource("24_ddfvk")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.54584, 2.33609, -4.4881)
[node name="villager19" parent="." instance=ExtResource("24_ddfvk")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.709331, 2.50856, -1.84133)
[node name="villager20" parent="." instance=ExtResource("24_ddfvk")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.75547, 2.33257, -1.63179)
[node name="villager21" parent="." instance=ExtResource("24_ddfvk")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.43468, 2.35865, -0.0161896)
[node name="villager22" parent="." instance=ExtResource("24_ddfvk")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.348403, 2.35328, -0.838555)
[node name="villager23" parent="." instance=ExtResource("24_ddfvk")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.743449, 2.39485, -1.09457)
[node name="villager24" parent="." instance=ExtResource("24_ddfvk")]
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")]
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")]
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")]
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")]
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")]
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")]
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="CollisionShape3D" type="CollisionShape3D" parent="WorldBottom"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.82605, 0)
shape = SubResource("WorldBoundaryShape3D_hf2jh")
[node name="WorldBarrier" type="StaticBody3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.798231, -0.956472)
[node name="CollisionShape3D" type="CollisionShape3D" parent="WorldBarrier"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3.12891, 5.37235)
shape = SubResource("BoxShape3D_um2bu")
[node name="WorldBarrier2" type="StaticBody3D" parent="."]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -1.29945, -0.798231, 0)
[node name="CollisionShape3D" type="CollisionShape3D" parent="WorldBarrier2"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.12274, 3.12891, 9.31375)
shape = SubResource("BoxShape3D_um2bu")
[node name="WorldBarrier4" type="StaticBody3D" parent="."]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -17.0471, -0.798231, 0)
[node name="CollisionShape3D" type="CollisionShape3D" parent="WorldBarrier4"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.12274, 3.12891, 9.31375)
shape = SubResource("BoxShape3D_um2bu")
[node name="WorldBarrier3" type="StaticBody3D" parent="."]
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 4.00923, -0.798231, -0.328403)
[node name="CollisionShape3D" type="CollisionShape3D" parent="WorldBarrier3"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.12274, 3.12891, 9.31375)
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="timeout" from="Music/Transition" to="Music" method="_on_transition_timer_timeout"]
[connection signal="timeout" from="Music/Tween" to="Music" method="_on_tween_timer_timeout"]

41
godot/Level/Music.gd Normal file
View file

@ -0,0 +1,41 @@
extends AudioStreamPlayer
var music_list = (["res://Sounds/GiantsLullaby.ogg",
"res://Sounds/IslandBoogie.ogg",
"res://Sounds/OrangeSky.ogg",
"res://Sounds/SlimeParty.ogg",
"res://Sounds/WelcomeToOceanCity.ogg"])
var song = music_list[randi() % music_list.size()]
var time_left
const TRANSITIONTIME = 2.0
@onready var transition_timer = $Transition
@onready var tween_timer = $Tween
# Called when the node enters the scene tree for the first time.
func _ready():
self.stream = load(song)
time_left = self.stream.get_length() - TRANSITIONTIME
tween_timer.start(time_left)
self.play()
func _on_finished():
transition_timer.start(TRANSITIONTIME/2)
func _on_transition_timer_timeout():
var last_played = song
var new_song = music_list[randi()% music_list.size()]
while new_song == last_played:
new_song = music_list[randi()% music_list.size()]
self.stream = load(new_song)
time_left = self.stream.get_length()- TRANSITIONTIME
tween_timer.start(time_left)
self.play()
func _on_tween_timer_timeout():
var tween = create_tween()
tween.tween_property(self, "volume_db", -20, TRANSITIONTIME)

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

@ -4,13 +4,14 @@
[sub_resource type="ShaderMaterial" id="ShaderMaterial_yagpk"]
shader = ExtResource("1_ldrc3")
shader_parameter/param = 40.0
shader_parameter/param2 = 20.0
shader_parameter/param = 20.0
shader_parameter/param2 = 15.0
shader_parameter/scale = 4.0
shader_parameter/grid = 5
shader_parameter/anim_period = 3.0
[node name="ScreenShader" type="CanvasLayer"]
process_mode = 1
[node name="ColorRect" type="ColorRect" parent="."]
material = SubResource("ShaderMaterial_yagpk")
@ -19,3 +20,4 @@ anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2

View file

@ -1,11 +1,24 @@
[gd_scene load_steps=2 format=3 uid="uid://b35w4hlh4n1jt"]
[gd_scene load_steps=5 format=3 uid="uid://b35w4hlh4n1jt"]
[ext_resource type="Texture2D" uid="uid://b53s6847b8ata" path="res://Textures/sunsetgradient.jpg" id="1_6dx4j"]
[sub_resource type="PanoramaSkyMaterial" id="PanoramaSkyMaterial_0nggy"]
panorama = ExtResource("1_6dx4j")
[sub_resource type="Sky" id="Sky_xyk6p"]
sky_material = SubResource("PanoramaSkyMaterial_0nggy")
[sub_resource type="Environment" id="Environment_cxd2l"]
background_mode = 1
background_mode = 2
background_color = Color(0.733333, 0.317647, 0, 1)
sky = SubResource("Sky_xyk6p")
ambient_light_source = 2
ambient_light_color = Color(1, 1, 1, 1)
ambient_light_energy = 0.1
ambient_light_color = Color(0.988235, 0.752941, 0.580392, 1)
ambient_light_energy = 0.01
fog_light_color = Color(0.670588, 0.333333, 0.129412, 1)
fog_sun_scatter = 0.25
fog_sky_affect = 0.0
volumetric_fog_sky_affect = 0.0
[node name="WorldEnvironment" type="WorldEnvironment"]
environment = SubResource("Environment_cxd2l")

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

View file

@ -0,0 +1,7 @@
extends Node3D
func _ready():
set_as_top_level(true)
func _process(_delta):
global_transform.origin = $"..".get_pickup_bone_location()

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

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=4 format=3 uid="uid://ce7jbp7f55cro"]
[gd_scene load_steps=5 format=3 uid="uid://ce7jbp7f55cro"]
[ext_resource type="PackedScene" uid="uid://cchgdggcbyk6f" path="res://Models/buildings/building_01.1.glb" id="1_8lstr"]
[ext_resource type="Texture2D" uid="uid://b4qbyum6h2mhf" path="res://Textures/building_01.png" id="2_w406q"]
@ -6,7 +6,16 @@
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_i2ykn"]
albedo_texture = ExtResource("2_w406q")
[sub_resource type="BoxShape3D" id="BoxShape3D_hr7fu"]
size = Vector3(0.183504, 0.527655, 0.184908)
[node name="building_01_1" instance=ExtResource("1_8lstr")]
[node name="node_id4" parent="root" index="0"]
surface_material_override/0 = SubResource("StandardMaterial3D_i2ykn")
[node name="StaticBody3D" type="StaticBody3D" parent="root" index="1"]
[node name="CollisionShape3D" type="CollisionShape3D" parent="root/StaticBody3D" index="0"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.251368)
shape = SubResource("BoxShape3D_hr7fu")

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=4 format=3 uid="uid://cx44bjuxlhq06"]
[gd_scene load_steps=5 format=3 uid="uid://cx44bjuxlhq06"]
[ext_resource type="PackedScene" uid="uid://buxxa2rq7s8eg" path="res://Models/buildings/building_01.2.glb" id="1_sy5sk"]
[ext_resource type="Texture2D" uid="uid://vnlqr1ob2tss" path="res://Textures/building_02.png" id="2_ns75r"]
@ -6,7 +6,16 @@
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ktg7d"]
albedo_texture = ExtResource("2_ns75r")
[sub_resource type="BoxShape3D" id="BoxShape3D_wy6bt"]
size = Vector3(0.377897, 0.527655, 0.362437)
[node name="building_01_2" instance=ExtResource("1_sy5sk")]
[node name="node_id4" parent="root" index="0"]
surface_material_override/0 = SubResource("StandardMaterial3D_ktg7d")
[node name="StaticBody3D" type="StaticBody3D" parent="." index="1"]
[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D" index="0"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.00178906, 0.251368)
shape = SubResource("BoxShape3D_wy6bt")

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=4 format=3 uid="uid://bm65tvb4irjqw"]
[gd_scene load_steps=5 format=3 uid="uid://bm65tvb4irjqw"]
[ext_resource type="PackedScene" uid="uid://dgm33vy6bq45y" path="res://Models/buildings/building_01.3.glb" id="1_6oij5"]
[ext_resource type="Texture2D" uid="uid://cew7em3xjhrbo" path="res://Textures/building_03.png" id="2_qgmwq"]
@ -6,7 +6,16 @@
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_h48n6"]
albedo_texture = ExtResource("2_qgmwq")
[sub_resource type="BoxShape3D" id="BoxShape3D_t3xdb"]
size = Vector3(0.366655, 0.527655, 0.367689)
[node name="building_01_3" instance=ExtResource("1_6oij5")]
[node name="node_id4" parent="root" index="0"]
surface_material_override/0 = SubResource("StandardMaterial3D_h48n6")
[node name="StaticBody3D" type="StaticBody3D" parent="root" index="1"]
[node name="CollisionShape3D" type="CollisionShape3D" parent="root/StaticBody3D" index="0"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.251368)
shape = SubResource("BoxShape3D_t3xdb")

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=4 format=3 uid="uid://tky3cco2k7v7"]
[gd_scene load_steps=5 format=3 uid="uid://tky3cco2k7v7"]
[ext_resource type="PackedScene" uid="uid://ct2lgbtpp3wp" path="res://Models/buildings/building_01.4.glb" id="1_xd1sg"]
[ext_resource type="Texture2D" uid="uid://ckmnisf86xgdu" path="res://Textures/building_05.png" id="2_1ortp"]
@ -6,7 +6,16 @@
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_3mjbs"]
albedo_texture = ExtResource("2_1ortp")
[sub_resource type="BoxShape3D" id="BoxShape3D_6nnc6"]
size = Vector3(0.53466, 0.527655, 0.526273)
[node name="building_01_4" instance=ExtResource("1_xd1sg")]
[node name="node_id4" parent="root" index="0"]
surface_material_override/0 = SubResource("StandardMaterial3D_3mjbs")
[node name="StaticBody3D" type="StaticBody3D" parent="root" index="1"]
[node name="CollisionShape3D" type="CollisionShape3D" parent="root/StaticBody3D" index="0"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.251368)
shape = SubResource("BoxShape3D_6nnc6")

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,8 @@
[gd_scene load_steps=2 format=3 uid="uid://cg2e4bfwkn30e"]
[ext_resource type="Material" uid="uid://b4e8ifjoy4m8i" path="res://Models/slime_pants.material" id="1_evexv"]
[node name="Node3D" type="Node3D"]
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
material_override = ExtResource("1_evexv")

View file

@ -1,6 +1,7 @@
extends Node3D
@onready var animation: AnimationNodeStateMachinePlayback = $AnimationTree.get("parameters/playback")
@onready var pickup_bone_idx = $rig/Skeleton3D.find_bone("PickupBone")
signal anim_check_grab(position: Vector3)
@ -28,8 +29,12 @@ func idle_hold():
animation.travel("IdleHold")
func animation_key_grab():
emit_signal("anim_check_grab", $GrabPointLocation.global_transform)
emit_signal("anim_check_grab", get_pickup_bone_location())
func get_pickup_bone_location() -> Vector3:
var trans = $rig/Skeleton3D.global_transform * $rig/Skeleton3D.get_bone_global_pose(pickup_bone_idx)
return trans.origin
func animation_key_pickup_completed():
pickup_animation_in_progress = false
emit_signal("pickup_animation_finished")

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

Binary file not shown.

View file

@ -1,10 +1,14 @@
[gd_scene load_steps=37 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="Script" path="res://Models/grape_man.gd" id="2_ksje8"]
[ext_resource type="AudioStream" uid="uid://csboqs15k3vps" path="res://Sounds/dropgrunt.ogg" id="3_c648b"]
[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://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"]
filter_enabled = true
filters = ["rig/Skeleton3D:forearm.L", "rig/Skeleton3D:forearm.R", "rig/Skeleton3D:head", "rig/Skeleton3D:upper_arm.L", "rig/Skeleton3D:upper_arm.R"]
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_s8uqe"]
@ -14,7 +18,7 @@ animation = &"UpperBodyIdle"
animation = &"Idle"
[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_ojr1k"]
graph_offset = Vector2(-312, -69)
graph_offset = Vector2(-74, 44)
nodes/Add2/node = SubResource("AnimationNodeAdd2_a0vxm")
nodes/Add2/position = Vector2(160, 80)
nodes/Animation/node = SubResource("AnimationNodeAnimation_4ft7i")
@ -24,7 +28,6 @@ nodes/Animation/position = Vector2(0, 80)
node_connections = [&"output", 0, &"Add2", &"Add2", 0, &"Animation", &"Add2", 1, &"Animation 2"]
[sub_resource type="AnimationNodeAdd2" id="AnimationNodeAdd2_4gk6k"]
filter_enabled = true
filters = ["rig/Skeleton3D:forearm.L", "rig/Skeleton3D:forearm.R", "rig/Skeleton3D:head", "rig/Skeleton3D:upper_arm.L", "rig/Skeleton3D:upper_arm.R"]
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_alnh1"]
@ -48,7 +51,6 @@ node_connections = [&"output", 0, &"Add2", &"Add2", 0, &"Animation", &"Add2", 1,
animation = &"Pickup"
[sub_resource type="AnimationNodeAdd2" id="AnimationNodeAdd2_rd6bn"]
filter_enabled = true
filters = ["rig/Skeleton3D:forearm.L", "rig/Skeleton3D:forearm.R", "rig/Skeleton3D:head", "rig/Skeleton3D:upper_arm.L", "rig/Skeleton3D:upper_arm.R"]
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_7s7tg"]
@ -58,7 +60,7 @@ animation = &"UpperBodyIdle"
animation = &"Walk"
[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_6rmmo"]
graph_offset = Vector2(-358.186, -79.7423)
graph_offset = Vector2(-384.186, 6.2577)
nodes/Add2/node = SubResource("AnimationNodeAdd2_rd6bn")
nodes/Add2/position = Vector2(140, 80)
nodes/Animation/node = SubResource("AnimationNodeAnimation_ir63n")
@ -68,7 +70,6 @@ nodes/Animation/position = Vector2(-40, 60)
node_connections = [&"output", 0, &"Add2", &"Add2", 0, &"Animation", &"Add2", 1, &"Animation 2"]
[sub_resource type="AnimationNodeAdd2" id="AnimationNodeAdd2_sv87c"]
filter_enabled = true
filters = ["rig/Skeleton3D:forearm.L", "rig/Skeleton3D:forearm.R", "rig/Skeleton3D:head", "rig/Skeleton3D:upper_arm.L", "rig/Skeleton3D:upper_arm.R"]
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_y7bu0"]
@ -147,14 +148,14 @@ states/WalkEmpty/position = Vector2(548, 208)
states/WalkHold/node = SubResource("AnimationNodeBlendTree_kalnq")
states/WalkHold/position = Vector2(351, 323)
transitions = ["Start", "IdleEmpty", SubResource("AnimationNodeStateMachineTransition_8sw6d"), "IdleEmpty", "WalkHold", SubResource("AnimationNodeStateMachineTransition_71rn8"), "WalkHold", "IdleEmpty", SubResource("AnimationNodeStateMachineTransition_cp7lp"), "WalkEmpty", "IdleEmpty", SubResource("AnimationNodeStateMachineTransition_27n2r"), "IdleEmpty", "WalkEmpty", SubResource("AnimationNodeStateMachineTransition_v26jl"), "IdleHold", "WalkHold", SubResource("AnimationNodeStateMachineTransition_u0rau"), "IdleHold", "WalkEmpty", SubResource("AnimationNodeStateMachineTransition_1hqga"), "WalkEmpty", "IdleHold", SubResource("AnimationNodeStateMachineTransition_uekhs"), "WalkHold", "IdleHold", SubResource("AnimationNodeStateMachineTransition_652wi"), "IdleEmpty", "Pickup", SubResource("AnimationNodeStateMachineTransition_sdgve"), "Pickup", "IdleEmpty", SubResource("AnimationNodeStateMachineTransition_otprv"), "IdleEmpty", "IdleHold", SubResource("AnimationNodeStateMachineTransition_fbwhh"), "IdleHold", "IdleEmpty", SubResource("AnimationNodeStateMachineTransition_4rq7a"), "WalkHold", "WalkEmpty", SubResource("AnimationNodeStateMachineTransition_oange"), "WalkEmpty", "WalkHold", SubResource("AnimationNodeStateMachineTransition_et4tx"), "Pickup", "IdleHold", SubResource("AnimationNodeStateMachineTransition_y2dr5")]
graph_offset = Vector2(26, 89)
graph_offset = Vector2(3, 172)
[node name="grape_man" instance=ExtResource("1_fh5yr")]
transform = Transform3D(0.065, 0, 0, 0, 0.065, 0, 0, 0, 0.065, 0, 0, 0)
script = ExtResource("2_ksje8")
[node name="Skeleton3D" parent="rig" index="0"]
bones/0/rotation = Quaternion(0.0861766, 0, 0, 0.99628)
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/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)
@ -167,13 +168,11 @@ bones/7/rotation = Quaternion(0.0142813, -6.34259e-18, -4.44044e-16, 0.999898)
bones/10/rotation = Quaternion(0.105246, 0.0039338, -0.0113526, 0.994374)
bones/15/rotation = Quaternion(0.105246, -0.0039338, 0.0113526, 0.994374)
[node name="GrabPointLocation" type="Node3D" parent="." index="2"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1.29365)
[node name="OmniLight3D" type="OmniLight3D" parent="." index="3"]
[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)
light_energy = 0.5
[node name="AnimationTree" type="AnimationTree" parent="." index="4"]
[node name="AnimationTree" type="AnimationTree" parent="." index="3"]
tree_root = SubResource("AnimationNodeStateMachine_6mfdu")
anim_player = NodePath("../AnimationPlayer")
active = true
@ -181,3 +180,22 @@ parameters/IdleEmpty/Add2/add_amount = 1.0
parameters/IdleHold/Add2/add_amount = 1.0
parameters/WalkEmpty/Add2/add_amount = 1.0
parameters/WalkHold/Add2/add_amount = 1.0
[node name="drop" type="AudioStreamPlayer" parent="." index="4"]
stream = ExtResource("3_c648b")
[node name="pickup" type="AudioStreamPlayer" parent="." index="5"]
stream = ExtResource("4_nvurj")
[node name="chuckle" type="AudioStreamPlayer" parent="." index="6"]
stream = ExtResource("5_b32re")
[node name="sad" type="AudioStreamPlayer" parent="." index="7"]
stream = ExtResource("6_qe4bi")
[node name="soundboard" type="AudioStreamPlayer" parent="." index="8"]
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"
type="CompressedTexture2D"
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={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
@ -13,12 +13,12 @@ generator_parameters={}
[deps]
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]
compress/mode=2
compress/high_quality=false
compress/high_quality=true
compress/lossy_quality=0.7
compress/hdr_compression=1
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=""
_subresources={
"nodes": {
"PATH:Ocean": {
"import/skip_import": true
"PATH:Island": {
"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

BIN
godot/Models/ring.glb (Stored with Git LFS) Normal file

Binary file not shown.

View file

@ -0,0 +1,32 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://frderao1bxgg"
path="res://.godot/imported/ring.glb-26ac43d74527a30dcde06236f951335f.scn"
[deps]
source_file="res://Models/ring.glb"
dest_files=["res://.godot/imported/ring.glb-26ac43d74527a30dcde06236f951335f.scn"]
[params]
nodes/root_type="Node3D"
nodes/root_name="Scene Root"
nodes/apply_root_scale=true
nodes/root_scale=1.0
meshes/ensure_tangents=true
meshes/generate_lods=true
meshes/create_shadow_meshes=true
meshes/light_baking=1
meshes/lightmap_texel_size=0.2
skins/use_named_skins=true
animation/import=true
animation/fps=30
animation/trimming=false
animation/remove_immutable_tracks=true
import_script/path=""
_subresources={}
gltf/embedded_image_handling=1

5
godot/Models/ring.tscn Normal file
View file

@ -0,0 +1,5 @@
[gd_scene load_steps=2 format=3 uid="uid://bcq7y48pnfq18"]
[ext_resource type="PackedScene" uid="uid://frderao1bxgg" path="res://Models/ring.glb" id="1_6ph58"]
[node name="ring" instance=ExtResource("1_6ph58")]

View file

@ -28,5 +28,17 @@ animation/fps=30
animation/trimming=false
animation/remove_immutable_tracks=true
import_script/path=""
_subresources={}
_subresources={
"materials": {
"50": {
"use_external/enabled": true,
"use_external/path": "res://Textures/rock.tres"
}
},
"nodes": {
"PATH:root/node_id4": {
"generate/physics": true
}
}
}
gltf/embedded_image_handling=1

View file

@ -28,5 +28,17 @@ animation/fps=30
animation/trimming=false
animation/remove_immutable_tracks=true
import_script/path=""
_subresources={}
_subresources={
"materials": {
"50": {
"use_external/enabled": true,
"use_external/path": "res://Textures/rock.tres"
}
},
"nodes": {
"PATH:root/node_id4": {
"generate/physics": true
}
}
}
gltf/embedded_image_handling=1

View file

@ -28,5 +28,17 @@ animation/fps=30
animation/trimming=false
animation/remove_immutable_tracks=true
import_script/path=""
_subresources={}
_subresources={
"materials": {
"50": {
"use_external/enabled": true,
"use_external/path": "res://Textures/rock.tres"
}
},
"nodes": {
"PATH:root/node_id4": {
"generate/physics": true
}
}
}
gltf/embedded_image_handling=1

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1,6 +1,23 @@
extends Node3D
@onready var animation_state: AnimationNodeStateMachinePlayback = $AnimationTree.get("parameters/playback")
@export var colors: Array[Color]
@onready var color_idx: int = randi() % colors.size()
var mat: Material
func _ready():
mat = $Armature/Skeleton3D/Slime.get_active_material(3).duplicate()
$Armature/Skeleton3D/Slime.set_surface_override_material(3, mat)
var color = colors[randi() % colors.size()]
mat.albedo_color = color
func change_color(idx: int):
color_idx = idx % colors.size()
var color = colors[color_idx]
get_tree().create_tween().tween_property(mat, "albedo_color", color, .3)
func get_color():
return colors[color_idx]
func walk():
animation_state.travel("Walk")

View file

@ -3628,6 +3628,12 @@ _subresources={
"slice_99/start_frame": 0,
"slices/amount": null
}
},
"materials": {
"Pants": {
"use_external/enabled": true,
"use_external/path": "res://Models/slime_pants.material"
}
}
}
gltf/embedded_image_handling=1

View file

@ -27,15 +27,19 @@ transitions = ["Walk", "Idle", SubResource("AnimationNodeStateMachineTransition_
[node name="slime" instance=ExtResource("1_jttw0")]
script = ExtResource("2_xo27e")
colors = Array[Color]([Color(0, 0.113725, 0.905882, 1), Color(0.592157, 0, 0.243137, 1), Color(0.513726, 0.360784, 0, 1), Color(0, 0.470588, 0.32549, 1), Color(0.423529, 0, 0.54902, 1)])
[node name="Armature" parent="." index="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"]
bones/1/position = Vector3(0, 0.437354, 0)
bones/1/position = Vector3(0, 0.421476, 0)
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/7/rotation = Quaternion(-0.236485, 2.38279e-09, 2.70266e-09, 0.971635)
bones/8/rotation = Quaternion(0.263182, -9.32379e-10, -4.07392e-10, 0.964746)
bones/10/rotation = Quaternion(0.224729, -5.42036e-08, -5.94067e-08, 0.974421)
bones/11/rotation = Quaternion(-0.270178, 7.30152e-08, 3.38983e-08, 0.962811)
bones/7/rotation = Quaternion(-0.257687, 2.32309e-09, 2.75415e-09, 0.966228)
bones/8/rotation = Quaternion(0.19232, -9.0028e-10, -4.74124e-10, 0.981332)
bones/10/rotation = Quaternion(0.252279, -5.58669e-08, -5.78452e-08, 0.967654)
bones/11/rotation = Quaternion(-0.195486, 7.54015e-08, 2.81945e-08, 0.980707)
[node name="AnimationTree" type="AnimationTree" parent="." index="2"]
tree_root = SubResource("AnimationNodeStateMachine_prt7l")

BIN
godot/Models/slime_pants.material (Stored with Git LFS) Normal file

Binary file not shown.

View file

@ -1,44 +1,74 @@
extends CharacterBody3D
const SPEED = 5.0
const SPEED = 0.4
const JUMP_VELOCITY = 4.5
@export var horiz_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 holding: WeakRef = weakref(null)
# Get the gravity from the project settings to be synced with RigidBody nodes.
var gravity = ProjectSettings.get_setting("physics/3d/default_gravity")
@onready var pause_menu = $PauseMenu
func _ready():
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):
# 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()
if obj:
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):
# Handle the rotation of the camera using mouse movement.
if event is InputEventMouseMotion:
rotate_y(deg_to_rad(-event.relative.x * horiz_sens))
$CameraMount.rotate_x(deg_to_rad(-event.relative.y * vert_sens))
$grape_man.rotate_y(deg_to_rad(event.relative.x * horiz_sens))
$CameraMount.global_rotation.x = clampf($CameraMount.global_rotation.x, deg_to_rad(-60), deg_to_rad(-11))
var roty = deg_to_rad(event.relative.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))
if Input.is_action_just_pressed("ui_accept"):
var obj = holding.get_ref()
if obj:
holding = weakref(null)
drop()
$grape_man/drop.play()
else:
$grape_man/pickup.play()
$grape_man.pickup()
if Input.is_action_just_pressed("Soundboard"):
var sound_list = (["res://Sounds/jingle.ogg",
"res://Sounds/yawn.ogg",
"res://Sounds/woohoo.ogg",
"res://Sounds/slimeu.ogg"])
var sound = sound_list[randi() % sound_list.size()]
$grape_man/soundboard.stream = load(sound)
$grape_man/soundboard.play()
func _physics_process(delta):
@ -79,7 +109,52 @@ func _physics_process(delta):
velocity.z = move_toward(velocity.z, 0, SPEED)
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():
var obj: Node3D = holding.get_ref()
if not obj:
print("dropped, but wasn't holding anything?")
return
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_physics_process(true)
holding = weakref(null)
func _on_grape_man_anim_check_grab(_position):
holding = weakref(self)
var obj = target.get_ref()
if not obj:
$grape_man/sad.play()
return
$grape_man/chuckle.play()
holding = target
target = weakref(null)
add_collision_exception_with(obj)
obj.set_process(false)
obj.set_physics_process(false)
func _on_holster_enter(body):
if target.get_ref() or holding.get_ref() or "is_holdable" not in body:
return
target = weakref(body)
func _on_holster_exit(body):
if not target.get_ref() or holding.get_ref() or "is_holdable" not in body:
return
target = weakref(null)

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

Binary file not shown.

View file

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

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

Binary file not shown.

View file

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

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

Binary file not shown.

View file

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

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

Binary file not shown.

View file

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

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

Binary file not shown.

View file

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

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

Binary file not shown.

View file

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

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

Binary file not shown.

View file

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

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

Binary file not shown.

View file

@ -0,0 +1,19 @@
[remap]
importer="oggvorbisstr"
type="AudioStreamOggVorbis"
uid="uid://cxadu5w3jwv0b"
path="res://.godot/imported/evilslime.ogg-6e8cb16dae9edaa23913d33a986a101b.oggvorbisstr"
[deps]
source_file="res://Sounds/evilslime.ogg"
dest_files=["res://.godot/imported/evilslime.ogg-6e8cb16dae9edaa23913d33a986a101b.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/Sounds/happyslime.ogg (Stored with Git LFS) Normal file

Binary file not shown.

View file

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

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

Binary file not shown.

View file

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

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

Binary file not shown.

View file

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

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

Binary file not shown.

View file

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

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

Binary file not shown.

View file

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

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

Binary file not shown.

View file

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

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

Binary file not shown.

View file

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

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

Binary file not shown.

View file

@ -0,0 +1,19 @@
[remap]
importer="oggvorbisstr"
type="AudioStreamOggVorbis"
uid="uid://gs0cxfn62d4y"
path="res://.godot/imported/yawn.ogg-84771ea7ecb9e9dc22c90aa208a644a4.oggvorbisstr"
[deps]
source_file="res://Sounds/yawn.ogg"
dest_files=["res://.godot/imported/yawn.ogg-84771ea7ecb9e9dc22c90aa208a644a4.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

@ -1,13 +0,0 @@
[gd_resource type="StandardMaterial3D" load_steps=3 format=3 uid="uid://yuhlhpwji3c4"]
[ext_resource type="Texture2D" uid="uid://d0pddcjy8uhp" path="res://Textures/leaves3.png" id="1_2cxg6"]
[ext_resource type="Texture2D" uid="uid://b2iu26wm0edrx" path="res://Textures/dirt1.png" id="1_yock7"]
[resource]
diffuse_mode = 3
specular_mode = 1
albedo_color = Color(1, 1, 0.682353, 1)
albedo_texture = ExtResource("1_yock7")
normal_texture = ExtResource("1_2cxg6")
uv1_scale = Vector3(150, 150, 150)
uv1_triplanar_sharpness = 0.00995752

View file

@ -6,7 +6,7 @@
[resource]
diffuse_mode = 3
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")
normal_texture = ExtResource("1_r1qrb")
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]
diffuse_mode = 3
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")
normal_texture = ExtResource("2_blarx")
uv1_scale = Vector3(2, 2, 2)

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

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show more