Compare commits
2 commits
83119f7b7b
...
44ab597ca7
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
44ab597ca7 | ||
|
|
956b5ef2d0 |
43 changed files with 1188 additions and 75 deletions
BIN
fonts/Handwritingg3.ttf
Normal file
BIN
fonts/Handwritingg3.ttf
Normal file
Binary file not shown.
36
fonts/Handwritingg3.ttf.import
Normal file
36
fonts/Handwritingg3.ttf.import
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
[remap]
|
||||
|
||||
importer="font_data_dynamic"
|
||||
type="FontFile"
|
||||
uid="uid://dkc6bfd6b4ibs"
|
||||
path="res://.godot/imported/Handwritingg3.ttf-11dfe316705da4dc23e8d7f8914b04ba.fontdata"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://fonts/Handwritingg3.ttf"
|
||||
dest_files=["res://.godot/imported/Handwritingg3.ttf-11dfe316705da4dc23e8d7f8914b04ba.fontdata"]
|
||||
|
||||
[params]
|
||||
|
||||
Rendering=null
|
||||
antialiasing=1
|
||||
generate_mipmaps=false
|
||||
disable_embedded_bitmaps=true
|
||||
multichannel_signed_distance_field=false
|
||||
msdf_pixel_range=8
|
||||
msdf_size=48
|
||||
allow_system_fallback=true
|
||||
force_autohinter=false
|
||||
modulate_color_glyphs=false
|
||||
hinting=1
|
||||
subpixel_positioning=4
|
||||
keep_rounding_remainders=true
|
||||
oversampling=0.0
|
||||
Fallbacks=null
|
||||
fallbacks=[]
|
||||
Compress=null
|
||||
compress=true
|
||||
preload=[]
|
||||
language_support={}
|
||||
script_support={}
|
||||
opentype_features={}
|
||||
BIN
fonts/PlaypenSans.ttf
Normal file
BIN
fonts/PlaypenSans.ttf
Normal file
Binary file not shown.
36
fonts/PlaypenSans.ttf.import
Normal file
36
fonts/PlaypenSans.ttf.import
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
[remap]
|
||||
|
||||
importer="font_data_dynamic"
|
||||
type="FontFile"
|
||||
uid="uid://b3o8fv6dxeoh2"
|
||||
path="res://.godot/imported/PlaypenSans.ttf-e19140ed34da710b84471ebc40667813.fontdata"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://fonts/PlaypenSans.ttf"
|
||||
dest_files=["res://.godot/imported/PlaypenSans.ttf-e19140ed34da710b84471ebc40667813.fontdata"]
|
||||
|
||||
[params]
|
||||
|
||||
Rendering=null
|
||||
antialiasing=1
|
||||
generate_mipmaps=false
|
||||
disable_embedded_bitmaps=true
|
||||
multichannel_signed_distance_field=false
|
||||
msdf_pixel_range=8
|
||||
msdf_size=48
|
||||
allow_system_fallback=true
|
||||
force_autohinter=false
|
||||
modulate_color_glyphs=false
|
||||
hinting=1
|
||||
subpixel_positioning=4
|
||||
keep_rounding_remainders=true
|
||||
oversampling=0.0
|
||||
Fallbacks=null
|
||||
fallbacks=[]
|
||||
Compress=null
|
||||
compress=true
|
||||
preload=[]
|
||||
language_support={}
|
||||
script_support={}
|
||||
opentype_features={}
|
||||
11
materials/brightshroom.tres
Normal file
11
materials/brightshroom.tres
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
[gd_resource type="StandardMaterial3D" format=3 uid="uid://2s8nf0t402xt"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://ln2b0h7jurye" path="res://textures/brightshroom.png" id="1_wk7lx"]
|
||||
|
||||
[resource]
|
||||
albedo_texture = ExtResource("1_wk7lx")
|
||||
emission_enabled = true
|
||||
emission_energy_multiplier = 0.66
|
||||
emission_texture = ExtResource("1_wk7lx")
|
||||
texture_filter = 0
|
||||
disable_receive_shadows = true
|
||||
11
materials/brightshroom_orange.tres
Normal file
11
materials/brightshroom_orange.tres
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
[gd_resource type="StandardMaterial3D" format=3 uid="uid://dkx2w75felif2"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://gotb5lmbe8ve" path="res://textures/brightshroom_orange.png" id="1_k7ca7"]
|
||||
|
||||
[resource]
|
||||
albedo_texture = ExtResource("1_k7ca7")
|
||||
emission_enabled = true
|
||||
emission_energy_multiplier = 0.66
|
||||
emission_texture = ExtResource("1_k7ca7")
|
||||
texture_filter = 0
|
||||
disable_receive_shadows = true
|
||||
9
materials/tile/stone_floor.tres
Normal file
9
materials/tile/stone_floor.tres
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
[gd_resource type="StandardMaterial3D" format=3 uid="uid://bivt02tm06osv"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://dfcoremq6wxa" path="res://textures/tile/stone_floor.png" id="1_433wp"]
|
||||
|
||||
[resource]
|
||||
albedo_texture = ExtResource("1_433wp")
|
||||
uv1_scale = Vector3(0.5, 0.5, 0.5)
|
||||
uv1_triplanar = true
|
||||
texture_filter = 0
|
||||
9
materials/tile/stone_wall.tres
Normal file
9
materials/tile/stone_wall.tres
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
[gd_resource type="StandardMaterial3D" format=3 uid="uid://bekoyi2mq1aiw"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://cubqnw40nk224" path="res://textures/tile/stone_wall.png" id="1_r8c0v"]
|
||||
|
||||
[resource]
|
||||
albedo_texture = ExtResource("1_r8c0v")
|
||||
uv1_scale = Vector3(0.5, 0.5, 0.5)
|
||||
uv1_triplanar = true
|
||||
texture_filter = 0
|
||||
9
materials/tile/stone_wall_small_rock.tres
Normal file
9
materials/tile/stone_wall_small_rock.tres
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
[gd_resource type="StandardMaterial3D" format=3 uid="uid://covj5ljosv6pt"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://b1iebalulbl7d" path="res://textures/tile/stone_wall_small_rock.png" id="1_mv5se"]
|
||||
|
||||
[resource]
|
||||
albedo_texture = ExtResource("1_mv5se")
|
||||
uv1_scale = Vector3(0.5, 0.5, 0.5)
|
||||
uv1_triplanar = true
|
||||
texture_filter = 0
|
||||
1
models/brightshroom.bbmodel
Normal file
1
models/brightshroom.bbmodel
Normal file
File diff suppressed because one or more lines are too long
1
models/brightshroom.gltf
Normal file
1
models/brightshroom.gltf
Normal file
File diff suppressed because one or more lines are too long
64
models/brightshroom.gltf.import
Normal file
64
models/brightshroom.gltf.import
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
[remap]
|
||||
|
||||
importer="scene"
|
||||
importer_version=1
|
||||
type="PackedScene"
|
||||
uid="uid://cj2yeoom4w7d1"
|
||||
path="res://.godot/imported/brightshroom.gltf-1328ddefd135ad00fef34fa526def2f2.scn"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://models/brightshroom.gltf"
|
||||
dest_files=["res://.godot/imported/brightshroom.gltf-1328ddefd135ad00fef34fa526def2f2.scn"]
|
||||
|
||||
[params]
|
||||
|
||||
nodes/root_type=""
|
||||
nodes/root_name=""
|
||||
nodes/root_script=null
|
||||
nodes/apply_root_scale=true
|
||||
nodes/root_scale=1.0
|
||||
nodes/import_as_skeleton_bones=false
|
||||
nodes/use_name_suffixes=true
|
||||
nodes/use_node_type_suffixes=true
|
||||
meshes/ensure_tangents=true
|
||||
meshes/generate_lods=true
|
||||
meshes/create_shadow_meshes=true
|
||||
meshes/light_baking=1
|
||||
meshes/lightmap_texel_size=0.2
|
||||
meshes/force_disable_compression=false
|
||||
skins/use_named_skins=true
|
||||
animation/import=true
|
||||
animation/fps=30
|
||||
animation/trimming=false
|
||||
animation/remove_immutable_tracks=true
|
||||
animation/import_rest_as_RESET=false
|
||||
import_script/path=""
|
||||
materials/extract=0
|
||||
materials/extract_format=0
|
||||
materials/extract_path=""
|
||||
_subresources={
|
||||
"materials": {
|
||||
"material_0": {
|
||||
"use_external/enabled": true,
|
||||
"use_external/fallback_path": "res://materials/brightshroom.tres",
|
||||
"use_external/path": "uid://2s8nf0t402xt"
|
||||
}
|
||||
},
|
||||
"nodes": {
|
||||
"PATH:mesh": {
|
||||
"generate/physics": true,
|
||||
"mesh_instance/cast_shadow": 0,
|
||||
"physics/layer": 255,
|
||||
"physics/mask": 255
|
||||
},
|
||||
"PATH:mesh2": {
|
||||
"generate/physics": true,
|
||||
"mesh_instance/cast_shadow": 0,
|
||||
"physics/layer": 255,
|
||||
"physics/mask": 255
|
||||
}
|
||||
}
|
||||
}
|
||||
gltf/naming_version=2
|
||||
gltf/embedded_image_handling=1
|
||||
|
|
@ -20,10 +20,18 @@ config/icon="res://icon.svg"
|
|||
Global="*uid://4hvgybxt05qj"
|
||||
LimboConsole="*uid://dyxornv8vwibg"
|
||||
|
||||
[editor]
|
||||
|
||||
movie_writer/movie_file="/home/lukas/Videos/movie/movie.avi"
|
||||
|
||||
[editor_plugins]
|
||||
|
||||
enabled=PackedStringArray("res://addons/godot_super-wakatime/plugin.cfg", "res://addons/limbo_console/plugin.cfg")
|
||||
|
||||
[global_group]
|
||||
|
||||
navigation_mesh_source_group=""
|
||||
|
||||
[input]
|
||||
|
||||
move_left={
|
||||
|
|
@ -81,6 +89,11 @@ limbo_console_search_history={
|
|||
]
|
||||
}
|
||||
|
||||
[navigation]
|
||||
|
||||
3d/default_cell_size=0.05
|
||||
3d/default_cell_height=0.05
|
||||
|
||||
[physics]
|
||||
|
||||
3d/physics_engine="Jolt Physics"
|
||||
|
|
@ -89,9 +102,9 @@ limbo_console_search_history={
|
|||
|
||||
textures/canvas_textures/default_texture_filter=0
|
||||
rendering_device/driver.windows="d3d12"
|
||||
renderer/rendering_method="mobile"
|
||||
lights_and_shadows/directional_shadow/size=2048
|
||||
lights_and_shadows/directional_shadow/size.mobile=1024
|
||||
lights_and_shadows/directional_shadow/soft_shadow_filter_quality=0
|
||||
textures/decals/filter=0
|
||||
textures/light_projectors/filter=0
|
||||
environment/defaults/default_clear_color=Color(0, 0, 0, 1)
|
||||
|
|
|
|||
20
scenes/effects/damage_text.tscn
Normal file
20
scenes/effects/damage_text.tscn
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
[gd_scene format=3 uid="uid://b2w6hcvr8mimm"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dwcbey8lgg1p2" path="res://scripts/effects/damage_text.gd" id="1_2aaxa"]
|
||||
[ext_resource type="FontFile" uid="uid://dkc6bfd6b4ibs" path="res://fonts/Handwritingg3.ttf" id="1_24n7w"]
|
||||
|
||||
[node name="DamageText" type="RigidBody3D" unique_id=670799148]
|
||||
mass = 0.001
|
||||
script = ExtResource("1_2aaxa")
|
||||
|
||||
[node name="Label" type="Label3D" parent="." unique_id=1717375385]
|
||||
pixel_size = 0.001
|
||||
billboard = 1
|
||||
no_depth_test = true
|
||||
fixed_size = true
|
||||
render_priority = 100
|
||||
outline_render_priority = 99
|
||||
modulate = Color(1, 0, 0, 1)
|
||||
text = "96"
|
||||
font = ExtResource("1_24n7w")
|
||||
font_size = 48
|
||||
|
|
@ -47,11 +47,9 @@ animations = [{
|
|||
}]
|
||||
|
||||
[node name="Slash" type="AnimatedSprite3D" unique_id=1787289120]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 0, 0, 0)
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, -8.742278e-08, -4.371139e-08, 1, -3.821371e-15, 1, 4.371139e-08, 0, 0, 0)
|
||||
pixel_size = 0.04
|
||||
no_depth_test = true
|
||||
texture_filter = 0
|
||||
render_priority = 99
|
||||
sprite_frames = SubResource("SpriteFrames_ir15t")
|
||||
frame = 4
|
||||
frame_progress = 1.0
|
||||
|
|
|
|||
181
scenes/game.tscn
181
scenes/game.tscn
|
|
@ -3,15 +3,24 @@
|
|||
[ext_resource type="Script" uid="uid://dhfun46prq3uk" path="res://scripts/game.gd" id="1_gee14"]
|
||||
[ext_resource type="Script" uid="uid://crf3d7dpjvlsl" path="res://scripts/player_camera.gd" id="1_lnu2h"]
|
||||
[ext_resource type="Script" uid="uid://66iq60cxqomg" path="res://scripts/player.gd" id="1_yqjtg"]
|
||||
[ext_resource type="Material" uid="uid://bivt02tm06osv" path="res://materials/tile/stone_floor.tres" id="2_gee14"]
|
||||
[ext_resource type="Material" uid="uid://bekoyi2mq1aiw" path="res://materials/tile/stone_wall.tres" id="3_dinhu"]
|
||||
[ext_resource type="Material" uid="uid://covj5ljosv6pt" path="res://materials/tile/stone_wall_small_rock.tres" id="4_kvuet"]
|
||||
[ext_resource type="Texture2D" uid="uid://b6krbvbco0jt6" path="res://textures/shadow.png" id="4_lbhrr"]
|
||||
[ext_resource type="PackedScene" uid="uid://cnii80nh1mxr2" path="res://scenes/assets/dreamer_body.tscn" id="4_p57ef"]
|
||||
[ext_resource type="PackedScene" uid="uid://cnii80nh1mxr2" path="res://scenes/living/dreamer_body.tscn" id="4_p57ef"]
|
||||
[ext_resource type="PackedScene" uid="uid://b0kty7juk7rfo" path="res://models/stalagmite.gltf" id="5_iywne"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/enemies/slime.tscn" id="6_u5sy4"]
|
||||
[ext_resource type="PackedScene" uid="uid://co5p7h3exggvh" path="res://scenes/living/slime.tscn" id="6_u5sy4"]
|
||||
[ext_resource type="PackedScene" uid="uid://b6otq05jy7m6d" path="res://scenes/prefabs/brightshroom.tscn" id="9_vtaks"]
|
||||
[ext_resource type="PackedScene" uid="uid://boelsm35tk0k6" path="res://scenes/prefabs/brightshroom_orange.tscn" id="10_kvpfn"]
|
||||
[ext_resource type="PackedScene" uid="uid://b2w6hcvr8mimm" path="res://scenes/effects/damage_text.tscn" id="11_kvpfn"]
|
||||
[ext_resource type="Script" uid="uid://vi18m3j6f6fa" path="res://scripts/enemies/dreamer.gd" id="12_trtic"]
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_lbhrr"]
|
||||
albedo_color = Color(0.61, 0.28791997, 0.17079999, 1)
|
||||
|
||||
[sub_resource type="Environment" id="Environment_uwrxv"]
|
||||
[sub_resource type="NavigationMesh" id="NavigationMesh_kvuet"]
|
||||
vertices = PackedVector3Array(-7.5, 0.55766946, -7.5, -7.5, 0.55766946, 7.5, -6.5, 0.55766946, 7.5, -6.5, 0.55766946, -7.5, -5.5, 6.5576696, -7.5, -5.5, 6.5576696, 7.5, -4.45, 6.5576696, 7.5, -4.45, 6.5576696, -7.5, -2.1, 0.55766946, -1.75, -1.6999998, 0.55766946, -0.6999998, -1.4499998, 0.55766946, -0.5499997, 0.8000002, 0.55766946, -1.5499997, 1.1500006, 0.55766946, -1.7999997, 0.75, 0.55766946, -0.6999998, 0.6999998, 0.55766946, -1.3499999, -2.5499997, 0.6576695, -2.1, -2.35, 0.55766946, -2, 1.5, 0.55766946, -1.7999997, 1.5, 0.55766946, -7.5, -3.0499997, 0.9076695, -7.5, -2.4812498, 0.55766946, -7.5, -1.9985709, 0.55766946, -2.6038594, -2.303679, 0.55766946, -3.802743, -3.0499997, 0.9076695, -2.1, 2.1500006, 0.55766946, -0.5999999, 2.9499998, 0.55766946, 1.25, 3.1000004, 0.55766946, 1.1500006, 2.25, 0.55766946, -0.75, 1.8000002, 0.55766946, -1.7999997, 5.25, 0.55766946, 1.4000006, 5.3500004, 0.55766946, 1.9000006, 7.5, 0.55766946, 1.8500004, 2.25, 0.55766946, -1.3499999, 4.9000006, 0.55766946, 1.1500006, 2.1500006, 0.55766946, -1.5499997, 7.5, 0.55766946, -7.5, 1.3000002, 2.5576694, -1.1999998, 1.3000002, 2.5576694, -0.8499999, 1.6000004, 2.5576694, -0.8499999, 1.6000004, 2.6076694, -1.1999998, -1.25, 0.55766946, -0.4000001, -0.5499997, 0.55766946, 0.8500004, 1, 0.55766946, -0.4000001, -0.3499999, 0.55766946, 1.4000006, -0.7999997, 0.55766946, 1.9000006, -0.19999981, 0.55766946, 2.25, -0.3499999, 0.55766946, 1.1999998, 0.15000057, 0.55766946, 2.75, 2.6500006, 0.55766946, 1.6000004, 1.8000002, 0.55766946, -0.2999997, 1.1500006, 0.55766946, -0.2999997, 2.6500006, 0.55766946, 2.75, -3.25, 1.9576695, -0.4000001, -3.25, 1.9576695, 0.10000038, -3.1, 2.0576694, 0.05000019, -3.35, 1.8076694, 1.6000004, -3.35, 1.8076694, 2.75, -2.65, 1.6076694, 2.5, -3, 1.7076695, 1.5, 5.3500004, 0.55766946, 3.1000004, 7.5, 0.55766946, 3.1500006, -0.6500001, 0.55766946, 4.1500006, -0.5499997, 0.55766946, 4.25, -0.099999905, 0.55766946, 3.8500004, 0.05000019, 0.55766946, 3.1500006, 0.6000004, 0.55766946, 3.8500004, 2.75, 0.55766946, 3.5500002, 2.6500006, 0.55766946, 3.4000006, 0.19999981, 0.55766946, 3.75, -0.4499998, 7.0576696, 3.0500002, -0.4499998, 7.0576696, 3.9499998, 0.4499998, 7.0576696, 3.9499998, 0.4499998, 7.0576696, 3.0500002, 5.3500004, 0.55766946, 3.4000006, 5.1000004, 0.55766946, 3.75, 4.6500006, 0.55766946, 7.5, 7.5, 0.55766946, 7.5, 4.6000004, 0.55766946, 3.8500004, 0.9000006, 0.55766946, 4.2, 2.9499998, 0.55766946, 3.75, 1.0500002, 0.55766946, 4.5, 3.1000004, 0.55766946, 3.8500004, 0.9499998, 0.55766946, 5, 0.40000057, 0.55766946, 5.3500004, 0.15000057, 0.55766946, 7.5, 3.3500004, 0.55766946, 7.5, 3.4000006, 0.55766946, 3.8500004, 0.15000057, 0.55766946, 5.4000006, -0.5999999, 0.55766946, 4.6000004, -1, 0.55766946, 4.6000004, -1.9000001, 0.55766946, 7.25, -2.5, 0.6076694, 7.5, -1.1999998, 0.55766946, 4.7, -0.3499999, 0.55766946, 5.1500006, -1.5, 0.55766946, 4.6500006, -1.2999997, 0.55766946, 5.3500004, -0.19999981, 0.55766946, 5.3, -1.5999999, 0.55766946, 5.75, -1.5999999, 0.55766946, 6.8500004, -1.9000001, 0.55766946, 5.8500004, -0.049999714, 2.5576694, 4.45, 0.05000019, 2.5576694, 4.75, 0.4499998, 2.6076694, 4.6500006, 0.35000038, 2.6076694, 4.3, -3.25, 1.9576695, 4.6000004, -3.25, 1.9576695, 5.1500006, -3.1, 2.0576694, 5.1000004, -3.2999997, 1.8076694, 6.7, -2.75, 1.7076695, 6.55, -2.9, 1.7576694, 6, -3.2999997, 1.8076694, 5.8)
|
||||
polygons = [PackedInt32Array(3, 2, 0), PackedInt32Array(0, 2, 1), PackedInt32Array(7, 6, 4), PackedInt32Array(4, 6, 5), PackedInt32Array(9, 8, 10), PackedInt32Array(10, 8, 11), PackedInt32Array(11, 8, 12), PackedInt32Array(14, 13, 10), PackedInt32Array(11, 14, 10), PackedInt32Array(20, 22, 19), PackedInt32Array(19, 22, 15), PackedInt32Array(15, 21, 16), PackedInt32Array(16, 21, 12), PackedInt32Array(12, 18, 17), PackedInt32Array(18, 22, 20), PackedInt32Array(22, 21, 15), PackedInt32Array(21, 22, 12), PackedInt32Array(12, 22, 18), PackedInt32Array(15, 23, 19), PackedInt32Array(12, 8, 16), PackedInt32Array(25, 24, 26), PackedInt32Array(26, 24, 27), PackedInt32Array(28, 17, 18), PackedInt32Array(31, 30, 29), PackedInt32Array(27, 32, 26), PackedInt32Array(26, 32, 33), PackedInt32Array(31, 29, 33), PackedInt32Array(34, 28, 18), PackedInt32Array(32, 34, 33), PackedInt32Array(33, 34, 31), PackedInt32Array(31, 34, 18), PackedInt32Array(31, 18, 35), PackedInt32Array(39, 38, 36), PackedInt32Array(36, 38, 37), PackedInt32Array(40, 10, 13), PackedInt32Array(42, 41, 13), PackedInt32Array(13, 41, 40), PackedInt32Array(45, 44, 43), PackedInt32Array(43, 46, 45), PackedInt32Array(45, 46, 47), PackedInt32Array(49, 48, 50), PackedInt32Array(50, 48, 51), PackedInt32Array(50, 51, 46), PackedInt32Array(46, 51, 47), PackedInt32Array(24, 25, 49), PackedInt32Array(49, 25, 48), PackedInt32Array(42, 50, 41), PackedInt32Array(41, 50, 46), PackedInt32Array(54, 53, 52), PackedInt32Array(58, 57, 55), PackedInt32Array(55, 57, 56), PackedInt32Array(30, 31, 59), PackedInt32Array(59, 31, 60), PackedInt32Array(62, 61, 63), PackedInt32Array(63, 61, 64), PackedInt32Array(67, 66, 65), PackedInt32Array(68, 63, 64), PackedInt32Array(68, 64, 65), PackedInt32Array(65, 64, 47), PackedInt32Array(65, 47, 67), PackedInt32Array(67, 47, 51), PackedInt32Array(72, 71, 69), PackedInt32Array(69, 71, 70), PackedInt32Array(73, 59, 60), PackedInt32Array(73, 60, 74), PackedInt32Array(74, 60, 76), PackedInt32Array(74, 76, 75), PackedInt32Array(75, 77, 74), PackedInt32Array(79, 78, 66), PackedInt32Array(66, 78, 65), PackedInt32Array(81, 80, 79), PackedInt32Array(79, 80, 78), PackedInt32Array(83, 82, 84), PackedInt32Array(84, 82, 85), PackedInt32Array(85, 82, 86), PackedInt32Array(83, 84, 87), PackedInt32Array(81, 86, 80), PackedInt32Array(80, 86, 82), PackedInt32Array(86, 77, 85), PackedInt32Array(85, 77, 75), PackedInt32Array(62, 88, 61), PackedInt32Array(61, 88, 89), PackedInt32Array(90, 84, 91), PackedInt32Array(89, 88, 92), PackedInt32Array(92, 88, 93), PackedInt32Array(94, 92, 95), PackedInt32Array(95, 92, 93), PackedInt32Array(95, 93, 96), PackedInt32Array(96, 87, 95), PackedInt32Array(95, 87, 97), PackedInt32Array(97, 87, 98), PackedInt32Array(98, 87, 84), PackedInt32Array(84, 90, 98), PackedInt32Array(97, 98, 99), PackedInt32Array(101, 100, 102), PackedInt32Array(102, 100, 103), PackedInt32Array(106, 105, 104), PackedInt32Array(108, 107, 109), PackedInt32Array(109, 107, 110)]
|
||||
geometry_source_geometry_mode = 1
|
||||
cell_size = 0.05
|
||||
cell_height = 0.05
|
||||
|
||||
[sub_resource type="CameraAttributesPractical" id="CameraAttributesPractical_yqjtg"]
|
||||
|
||||
|
|
@ -22,20 +31,127 @@ size = Vector3(1.2, 1, 1.3)
|
|||
radius = 0.15
|
||||
height = 1.0
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_trtic"]
|
||||
size = Vector3(0.65, 1, 0.65)
|
||||
|
||||
[sub_resource type="Environment" id="Environment_uwrxv"]
|
||||
background_mode = 1
|
||||
background_color = Color(0.21272367, 0.00026760699, 0.30778188, 1)
|
||||
tonemap_mode = 2
|
||||
volumetric_fog_enabled = true
|
||||
|
||||
[node name="Game" type="Node3D" unique_id=1358608749]
|
||||
script = ExtResource("1_gee14")
|
||||
|
||||
[node name="CSGBox3D" type="CSGBox3D" parent="." unique_id=1781956012]
|
||||
[node name="Navmesh" type="NavigationRegion3D" parent="." unique_id=1857418222]
|
||||
visible = false
|
||||
navigation_mesh = SubResource("NavigationMesh_kvuet")
|
||||
|
||||
[node name="Map" type="Node3D" parent="." unique_id=19914124 groups=["navigation_mesh_source_group"]]
|
||||
|
||||
[node name="CSG" type="Node3D" parent="Map" unique_id=1150408155]
|
||||
|
||||
[node name="CSGBox3D" type="CSGBox3D" parent="Map/CSG" unique_id=1781956012]
|
||||
layers = 1023
|
||||
use_collision = true
|
||||
collision_layer = 255
|
||||
collision_mask = 255
|
||||
size = Vector3(16, 1, 16)
|
||||
material = SubResource("StandardMaterial3D_lbhrr")
|
||||
material = ExtResource("2_gee14")
|
||||
|
||||
[node name="CSGBox3D2" type="CSGBox3D" parent="Map/CSG" unique_id=1285894233]
|
||||
layers = 1023
|
||||
use_collision = true
|
||||
collision_layer = 255
|
||||
collision_mask = 255
|
||||
size = Vector3(16, 1, 16)
|
||||
material = ExtResource("2_gee14")
|
||||
|
||||
[node name="CSGBox3D3" type="CSGBox3D" parent="Map/CSG" unique_id=646817034]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5, 3, 0)
|
||||
layers = 1023
|
||||
use_collision = true
|
||||
collision_layer = 255
|
||||
collision_mask = 255
|
||||
size = Vector3(2, 7, 16)
|
||||
material = ExtResource("3_dinhu")
|
||||
|
||||
[node name="CSGBox3D6" type="CSGBox3D" parent="Map/CSG" unique_id=647905404]
|
||||
transform = Transform3D(0.85165083, -0.42261833, 0.30997553, 0.39713126, 0.90630776, 0.14454395, -0.34202015, 0, 0.93969274, -3.2622721, 0.7556524, 4.6872506)
|
||||
layers = 1023
|
||||
use_collision = true
|
||||
collision_layer = 255
|
||||
collision_mask = 255
|
||||
size = Vector3(2, 2, 2)
|
||||
material = ExtResource("4_kvuet")
|
||||
|
||||
[node name="CSGBox3D9" type="CSGBox3D" parent="Map/CSG" unique_id=805609263]
|
||||
transform = Transform3D(0.85165083, -0.42261833, 0.30997553, 0.39713126, 0.90630776, 0.14454395, -0.34202015, 0, 0.93969274, -3.2622721, 0.7556524, -0.3127494)
|
||||
layers = 1023
|
||||
use_collision = true
|
||||
collision_layer = 255
|
||||
collision_mask = 255
|
||||
size = Vector3(2, 2, 2)
|
||||
material = ExtResource("4_kvuet")
|
||||
|
||||
[node name="CSGBox3D7" type="CSGBox3D" parent="Map/CSG" unique_id=2127978297]
|
||||
transform = Transform3D(-0.90767354, 0.2588191, -0.330366, 0.24321029, 0.96592575, 0.088521294, 0.3420201, 3.7856495e-08, -0.9396926, -3.5780458, 0.7556524, 2.1872506)
|
||||
layers = 1023
|
||||
use_collision = true
|
||||
collision_layer = 255
|
||||
collision_mask = 255
|
||||
size = Vector3(2, 2, 2)
|
||||
material = ExtResource("4_kvuet")
|
||||
|
||||
[node name="CSGBox3D8" type="CSGBox3D" parent="Map/CSG" unique_id=1149175002]
|
||||
transform = Transform3D(-0.9254167, 0.17364825, -0.33682403, 0.16317584, 0.98480767, 0.05939115, 0.3420201, 3.7856495e-08, -0.9396926, -3.5780458, 0.7556524, 6.1872506)
|
||||
layers = 1023
|
||||
use_collision = true
|
||||
collision_layer = 255
|
||||
collision_mask = 255
|
||||
size = Vector3(2, 2, 2)
|
||||
material = ExtResource("4_kvuet")
|
||||
|
||||
[node name="CSGBox3D4" type="CSGBox3D" parent="Map/CSG" unique_id=1670932518]
|
||||
transform = Transform3D(0.9396926, -0.34202012, 0, 0.34202012, 0.9396926, 0, 0, 0, 1, -4, 1, 0)
|
||||
layers = 1023
|
||||
use_collision = true
|
||||
collision_layer = 255
|
||||
collision_mask = 255
|
||||
size = Vector3(1, 3, 16)
|
||||
material = ExtResource("3_dinhu")
|
||||
|
||||
[node name="CSGBox3D5" type="CSGBox3D" parent="Map/CSG" unique_id=1498895198]
|
||||
transform = Transform3D(0.5000001, -0.86602545, 0, 0.86602545, 0.5000001, 0, 0, 0, 1, -3.5, 0.5, 0)
|
||||
layers = 1023
|
||||
use_collision = true
|
||||
collision_layer = 255
|
||||
collision_mask = 255
|
||||
size = Vector3(1, 3, 16)
|
||||
material = ExtResource("4_kvuet")
|
||||
|
||||
[node name="Props" type="Node3D" parent="Map" unique_id=2137952764]
|
||||
|
||||
[node name="Stalagmite" parent="Map/Props" unique_id=39322424 instance=ExtResource("5_iywne")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 0.48141205, 2.5)
|
||||
|
||||
[node name="Stalagmite4" parent="Map/Props" unique_id=1700522460 instance=ExtResource("5_iywne")]
|
||||
transform = Transform3D(-1, -8.742278e-08, 0, 8.742278e-08, -1, 0, 0, 0, 1, 0, 6.981412, 3.5)
|
||||
|
||||
[node name="Stalagmite2" parent="Map/Props" unique_id=703385516 instance=ExtResource("5_iywne")]
|
||||
transform = Transform3D(0.81915206, 0, -0.57357645, 0, 1, 0, 0.57357645, 0, 0.81915206, -1.5, 0.48141205, 3)
|
||||
|
||||
[node name="Stalagmite3" parent="Map/Props" unique_id=370634587 instance=ExtResource("5_iywne")]
|
||||
transform = Transform3D(0.50000006, 0, -0.86602557, 0, 0.9, 0, 0.86602557, 0, 0.50000006, -2, 0.48141205, 1)
|
||||
|
||||
[node name="blockbench_export" parent="Map/Props" unique_id=1509742770 instance=ExtResource("9_vtaks")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.4827318, 0.4921612, -1.048477)
|
||||
|
||||
[node name="blockbench_export2" parent="Map/Props" unique_id=992880863 instance=ExtResource("10_kvpfn")]
|
||||
transform = Transform3D(0.34202015, 0, -0.9396926, 0, 1, 0, 0.9396926, 0, 0.34202015, 0.2356708, 0.49367946, 4.5695834)
|
||||
|
||||
[node name="PlayerCamera" type="Camera3D" parent="." unique_id=1101523944]
|
||||
transform = Transform3D(0.7071067, -0.40557978, 0.5792279, 0, 0.819152, 0.5735764, -0.7071067, -0.40557978, 0.5792279, 4, 6.5, 4)
|
||||
environment = SubResource("Environment_uwrxv")
|
||||
attributes = SubResource("CameraAttributesPractical_yqjtg")
|
||||
fov = 65.0
|
||||
script = ExtResource("1_lnu2h")
|
||||
|
|
@ -69,12 +185,47 @@ shape = SubResource("CapsuleShape3D_yqjtg")
|
|||
[node name="Floorcast" type="RayCast3D" parent="Player" unique_id=991770843]
|
||||
target_position = Vector3(0, -16, 0)
|
||||
|
||||
[node name="Dreamer" type="CharacterBody3D" parent="." unique_id=1925258977]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, -4.5)
|
||||
collision_layer = 2
|
||||
collision_mask = 2
|
||||
script = ExtResource("12_trtic")
|
||||
|
||||
[node name="HitCollision" type="Area3D" parent="Dreamer" unique_id=1754593615]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.1500001, 0)
|
||||
collision_layer = 0
|
||||
collision_mask = 2
|
||||
|
||||
[node name="Shape" type="CollisionShape3D" parent="Dreamer/HitCollision" unique_id=1642136717]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.5, 0, 0)
|
||||
shape = SubResource("BoxShape3D_trtic")
|
||||
|
||||
[node name="DreamerBody" parent="Dreamer" unique_id=595793987 instance=ExtResource("4_p57ef")]
|
||||
|
||||
[node name="Shadow" type="Sprite3D" parent="Dreamer" unique_id=701404522]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -2, 0)
|
||||
modulate = Color(1, 1, 1, 0.5764706)
|
||||
pixel_size = 0.03
|
||||
axis = 1
|
||||
texture_filter = 0
|
||||
texture = ExtResource("4_lbhrr")
|
||||
|
||||
[node name="Collision" type="CollisionShape3D" parent="Dreamer" unique_id=555914177]
|
||||
shape = SubResource("CapsuleShape3D_yqjtg")
|
||||
|
||||
[node name="Floorcast" type="RayCast3D" parent="Dreamer" unique_id=844808342]
|
||||
target_position = Vector3(0, -16, 0)
|
||||
|
||||
[node name="Navigator" type="NavigationAgent3D" parent="Dreamer" unique_id=1232298712]
|
||||
path_postprocessing = 2
|
||||
debug_enabled = true
|
||||
|
||||
[node name="Slime" parent="." unique_id=393738189 instance=ExtResource("6_u5sy4")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 3, -3.81)
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 3, -3.81)
|
||||
|
||||
[node name="Sun" type="DirectionalLight3D" parent="." unique_id=1000747668]
|
||||
transform = Transform3D(5.337265e-08, 0.90171933, -0.4323222, -0.3453802, 0.40571806, 0.8462301, 0.93846303, 0.14931537, 0.31143594, 0, 0, 0)
|
||||
shadow_enabled = true
|
||||
[node name="WorldEnvironment" type="WorldEnvironment" parent="." unique_id=1956400862]
|
||||
environment = SubResource("Environment_uwrxv")
|
||||
|
||||
[node name="Stalagmite" parent="." unique_id=39322424 instance=ExtResource("5_iywne")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.48141205, 3)
|
||||
[node name="DamageText" parent="." unique_id=670799148 instance=ExtResource("11_kvpfn")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.23, 0)
|
||||
gravity_scale = 2.5
|
||||
|
|
|
|||
|
|
@ -1,8 +1,10 @@
|
|||
[gd_scene format=3 uid="uid://cnii80nh1mxr2"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://dp3jbqmr5toth" path="res://textures/character-body.png" id="1_06ej8"]
|
||||
[ext_resource type="Script" uid="uid://c8sptss1aulmi" path="res://scripts/dreamer_body.gd" id="1_54k0m"]
|
||||
[ext_resource type="Texture2D" uid="uid://3ptkafoafq14" path="res://textures/character-leg.png" id="2_54k0m"]
|
||||
[ext_resource type="Texture2D" uid="uid://rgxhw23471ut" path="res://textures/character-arm.png" id="3_yptk5"]
|
||||
[ext_resource type="Texture2D" uid="uid://cvtipichutylm" path="res://textures/test-sword.png" id="5_54k0m"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_gee14"]
|
||||
length = 0.001
|
||||
|
|
@ -97,10 +99,10 @@ tracks/7/path = NodePath("Body/ArmPivot/FrontArm:position")
|
|||
tracks/7/interp = 1
|
||||
tracks/7/loop_wrap = true
|
||||
tracks/7/keys = {
|
||||
"times": PackedFloat32Array(),
|
||||
"transitions": PackedFloat32Array(),
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": []
|
||||
"values": [Vector3(0.089999996, 0, 0)]
|
||||
}
|
||||
tracks/8/type = "value"
|
||||
tracks/8/imported = false
|
||||
|
|
@ -121,10 +123,70 @@ tracks/9/path = NodePath("Body/ArmPivot/BackArm:position")
|
|||
tracks/9/interp = 1
|
||||
tracks/9/loop_wrap = true
|
||||
tracks/9/keys = {
|
||||
"times": PackedFloat32Array(),
|
||||
"transitions": PackedFloat32Array(),
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": []
|
||||
"values": [Vector3(-0.089999996, 0, 0)]
|
||||
}
|
||||
tracks/10/type = "value"
|
||||
tracks/10/imported = false
|
||||
tracks/10/enabled = true
|
||||
tracks/10/path = NodePath("Body/ArmPivot/FrontArm:position:z")
|
||||
tracks/10/interp = 1
|
||||
tracks/10/loop_wrap = true
|
||||
tracks/10/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [0.0]
|
||||
}
|
||||
tracks/11/type = "value"
|
||||
tracks/11/imported = false
|
||||
tracks/11/enabled = true
|
||||
tracks/11/path = NodePath("Body/ArmPivot/BackArm:position:z")
|
||||
tracks/11/interp = 1
|
||||
tracks/11/loop_wrap = true
|
||||
tracks/11/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [0.0]
|
||||
}
|
||||
tracks/12/type = "value"
|
||||
tracks/12/imported = false
|
||||
tracks/12/enabled = true
|
||||
tracks/12/path = NodePath("Body/BackLeg:position:z")
|
||||
tracks/12/interp = 1
|
||||
tracks/12/loop_wrap = true
|
||||
tracks/12/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [0.0]
|
||||
}
|
||||
tracks/13/type = "value"
|
||||
tracks/13/imported = false
|
||||
tracks/13/enabled = true
|
||||
tracks/13/path = NodePath("Body/FrontLeg:position:z")
|
||||
tracks/13/interp = 1
|
||||
tracks/13/loop_wrap = true
|
||||
tracks/13/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [0.0]
|
||||
}
|
||||
tracks/14/type = "value"
|
||||
tracks/14/imported = false
|
||||
tracks/14/enabled = true
|
||||
tracks/14/path = NodePath("Body/ArmPivot:rotation")
|
||||
tracks/14/interp = 1
|
||||
tracks/14/loop_wrap = true
|
||||
tracks/14/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0, 0, 0)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_u5sy4"]
|
||||
|
|
@ -228,6 +290,59 @@ tracks/7/keys = {
|
|||
"values": [Vector3(0, 0, -1.134464)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_yptk5"]
|
||||
resource_name = "hold_weapon"
|
||||
length = 0.2
|
||||
loop_mode = 1
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Body/ArmPivot/FrontArm:rotation")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0, 0, 4.7996554)]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("Body/ArmPivot/BackArm:rotation")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0, 0, -1.1606439)]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("Body/ArmPivot/FrontArm:position")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0.045, -0.1, 0)]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("Body/ArmPivot/BackArm:position")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0, 0, 0)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_p57ef"]
|
||||
resource_name = "jump"
|
||||
length = 0.2
|
||||
|
|
@ -429,6 +544,110 @@ tracks/7/keys = {
|
|||
"values": [Vector3(0, 0, -0.5235988)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_54k0m"]
|
||||
resource_name = "limbs_back"
|
||||
loop_mode = 1
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Body/ArmPivot/FrontArm:position:z")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [0.01]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("Body/ArmPivot/BackArm:position:z")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [-0.01]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("Body/BackLeg:position:z")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [-0.012]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("Body/FrontLeg:position:z")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [-0.011]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_06ej8"]
|
||||
resource_name = "limbs_front"
|
||||
loop_mode = 1
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Body/ArmPivot/FrontArm:position:z")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [-0.01]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("Body/ArmPivot/BackArm:position:z")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [0.01]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("Body/BackLeg:position:z")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [0.012]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("Body/FrontLeg:position:z")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [0.011]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_0tnpc"]
|
||||
resource_name = "move"
|
||||
loop_mode = 1
|
||||
|
|
@ -493,18 +712,51 @@ tracks/4/keys = {
|
|||
"values": []
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_ny5xw"]
|
||||
resource_name = "swing_weapon"
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Body/ArmPivot:rotation")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 0.01, 0.04, 0.1),
|
||||
"transitions": PackedFloat32Array(1, 1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0, 0, -0.9599311), Vector3(0, 0, -0.9599311), Vector3(0, 0, 1.0471976), Vector3(0, 0, 1.012291)]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_vtaks"]
|
||||
_data = {
|
||||
&"RESET": SubResource("Animation_gee14"),
|
||||
&"fall": SubResource("Animation_u5sy4"),
|
||||
&"hold_weapon": SubResource("Animation_yptk5"),
|
||||
&"jump": SubResource("Animation_p57ef"),
|
||||
&"leap": SubResource("Animation_vtaks"),
|
||||
&"move": SubResource("Animation_0tnpc")
|
||||
&"limbs_back": SubResource("Animation_54k0m"),
|
||||
&"limbs_front": SubResource("Animation_06ej8"),
|
||||
&"move": SubResource("Animation_0tnpc"),
|
||||
&"swing_weapon": SubResource("Animation_ny5xw")
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationNodeAdd2" id="AnimationNodeAdd2_06ej8"]
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_vtaks"]
|
||||
animation = &"leap"
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_54k0m"]
|
||||
animation = &"limbs_front"
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_yptk5"]
|
||||
animation = &"limbs_back"
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_06ej8"]
|
||||
animation = &"hold_weapon"
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_ny5xw"]
|
||||
animation = &"swing_weapon"
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_p57ef"]
|
||||
animation = &"jump"
|
||||
|
||||
|
|
@ -513,8 +765,15 @@ animation = &"jump"
|
|||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_u5sy4"]
|
||||
animation = &"fall"
|
||||
|
||||
[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_54k0m"]
|
||||
filter_enabled = true
|
||||
filters = ["Body/ArmPivot/BackArm:position", "Body/ArmPivot/BackArm:rotation", "Body/ArmPivot/FrontArm:position", "Body/ArmPivot/FrontArm:rotation"]
|
||||
sync = true
|
||||
|
||||
[sub_resource type="AnimationNodeOneShot" id="AnimationNodeOneShot_u5sy4"]
|
||||
|
||||
[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_ny5xw"]
|
||||
|
||||
[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_kvpfn"]
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_gee14"]
|
||||
|
|
@ -523,14 +782,19 @@ animation = &"move"
|
|||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_0tnpc"]
|
||||
animation = &"RESET"
|
||||
|
||||
[sub_resource type="AnimationNodeOneShot" id="AnimationNodeOneShot_06ej8"]
|
||||
filter_enabled = true
|
||||
filters = ["Body/ArmPivot:rotation"]
|
||||
|
||||
[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_vtaks"]
|
||||
|
||||
[sub_resource type="AnimationNodeTimeScale" id="AnimationNodeTimeScale_p57ef"]
|
||||
|
||||
[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_kvpfn"]
|
||||
nodes/output/position = Vector2(1140, 140)
|
||||
graph_offset = Vector2(242.94073, -68.15653)
|
||||
nodes/output/position = Vector2(2140, 100)
|
||||
nodes/jump/node = SubResource("AnimationNodeOneShot_u5sy4")
|
||||
nodes/jump/position = Vector2(860, 140)
|
||||
nodes/jump/position = Vector2(860, 100)
|
||||
nodes/reset/node = SubResource("AnimationNodeAnimation_0tnpc")
|
||||
nodes/reset/position = Vector2(60, 20)
|
||||
nodes/move/node = SubResource("AnimationNodeAnimation_gee14")
|
||||
|
|
@ -549,48 +813,85 @@ nodes/fall_anim/position = Vector2(260, 400)
|
|||
"nodes/Animation 2/position" = Vector2(480, 420)
|
||||
nodes/leap/node = SubResource("AnimationNodeBlend2_kvpfn")
|
||||
nodes/leap/position = Vector2(670.4032, 137.15503)
|
||||
node_connections = [&"output", 0, &"jump", &"jump", 0, &"leap", &"jump", 1, &"Animation", &"walk", 0, &"reset", &"walk", 1, &"walk_speed", &"walk_speed", 0, &"move", &"fall", 0, &"walk", &"fall", 1, &"fall_anim", &"leap", 0, &"fall", &"leap", 1, &"Animation 2"]
|
||||
nodes/Add2/node = SubResource("AnimationNodeAdd2_06ej8")
|
||||
nodes/Add2/position = Vector2(1220, 100)
|
||||
nodes/layering/node = SubResource("AnimationNodeBlend2_ny5xw")
|
||||
nodes/layering/position = Vector2(1060, 280)
|
||||
"nodes/Animation 3/node" = SubResource("AnimationNodeAnimation_54k0m")
|
||||
"nodes/Animation 3/position" = Vector2(860, 400)
|
||||
"nodes/Animation 4/node" = SubResource("AnimationNodeAnimation_yptk5")
|
||||
"nodes/Animation 4/position" = Vector2(860, 580)
|
||||
nodes/hold_weapon/node = SubResource("AnimationNodeBlend2_54k0m")
|
||||
nodes/hold_weapon/position = Vector2(1560, 80)
|
||||
"nodes/Animation 5/node" = SubResource("AnimationNodeAnimation_06ej8")
|
||||
"nodes/Animation 5/position" = Vector2(1380, 360)
|
||||
nodes/swing_weapon/node = SubResource("AnimationNodeOneShot_06ej8")
|
||||
nodes/swing_weapon/position = Vector2(1900, 60)
|
||||
"nodes/Animation 6/node" = SubResource("AnimationNodeAnimation_ny5xw")
|
||||
"nodes/Animation 6/position" = Vector2(1700, 340)
|
||||
node_connections = [&"output", 0, &"swing_weapon", &"jump", 0, &"leap", &"jump", 1, &"Animation", &"walk", 0, &"reset", &"walk", 1, &"walk_speed", &"walk_speed", 0, &"move", &"fall", 0, &"walk", &"fall", 1, &"fall_anim", &"leap", 0, &"fall", &"leap", 1, &"Animation 2", &"Add2", 0, &"jump", &"Add2", 1, &"layering", &"layering", 0, &"Animation 3", &"layering", 1, &"Animation 4", &"hold_weapon", 0, &"Add2", &"hold_weapon", 1, &"Animation 5", &"swing_weapon", 0, &"hold_weapon", &"swing_weapon", 1, &"Animation 6"]
|
||||
|
||||
[node name="DreamerBody" type="Node3D" unique_id=723408850]
|
||||
script = ExtResource("1_54k0m")
|
||||
|
||||
[node name="Body" type="Sprite3D" parent="." unique_id=318419732]
|
||||
pixel_size = 0.03
|
||||
shaded = true
|
||||
alpha_cut = 2
|
||||
texture_filter = 0
|
||||
render_priority = 2
|
||||
texture = ExtResource("1_06ej8")
|
||||
|
||||
[node name="FrontLeg" type="Sprite3D" parent="Body" unique_id=289058799]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.045, -0.09000015, 0)
|
||||
offset = Vector2(-0.5, -10)
|
||||
pixel_size = 0.03
|
||||
shaded = true
|
||||
alpha_cut = 2
|
||||
texture_filter = 0
|
||||
render_priority = 1
|
||||
texture = ExtResource("2_54k0m")
|
||||
|
||||
[node name="BackLeg" type="Sprite3D" parent="Body" unique_id=1402882774]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.044999994, -0.09000015, 0)
|
||||
offset = Vector2(-0.5, -10)
|
||||
pixel_size = 0.03
|
||||
shaded = true
|
||||
alpha_cut = 2
|
||||
texture_filter = 0
|
||||
texture = ExtResource("2_54k0m")
|
||||
|
||||
[node name="ArmPivot" type="Sprite3D" parent="Body" unique_id=1160612764]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.1500001, 0)
|
||||
shaded = true
|
||||
alpha_cut = 2
|
||||
|
||||
[node name="FrontArm" type="Sprite3D" parent="Body/ArmPivot" unique_id=1602877548]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.089999996, 0, 0)
|
||||
offset = Vector2(0, -6)
|
||||
pixel_size = 0.03
|
||||
shaded = true
|
||||
alpha_cut = 2
|
||||
texture_filter = 0
|
||||
render_priority = 6
|
||||
texture = ExtResource("3_yptk5")
|
||||
|
||||
[node name="HandPoint" type="Node3D" parent="Body/ArmPivot/FrontArm" unique_id=709125335]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.24, 0.001)
|
||||
|
||||
[node name="Sword" type="Sprite3D" parent="Body/ArmPivot/FrontArm/HandPoint" unique_id=1523806768]
|
||||
transform = Transform3D(-4.371139e-08, -1, 0, 1, -4.371139e-08, 0, 0, 0, 1, 0, 0, 0)
|
||||
offset = Vector2(0, 5.5)
|
||||
pixel_size = 0.03
|
||||
shaded = true
|
||||
alpha_cut = 2
|
||||
texture_filter = 0
|
||||
texture = ExtResource("5_54k0m")
|
||||
|
||||
[node name="BackArm" type="Sprite3D" parent="Body/ArmPivot" unique_id=111008142]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.089999996, 0, 0)
|
||||
offset = Vector2(0, -6)
|
||||
pixel_size = 0.03
|
||||
shaded = true
|
||||
alpha_cut = 2
|
||||
texture_filter = 0
|
||||
render_priority = -1
|
||||
texture = ExtResource("3_yptk5")
|
||||
|
||||
[node name="Animations" type="AnimationPlayer" parent="." unique_id=705651586]
|
||||
|
|
@ -606,3 +907,9 @@ parameters/walk/blend_amount = 0.0
|
|||
parameters/walk_speed/scale = 3.140000000000001
|
||||
parameters/fall/blend_amount = 0.0
|
||||
parameters/leap/blend_amount = 0.0
|
||||
parameters/Add2/add_amount = 1.0
|
||||
parameters/layering/blend_amount = 0.0
|
||||
parameters/hold_weapon/blend_amount = 0.0
|
||||
parameters/swing_weapon/active = false
|
||||
parameters/swing_weapon/internal_active = false
|
||||
parameters/swing_weapon/request = 0
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
[gd_scene format=3 uid="uid://dkiydumtthgk7"]
|
||||
[gd_scene format=3 uid="uid://co5p7h3exggvh"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://c7gns73bldktx" path="res://scripts/slime.gd" id="1_4h4y0"]
|
||||
[ext_resource type="Script" uid="uid://c7gns73bldktx" path="res://scripts/enemies/slime.gd" id="1_4h4y0"]
|
||||
[ext_resource type="Texture2D" uid="uid://b6krbvbco0jt6" path="res://textures/shadow.png" id="2_b58ev"]
|
||||
[ext_resource type="Texture2D" uid="uid://b8sc3vq5pmwil" path="res://textures/slime.png" id="3_ankfk"]
|
||||
|
||||
|
|
@ -152,15 +152,9 @@ shape = SubResource("CapsuleShape3D_0tnpc")
|
|||
[node name="Floorcast" type="RayCast3D" parent="." unique_id=216872080]
|
||||
target_position = Vector3(0, -16, 0)
|
||||
|
||||
[node name="HealthLabel" type="Label3D" parent="." unique_id=933867608]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.8399999, 0)
|
||||
pixel_size = 0.01
|
||||
billboard = 1
|
||||
text = "hello!"
|
||||
|
||||
[node name="Body" type="Sprite3D" parent="." unique_id=1136011871]
|
||||
transform = Transform3D(0.7, 0, 0, 0, 1.3, 0, 0, 0, 1, 0, 0.05, 0)
|
||||
pixel_size = 0.03
|
||||
shaded = true
|
||||
texture_filter = 0
|
||||
texture = ExtResource("3_ankfk")
|
||||
|
||||
11
scenes/prefabs/brightshroom.tscn
Normal file
11
scenes/prefabs/brightshroom.tscn
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
[gd_scene format=3 uid="uid://b6otq05jy7m6d"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://cj2yeoom4w7d1" path="res://models/brightshroom.gltf" id="1_pvbcs"]
|
||||
|
||||
[node name="blockbench_export" unique_id=1509742770 instance=ExtResource("1_pvbcs")]
|
||||
|
||||
[node name="OmniLight3D" type="OmniLight3D" parent="." index="2" unique_id=1156755560]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.6, 0)
|
||||
light_color = Color(0.26707304, 0.71508616, 0.9999997, 1)
|
||||
light_energy = 1.265
|
||||
shadow_enabled = true
|
||||
18
scenes/prefabs/brightshroom_orange.tscn
Normal file
18
scenes/prefabs/brightshroom_orange.tscn
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
[gd_scene format=3 uid="uid://boelsm35tk0k6"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://cj2yeoom4w7d1" path="res://models/brightshroom.gltf" id="1_jlgeb"]
|
||||
[ext_resource type="Material" uid="uid://dkx2w75felif2" path="res://materials/brightshroom_orange.tres" id="2_8mb4p"]
|
||||
|
||||
[node name="blockbench_export" unique_id=1509742770 instance=ExtResource("1_jlgeb")]
|
||||
|
||||
[node name="mesh" parent="." index="0" unique_id=360524914]
|
||||
surface_material_override/0 = ExtResource("2_8mb4p")
|
||||
|
||||
[node name="mesh2" parent="." index="1" unique_id=978628742]
|
||||
surface_material_override/0 = ExtResource("2_8mb4p")
|
||||
|
||||
[node name="OmniLight3D" type="OmniLight3D" parent="." index="2" unique_id=474035198]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.6, 0)
|
||||
light_color = Color(1, 0.51865834, 0.3416382, 1)
|
||||
light_energy = 1.265
|
||||
shadow_enabled = true
|
||||
10
scripts/dreamer_body.gd
Normal file
10
scripts/dreamer_body.gd
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
extends Node3D
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready() -> void:
|
||||
pass # Replace with function body.
|
||||
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(delta: float) -> void:
|
||||
$Body/FrontLeg.position.z = 2
|
||||
1
scripts/dreamer_body.gd.uid
Normal file
1
scripts/dreamer_body.gd.uid
Normal file
|
|
@ -0,0 +1 @@
|
|||
uid://c8sptss1aulmi
|
||||
15
scripts/effects/damage_text.gd
Normal file
15
scripts/effects/damage_text.gd
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
extends RigidBody3D
|
||||
|
||||
func _ready() -> void:
|
||||
linear_velocity = Vector3(
|
||||
randf_range(-1.5, 1.5),
|
||||
randf_range(4, 6),
|
||||
randf_range(-1.5, 1.5)
|
||||
)
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
$Label.modulate.a -= delta * 0.8
|
||||
$Label.outline_modulate.a -= delta * 0.8
|
||||
|
||||
if $Label.modulate.a <= 0:
|
||||
queue_free()
|
||||
1
scripts/effects/damage_text.gd.uid
Normal file
1
scripts/effects/damage_text.gd.uid
Normal file
|
|
@ -0,0 +1 @@
|
|||
uid://dwcbey8lgg1p2
|
||||
163
scripts/enemies/dreamer.gd
Normal file
163
scripts/enemies/dreamer.gd
Normal file
|
|
@ -0,0 +1,163 @@
|
|||
extends CharacterBody3D
|
||||
|
||||
const SPEED = 2.5
|
||||
const JUMP_VELOCITY = 3.5
|
||||
|
||||
var walk_animation_time = 0
|
||||
var face_rotation = null
|
||||
var face_left = false
|
||||
|
||||
var combatable = true
|
||||
|
||||
var iframes = 0
|
||||
var knockback_time = 0
|
||||
var health = 100
|
||||
|
||||
|
||||
var current_weapon = "test_sword"
|
||||
|
||||
enum {
|
||||
STATE_IDLE,
|
||||
STATE_APPROACH_ENEMY,
|
||||
STATE_CHARGE_ATTACK,
|
||||
STATE_ATTACK
|
||||
}
|
||||
|
||||
@onready var game = get_parent()
|
||||
@onready var player = game.get_node("Player")
|
||||
|
||||
|
||||
@onready var navigation_agent: NavigationAgent3D = $Navigator
|
||||
|
||||
func hit_me():
|
||||
iframes = 0.5
|
||||
health -= 10
|
||||
|
||||
func get_my_weapon_info(value: String):
|
||||
return get_weapon_info(current_weapon, value)
|
||||
|
||||
func get_weapon_info(weapon: String, value: String):
|
||||
if value in Global.weapons[weapon]:
|
||||
return Global.weapons[weapon][value]
|
||||
else: return null
|
||||
|
||||
func on_hit(hitter: Node3D = null) -> void:
|
||||
iframes = 0.8
|
||||
|
||||
if hitter:
|
||||
knockback_time = 0.25
|
||||
velocity += hitter.global_position.direction_to(global_position) * 8
|
||||
velocity.y = 0
|
||||
|
||||
func _ready() -> void:
|
||||
$DreamerBody.look_at(game.get_node("PlayerCamera").global_position)
|
||||
$DreamerBody.rotation.x = 0
|
||||
face_rotation = $DreamerBody.rotation.y
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
if iframes > 0:
|
||||
iframes -= delta
|
||||
$DreamerBody/Body.modulate.a = 0.5
|
||||
else:
|
||||
$DreamerBody/Body.modulate.a = 1
|
||||
|
||||
if knockback_time > 0:
|
||||
knockback_time -= delta
|
||||
|
||||
func _physics_process(delta: float) -> void:
|
||||
if not is_on_floor():
|
||||
velocity += get_gravity() * delta
|
||||
|
||||
var viewport_half = (get_viewport().get_visible_rect().size / 2.0)
|
||||
var player_position = Vector2.ZERO #camera.unproject_position(global_transform.origin)
|
||||
|
||||
if face_left:
|
||||
$DreamerBody.rotation.y = face_rotation + deg_to_rad(180)
|
||||
$DreamerBody/Animator.set("parameters/layering/blend_amount", 1.0)
|
||||
else:
|
||||
$DreamerBody.rotation.y = face_rotation
|
||||
$DreamerBody/Animator.set("parameters/layering/blend_amount", 0.0)
|
||||
|
||||
var mouse_point_angle = player_position.angle_to_point(get_viewport().get_mouse_position())
|
||||
|
||||
if combatable:
|
||||
#$DreamerBody/Body/ArmPivot.rotation.z = mouse_point_angle
|
||||
$HitCollision.rotation.y = -mouse_point_angle + face_rotation
|
||||
|
||||
if abs(rad_to_deg(mouse_point_angle) - (-90)) < 50:
|
||||
$HitCollision/Shape.shape.size.x = 1.5
|
||||
else:
|
||||
$HitCollision/Shape.shape.size.x = 1.2
|
||||
|
||||
if (rad_to_deg(mouse_point_angle) < -90) or (rad_to_deg(mouse_point_angle) > 90):
|
||||
face_left = true
|
||||
|
||||
var mouse_pos = get_viewport().get_mouse_position()
|
||||
mouse_pos.y = (viewport_half.y) + ((viewport_half.y) - mouse_pos.y)
|
||||
|
||||
#$DreamerBody/Body/ArmPivot.rotation.z = viewport_half.angle_to_point(mouse_pos)
|
||||
else:
|
||||
face_left = false
|
||||
$DreamerBody/Body/ArmPivot.scale.y = 1
|
||||
$DreamerBody/Body/ArmPivot.scale.x = 1
|
||||
else:
|
||||
$DreamerBody/Body/ArmPivot.global_rotation.y = face_rotation
|
||||
$DreamerBody/Body/ArmPivot.scale.y = 1
|
||||
$DreamerBody/Body/ArmPivot.scale.x = 1
|
||||
$DreamerBody/Body/ArmPivot.rotation.z = 0
|
||||
|
||||
if false:
|
||||
velocity.y = JUMP_VELOCITY
|
||||
$DreamerBody/Animator.set("parameters/jump/request", AnimationNodeOneShot.ONE_SHOT_REQUEST_FIRE)
|
||||
|
||||
navigation_agent.set_target_position(player.global_position)
|
||||
|
||||
var next_path_position: Vector3 = navigation_agent.get_next_path_position()
|
||||
|
||||
var direction = global_position.direction_to(next_path_position)
|
||||
|
||||
if direction.x > 0:
|
||||
face_left = false
|
||||
if direction.x < 0:
|
||||
face_left = true
|
||||
|
||||
if direction and (knockback_time <= 0):
|
||||
velocity.x = direction.x * SPEED
|
||||
velocity.z = direction.z * SPEED
|
||||
|
||||
$DreamerBody/Animator.set("parameters/walk/blend_amount", abs(direction.length()))
|
||||
else:
|
||||
|
||||
velocity.x = move_toward(velocity.x, 0, delta * 4)
|
||||
velocity.z = move_toward(velocity.z, 0, delta * 4)
|
||||
|
||||
$DreamerBody/Animator.set("parameters/walk/blend_amount", 0)
|
||||
|
||||
if direction and is_on_floor():
|
||||
walk_animation_time += delta * 25
|
||||
|
||||
$DreamerBody.position.y = sin(walk_animation_time + 1) / 16
|
||||
$DreamerBody.rotation.z = sin(walk_animation_time / 2) / 16
|
||||
else:
|
||||
walk_animation_time = 0
|
||||
|
||||
$DreamerBody.rotation.z /= 1 + (delta * 2.5)
|
||||
|
||||
$DreamerBody.position.y /= 1 + (delta * 12)
|
||||
|
||||
if is_on_floor():
|
||||
$DreamerBody/Animator.set("parameters/fall/blend_amount", 0)
|
||||
$DreamerBody/Animator.set("parameters/leap/blend_amount", 0)
|
||||
else:
|
||||
if velocity.y < 0:
|
||||
$DreamerBody/Animator.set("parameters/fall/blend_amount", 1)
|
||||
$DreamerBody/Animator.set("parameters/leap/blend_amount", 0)
|
||||
else:
|
||||
$DreamerBody/Animator.set("parameters/fall/blend_amount", 0)
|
||||
$DreamerBody/Animator.set("parameters/leap/blend_amount", 1)
|
||||
|
||||
move_and_slide()
|
||||
|
||||
|
||||
$Shadow.global_position.y = $Floorcast.get_collision_point().y + 0.01
|
||||
|
||||
1
scripts/enemies/dreamer.gd.uid
Normal file
1
scripts/enemies/dreamer.gd.uid
Normal file
|
|
@ -0,0 +1 @@
|
|||
uid://vi18m3j6f6fa
|
||||
|
|
@ -6,8 +6,7 @@ const JUMP_VELOCITY = 4.5
|
|||
var face_rotation = null
|
||||
var face_left = false
|
||||
|
||||
var combatable = false
|
||||
var health = 40
|
||||
var health = 35
|
||||
var mid_knockback = false
|
||||
|
||||
@onready var player = get_parent().get_node("Player")
|
||||
|
|
@ -17,6 +16,7 @@ enum {
|
|||
STATE_JUMP,
|
||||
STATE_LEAP,
|
||||
STATE_HIT,
|
||||
STATE_DEATH
|
||||
}
|
||||
|
||||
var state = STATE_IDLE
|
||||
|
|
@ -40,9 +40,10 @@ func _ready() -> void:
|
|||
$Body/Animator.play("idle")
|
||||
|
||||
func _physics_process(delta: float) -> void:
|
||||
if health <= 0:
|
||||
queue_free()
|
||||
return
|
||||
if (health <= 0) and (state != STATE_DEATH):
|
||||
state = STATE_DEATH
|
||||
state_timer = 0.75
|
||||
$Body/Animator.play("jump")
|
||||
|
||||
state_timer -= delta
|
||||
|
||||
|
|
@ -59,6 +60,9 @@ func _physics_process(delta: float) -> void:
|
|||
velocity = global_position.direction_to(player.global_position) * 3
|
||||
velocity.y = 3
|
||||
|
||||
elif state == STATE_DEATH:
|
||||
queue_free()
|
||||
|
||||
elif (state == STATE_LEAP) and is_on_floor():
|
||||
state = STATE_IDLE
|
||||
state_timer = randf_range(0.8, 1.5)
|
||||
|
|
@ -69,6 +73,8 @@ func _physics_process(delta: float) -> void:
|
|||
state_timer = 0.5
|
||||
|
||||
$Body/Animator.play("idle")
|
||||
elif (state == STATE_DEATH):
|
||||
pass
|
||||
|
||||
if iframes > 0:
|
||||
iframes -= delta
|
||||
|
|
@ -76,7 +82,7 @@ func _physics_process(delta: float) -> void:
|
|||
else:
|
||||
$Body.modulate.a = 1
|
||||
|
||||
$HealthLabel.text = str(health)
|
||||
#wa$HealthLabel.text = str(health)
|
||||
|
||||
if not is_on_floor():
|
||||
velocity += get_gravity() * delta
|
||||
|
|
@ -89,22 +95,9 @@ func _physics_process(delta: float) -> void:
|
|||
else:
|
||||
$Body.rotation.y = face_rotation
|
||||
|
||||
|
||||
var input_dir := Vector2.ZERO
|
||||
if not combatable:
|
||||
if input_dir.x > 0:
|
||||
face_left = false
|
||||
if input_dir.x < 0:
|
||||
face_left = true
|
||||
|
||||
var direction = (camera.transform.basis * Vector3(input_dir.x, 0, input_dir.y)).normalized()
|
||||
if is_on_floor() and not mid_knockback:
|
||||
if direction:
|
||||
velocity.x = direction.x * SPEED
|
||||
velocity.z = direction.z * SPEED
|
||||
else:
|
||||
velocity.x = move_toward(velocity.x, 0, delta * 16)
|
||||
velocity.z = move_toward(velocity.z, 0, delta * 16)
|
||||
velocity.x = move_toward(velocity.x, 0, delta * 16)
|
||||
velocity.z = move_toward(velocity.z, 0, delta * 16)
|
||||
|
||||
move_and_slide()
|
||||
|
||||
|
|
@ -11,7 +11,7 @@ const weapons = {
|
|||
"damage_mid_combo": 10,
|
||||
|
||||
"knockback": 3.5,
|
||||
"knockback_mid_combo": 0.25,
|
||||
"knockback_mid_combo": 0.75,
|
||||
"stun_time": 0.4,
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -32,9 +32,7 @@ func get_my_weapon_info(value: String):
|
|||
return get_weapon_info(current_weapon, value)
|
||||
|
||||
func get_weapon_info(weapon: String, value: String):
|
||||
print(weapon, value)
|
||||
if value in Global.weapons[weapon]:
|
||||
print("YAYA", Global.weapons[weapon][value])
|
||||
return Global.weapons[weapon][value]
|
||||
else: return null
|
||||
|
||||
|
|
@ -72,13 +70,14 @@ func _physics_process(delta: float) -> void:
|
|||
|
||||
if face_left:
|
||||
$DreamerBody.rotation.y = face_rotation + deg_to_rad(180)
|
||||
$DreamerBody/Animator.set("parameters/layering/blend_amount", 1.0)
|
||||
else:
|
||||
$DreamerBody.rotation.y = face_rotation
|
||||
$DreamerBody/Animator.set("parameters/layering/blend_amount", 0.0)
|
||||
|
||||
var mouse_point_angle = player_position.angle_to_point(get_viewport().get_mouse_position())
|
||||
|
||||
if combatable:
|
||||
#$DreamerBody/Body/ArmPivot.rotation.z = mouse_point_angle
|
||||
$HitCollision.rotation.y = -mouse_point_angle + face_rotation
|
||||
|
||||
if abs(rad_to_deg(mouse_point_angle) - (-90)) < 50:
|
||||
|
|
@ -97,11 +96,15 @@ func _physics_process(delta: float) -> void:
|
|||
face_left = false
|
||||
$DreamerBody/Body/ArmPivot.scale.y = 1
|
||||
$DreamerBody/Body/ArmPivot.scale.x = 1
|
||||
|
||||
$DreamerBody/Animator.set("parameters/hold_weapon/blend_amount", 1.0)
|
||||
else:
|
||||
$DreamerBody/Body/ArmPivot.global_rotation.y = face_rotation
|
||||
$DreamerBody/Body/ArmPivot.scale.y = 1
|
||||
$DreamerBody/Body/ArmPivot.scale.x = 1
|
||||
$DreamerBody/Body/ArmPivot.rotation.z = 0
|
||||
|
||||
$DreamerBody/Animator.set("parameters/hold_weapon/blend_amount", 0.0)
|
||||
|
||||
if Input.is_action_pressed("jump") and is_on_floor():
|
||||
velocity.y = JUMP_VELOCITY
|
||||
|
|
@ -137,10 +140,11 @@ func _physics_process(delta: float) -> void:
|
|||
var slash = load("res://scenes/effects/slash.tscn").instantiate()
|
||||
game.add_child(slash)
|
||||
slash.global_position = global_position
|
||||
slash.rotation.x = face_rotation
|
||||
slash.rotation.z = -mouse_point_angle + deg_to_rad(180)
|
||||
slash.global_rotation.y = $HitCollision.global_rotation.y + deg_to_rad(180)
|
||||
slash.play_effect()
|
||||
|
||||
$DreamerBody/Animator.set("parameters/swing_weapon/request", AnimationNodeOneShot.ONE_SHOT_REQUEST_FIRE)
|
||||
|
||||
var hits = $HitCollision.get_overlapping_bodies()
|
||||
|
||||
var knockback = 0
|
||||
|
|
@ -182,6 +186,11 @@ func _physics_process(delta: float) -> void:
|
|||
|
||||
if "on_knockback" in body:
|
||||
body.on_knockback()
|
||||
|
||||
var damage_text = preload("res://scenes/effects/damage_text.tscn").instantiate()
|
||||
game.add_child(damage_text)
|
||||
damage_text.global_position = body.global_position
|
||||
damage_text.get_node("Label").text = str(floor(damage))
|
||||
|
||||
var direction = (camera.transform.basis * Vector3(input_dir.x, 0, input_dir.y)).normalized()
|
||||
if direction and (knockback_time <= 0):
|
||||
|
|
|
|||
14
shaders/groundtest.gdshader
Normal file
14
shaders/groundtest.gdshader
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
shader_type spatial;
|
||||
|
||||
void vertex() {
|
||||
// Called for every vertex the material is visible on.
|
||||
}
|
||||
|
||||
void fragment() {
|
||||
// Called for every pixel the material is visible on.
|
||||
}
|
||||
|
||||
//void light() {
|
||||
// // Called for every pixel for every light affecting the material.
|
||||
// // Uncomment to replace the default light processing function with this one.
|
||||
//}
|
||||
1
shaders/groundtest.gdshader.uid
Normal file
1
shaders/groundtest.gdshader.uid
Normal file
|
|
@ -0,0 +1 @@
|
|||
uid://fqithquavabo
|
||||
BIN
textures/brightshroom.png
Normal file
BIN
textures/brightshroom.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.3 KiB |
41
textures/brightshroom.png.import
Normal file
41
textures/brightshroom.png.import
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://ln2b0h7jurye"
|
||||
path.s3tc="res://.godot/imported/brightshroom.png-ff1df663a97bff5daeebf3c65af42c56.s3tc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://textures/brightshroom.png"
|
||||
dest_files=["res://.godot/imported/brightshroom.png-ff1df663a97bff5daeebf3c65af42c56.s3tc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
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/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
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
textures/brightshroom_orange.png
Normal file
BIN
textures/brightshroom_orange.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.3 KiB |
41
textures/brightshroom_orange.png.import
Normal file
41
textures/brightshroom_orange.png.import
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://gotb5lmbe8ve"
|
||||
path.s3tc="res://.godot/imported/brightshroom_orange.png-e0054b8f0907ffc7d2760c8c0dbf722d.s3tc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://textures/brightshroom_orange.png"
|
||||
dest_files=["res://.godot/imported/brightshroom_orange.png-e0054b8f0907ffc7d2760c8c0dbf722d.s3tc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
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/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
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
|
||||
|
|
@ -3,19 +3,20 @@
|
|||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cvtipichutylm"
|
||||
path="res://.godot/imported/test-sword.png-66731188822b2310b04dd803d25c4b2d.ctex"
|
||||
path.s3tc="res://.godot/imported/test-sword.png-66731188822b2310b04dd803d25c4b2d.s3tc.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://textures/test-sword.png"
|
||||
dest_files=["res://.godot/imported/test-sword.png-66731188822b2310b04dd803d25c4b2d.ctex"]
|
||||
dest_files=["res://.godot/imported/test-sword.png-66731188822b2310b04dd803d25c4b2d.s3tc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
|
|
@ -23,7 +24,7 @@ compress/rdo_quality_loss=0.0
|
|||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
|
|
@ -37,4 +38,4 @@ 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
|
||||
detect_3d/compress_to=0
|
||||
|
|
|
|||
BIN
textures/tile/stone_floor.png
Normal file
BIN
textures/tile/stone_floor.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 500 B |
41
textures/tile/stone_floor.png.import
Normal file
41
textures/tile/stone_floor.png.import
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dfcoremq6wxa"
|
||||
path.s3tc="res://.godot/imported/stone_floor.png-a60dbfe12b4382aa7bd47bad794f7b31.s3tc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://textures/tile/stone_floor.png"
|
||||
dest_files=["res://.godot/imported/stone_floor.png-a60dbfe12b4382aa7bd47bad794f7b31.s3tc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
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/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
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
textures/tile/stone_wall.png
Normal file
BIN
textures/tile/stone_wall.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 458 B |
41
textures/tile/stone_wall.png.import
Normal file
41
textures/tile/stone_wall.png.import
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cubqnw40nk224"
|
||||
path.s3tc="res://.godot/imported/stone_wall.png-347bb8f8716cd17e7537aaa815c02859.s3tc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://textures/tile/stone_wall.png"
|
||||
dest_files=["res://.godot/imported/stone_wall.png-347bb8f8716cd17e7537aaa815c02859.s3tc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
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/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
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
textures/tile/stone_wall_small_rock.png
Normal file
BIN
textures/tile/stone_wall_small_rock.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 506 B |
41
textures/tile/stone_wall_small_rock.png.import
Normal file
41
textures/tile/stone_wall_small_rock.png.import
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://b1iebalulbl7d"
|
||||
path.s3tc="res://.godot/imported/stone_wall_small_rock.png-0ef332000c5d7b9c91464273ffe48838.s3tc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://textures/tile/stone_wall_small_rock.png"
|
||||
dest_files=["res://.godot/imported/stone_wall_small_rock.png-0ef332000c5d7b9c91464273ffe48838.s3tc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
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/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
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
|
||||
Loading…
Reference in a new issue