more working with saves, tweaked ladder, made a mug and wet floor sign

This commit is contained in:
derek
2024-12-03 16:59:21 -06:00
parent ad11da38f8
commit dd960cc00e
22 changed files with 460 additions and 153 deletions

Binary file not shown.

View File

@@ -0,0 +1,51 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://bjgwifalli3jo"
path="res://.godot/imported/DecorationAssetsPt2.blend-21bda5920e4a1b185ed67a050facf024.scn"
[deps]
source_file="res://assets/Models/DecorationAssetsPt2.blend"
dest_files=["res://.godot/imported/DecorationAssetsPt2.blend-21bda5920e4a1b185ed67a050facf024.scn"]
[params]
nodes/root_type=""
nodes/root_name=""
nodes/apply_root_scale=true
nodes/root_scale=1.0
nodes/import_as_skeleton_bones=false
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=""
_subresources={}
blender/nodes/visible=0
blender/nodes/active_collection_only=false
blender/nodes/punctual_lights=true
blender/nodes/cameras=true
blender/nodes/custom_properties=true
blender/nodes/modifiers=1
blender/meshes/colors=false
blender/meshes/uvs=true
blender/meshes/normals=true
blender/meshes/tangents=true
blender/meshes/skins=2
blender/meshes/export_bones_deforming_mesh_only=false
blender/materials/unpack_enabled=true
blender/materials/export_materials=1
blender/animation/limit_playback=true
blender/animation/always_sample=true
blender/animation/group_tracks=true

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

View File

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

View File

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

View File

@@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dyon370onnd35"
path.s3tc="res://.godot/imported/wetfloorsign.rough.png-247a89365b95035331cc6cdd48d97af8.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://assets/Models/wetfloorsign.rough.png"
dest_files=["res://.godot/imported/wetfloorsign.rough.png-247a89365b95035331cc6cdd48d97af8.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,4 +1,4 @@
[gd_scene load_steps=113 format=4 uid="uid://6agmt1hqlhww"] [gd_scene load_steps=114 format=4 uid="uid://6agmt1hqlhww"]
[ext_resource type="Script" path="res://scripts/LevelManager.gd" id="1_sbpvn"] [ext_resource type="Script" path="res://scripts/LevelManager.gd" id="1_sbpvn"]
[ext_resource type="PackedScene" uid="uid://brl0bsqjl5dg3" path="res://assets/mac_10.tscn" id="2_fn4vb"] [ext_resource type="PackedScene" uid="uid://brl0bsqjl5dg3" path="res://assets/mac_10.tscn" id="2_fn4vb"]
@@ -39,7 +39,8 @@
[ext_resource type="Script" path="res://scripts/switch_interactandshoot.gd" id="35_ybetb"] [ext_resource type="Script" path="res://scripts/switch_interactandshoot.gd" id="35_ybetb"]
[ext_resource type="Script" path="res://levels/switch_target.gd" id="36_fuepo"] [ext_resource type="Script" path="res://levels/switch_target.gd" id="36_fuepo"]
[ext_resource type="PackedScene" uid="uid://cucqbjb8bcha5" path="res://assets/blunderbuss_pickup.tscn" id="38_1e38i"] [ext_resource type="PackedScene" uid="uid://cucqbjb8bcha5" path="res://assets/blunderbuss_pickup.tscn" id="38_1e38i"]
[ext_resource type="PackedScene" uid="uid://bpw6mp2qrukr1" path="res://assets/glass.tscn" id="39_v7fnc"] [ext_resource type="PackedScene" uid="uid://bww5k3t3yu7m0" path="res://assets/mug.tscn" id="40_il4b1"]
[ext_resource type="PackedScene" uid="uid://co12h258tg1ud" path="res://assets/wet_floor_sign.tscn" id="41_h2hhd"]
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_eiud5"] [sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_eiud5"]
sky_horizon_color = Color(0.64625, 0.65575, 0.67075, 1) sky_horizon_color = Color(0.64625, 0.65575, 0.67075, 1)
@@ -2125,119 +2126,14 @@ libraries = {
} }
autoplay = "HallSpikes" autoplay = "HallSpikes"
[node name="Spikes 1" parent="." instance=ExtResource("12_w4dk0")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -27.2028, 1.01162, 109.474)
[node name="Spikes 2" parent="." instance=ExtResource("12_w4dk0")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -27.2028, 1.01162, 104.333)
[node name="Spikes 3" parent="." instance=ExtResource("12_w4dk0")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -27.2028, 1.01162, 97.5611)
[node name="Spikes 4" parent="." instance=ExtResource("12_w4dk0")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -27.2028, 1.01162, 91.7857)
[node name="Spikes 5" parent="." instance=ExtResource("12_w4dk0")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -27.2028, 1.01162, 84.872)
[node name="Spikes 6" parent="." instance=ExtResource("12_w4dk0")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -27.2028, 1.01162, 76.4426)
[node name="Spikes 7" parent="." instance=ExtResource("12_w4dk0")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -36.4939, 1.01162, 106.727)
[node name="Spikes 8" parent="." instance=ExtResource("12_w4dk0")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -36.4939, 1.01162, 101.586)
[node name="Spikes 9" parent="." instance=ExtResource("12_w4dk0")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -36.4939, 1.01162, 94.8141)
[node name="Spikes 10" parent="." instance=ExtResource("12_w4dk0")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -36.4939, 1.01162, 89.0387)
[node name="Spikes 11" parent="." instance=ExtResource("12_w4dk0")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -36.4939, 1.01162, 82.1251)
[node name="Spikes 12" parent="." instance=ExtResource("12_w4dk0")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -36.4939, 1.01162, 73.6957)
[node name="Spikes 13" parent="." instance=ExtResource("12_w4dk0")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -42.9574, 1.01162, 108.666)
[node name="Spikes 14" parent="." instance=ExtResource("12_w4dk0")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -42.9574, 1.01162, 103.525)
[node name="Spikes 15" parent="." instance=ExtResource("12_w4dk0")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -42.9574, 1.01162, 96.7531)
[node name="Spikes 16" parent="." instance=ExtResource("12_w4dk0")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -42.9574, 1.01162, 90.9778)
[node name="Spikes 17" parent="." instance=ExtResource("12_w4dk0")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -42.9574, 1.01162, 84.0641)
[node name="Spikes 18" parent="." instance=ExtResource("12_w4dk0")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -42.9574, 1.01162, 75.6347)
[node name="Spikes 19" parent="." instance=ExtResource("12_w4dk0")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -50.875, 1.01162, 106.404)
[node name="Spikes 20" parent="." instance=ExtResource("12_w4dk0")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -50.875, 1.01162, 101.263)
[node name="Spikes 21" parent="." instance=ExtResource("12_w4dk0")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -50.875, 1.01162, 94.4909)
[node name="Spikes 22" parent="." instance=ExtResource("12_w4dk0")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -50.875, 1.01162, 88.7156)
[node name="Spikes 23" parent="." instance=ExtResource("12_w4dk0")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -50.875, 1.01162, 81.8019)
[node name="Spikes 24" parent="." instance=ExtResource("12_w4dk0")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -50.875, 1.01162, 73.3725)
[node name="Spikes 25" parent="." instance=ExtResource("12_w4dk0")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -58.0656, 1.01162, 108.505)
[node name="Spikes 26" parent="." instance=ExtResource("12_w4dk0")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -58.0656, 1.01162, 103.364)
[node name="Spikes 27" parent="." instance=ExtResource("12_w4dk0")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -58.0656, 1.01162, 96.5916)
[node name="Spikes 28" parent="." instance=ExtResource("12_w4dk0")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -58.0656, 1.01162, 90.8162)
[node name="Spikes 29" parent="." instance=ExtResource("12_w4dk0")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -58.0656, 1.01162, 83.9025)
[node name="Spikes 30" parent="." instance=ExtResource("12_w4dk0")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -58.0656, 1.01162, 75.4731)
[node name="Spikes 31" parent="." instance=ExtResource("12_w4dk0")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -63.7211, 1.01162, 106.162)
[node name="Spikes 32" parent="." instance=ExtResource("12_w4dk0")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -63.7211, 1.01162, 101.021)
[node name="Spikes 33" parent="." instance=ExtResource("12_w4dk0")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -63.7211, 1.01162, 94.2486)
[node name="Spikes 34" parent="." instance=ExtResource("12_w4dk0")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -63.7211, 1.01162, 88.4732)
[node name="Spikes 35" parent="." instance=ExtResource("12_w4dk0")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -63.7211, 1.01162, 81.5595)
[node name="Spikes 36" parent="." instance=ExtResource("12_w4dk0")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -63.7211, 1.01162, 73.1301)
[node name="blunderbuss_pickup" parent="." instance=ExtResource("38_1e38i")] [node name="blunderbuss_pickup" parent="." instance=ExtResource("38_1e38i")]
transform = Transform3D(0.680363, 0, 0.732875, 0, 1, 0, -0.732875, 0, 0.680363, -2.95896, 1.92659, 16.5021) transform = Transform3D(0.680363, 0, 0.732875, 0, 1, 0, -0.732875, 0, 0.680363, -2.95896, 1.92659, 16.5021)
[node name="Glass" parent="." instance=ExtResource("39_v7fnc")] [node name="Mug" parent="." instance=ExtResource("40_il4b1")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.2965, 2.77392, 13.5987) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.82237, 1.87648, 13.6332)
[node name="WetFloorSign" parent="." instance=ExtResource("41_h2hhd")]
transform = Transform3D(-0.686631, 0, 1.87844, 0, 2, 0, -1.87844, 0, -0.686631, -2.71954, 0.612816, 12.0582)
[connection signal="body_entered" from="Room1/RoomCheck" to="Room1/RoomCheck" method="_on_body_entered"] [connection signal="body_entered" from="Room1/RoomCheck" to="Room1/RoomCheck" method="_on_body_entered"]
[connection signal="body_exited" from="Room1/RoomCheck" to="Room1/RoomCheck" method="_on_body_exited"] [connection signal="body_exited" from="Room1/RoomCheck" to="Room1/RoomCheck" method="_on_body_exited"]

View File

@@ -46,7 +46,7 @@ shadow_mesh = SubResource("ArrayMesh_31808")
[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_cymse"] [sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_cymse"]
points = PackedVector3Array(0.202827, -0.297797, 0.00403334, -0.192761, -0.358884, -0.0287528, -0.173827, 0.327577, -0.0768052, -0.0122833, 0.378837, 0.200603, 0.138545, 0.401308, -0.147351, 0.0402858, -0.414367, -0.213567, 0.149043, -0.414367, 0.167233, 0.0765383, 0.746167, 0.0402858, -0.147295, -0.372155, 0.138494, -0.147351, 0.401308, 0.138544, -0.144509, 0.396888, -0.144509, 0.150261, 0.393288, 0.133962, -0.0684716, 0.746167, -0.0684716, -0.213567, -0.414367, 0.0402858, 0.200602, 0.378837, -0.0122833, -0.0289072, 0.396497, -0.193687, -0.143839, -0.359867, -0.143839, -0.0503667, 0.746167, 0.0765383, -0.193691, 0.396501, -0.0289078, 0.138495, -0.372156, -0.147295, 0.00403334, -0.297797, 0.202827, 0.0584333, 0.746167, -0.0684716, 0.167233, -0.414367, 0.149043, -0.190615, 0.392913, 0.036462, 0.036462, 0.392913, -0.190615, -0.0866191, 0.746167, 0.0220957, 0.0402858, 0.746167, 0.0765383, 0.0200816, 0.375335, 0.197369, 0.19737, 0.375336, 0.0200817, 0.133962, 0.393288, 0.15026, 0.0220957, 0.746167, -0.0866191, -0.0455433, -0.362918, 0.185802) points = PackedVector3Array(0.202827, -0.297797, 0.00403334, -0.192761, -0.358884, -0.0287528, -0.173827, 0.327577, -0.0768052, -0.0122833, 0.378837, 0.200603, 0.138545, 0.401308, -0.147351, 0.0402858, -0.414367, -0.213567, 0.149043, -0.414367, 0.167233, 0.0765383, 0.746167, 0.0402858, -0.147295, -0.372155, 0.138494, -0.147351, 0.401308, 0.138544, -0.144509, 0.396888, -0.144509, 0.150261, 0.393288, 0.133962, -0.0684716, 0.746167, -0.0684716, -0.213567, -0.414367, 0.0402858, 0.200602, 0.378837, -0.0122833, -0.0289072, 0.396497, -0.193687, -0.143839, -0.359867, -0.143839, -0.0503667, 0.746167, 0.0765383, -0.193691, 0.396501, -0.0289078, 0.138495, -0.372156, -0.147295, 0.00403334, -0.297797, 0.202827, 0.0584333, 0.746167, -0.0684716, 0.167233, -0.414367, 0.149043, -0.190615, 0.392913, 0.036462, 0.036462, 0.392913, -0.190615, -0.0866191, 0.746167, 0.0220957, 0.0402858, 0.746167, 0.0765383, 0.0200816, 0.375335, 0.197369, 0.19737, 0.375336, 0.0200817, 0.133962, 0.393288, 0.15026, 0.0220957, 0.746167, -0.0866191, -0.0455433, -0.362918, 0.185802)
[node name="bottle1" type="RigidBody3D" groups=["breakable", "moveable", "scene_rigidbody"]] [node name="bottle1" type="RigidBody3D" groups=["breakable", "moveable", "persist", "scene_rigidbody"]]
collision_layer = 32 collision_layer = 32
collision_mask = 125 collision_mask = 125
continuous_cd = true continuous_cd = true

71
assets/mug.tscn Normal file

File diff suppressed because one or more lines are too long

173
assets/wet_floor_sign.tscn Normal file

File diff suppressed because one or more lines are too long

View File

@@ -252,6 +252,7 @@ curve = SubResource("Curve_hewln")
particle_flag_rotate_y = true particle_flag_rotate_y = true
emission_shape = 1 emission_shape = 1
emission_sphere_radius = 0.1 emission_sphere_radius = 0.1
velocity_pivot = Vector3(0, 1, 0)
direction = Vector3(-2.315, 0, 0) direction = Vector3(-2.315, 0, 0)
spread = 9.706 spread = 9.706
initial_velocity_max = 1.0 initial_velocity_max = 1.0
@@ -295,6 +296,7 @@ curve = SubResource("Curve_6gtuk")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_ay36f"] [sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_ay36f"]
emission_shape = 1 emission_shape = 1
emission_sphere_radius = 0.1 emission_sphere_radius = 0.1
velocity_pivot = Vector3(0, 1, 0)
direction = Vector3(-3, 0, 0) direction = Vector3(-3, 0, 0)
spread = 9.706 spread = 9.706
initial_velocity_min = 3.0 initial_velocity_min = 3.0

View File

@@ -21,6 +21,7 @@ SaveLoad="*res://scripts/save_load.gd"
SignalBus="*res://scripts/signal_bus.gd" SignalBus="*res://scripts/signal_bus.gd"
SwitchBasic="*res://scripts/switch_basic.gd" SwitchBasic="*res://scripts/switch_basic.gd"
RigidbodyGeneric="*res://scripts/rigidbody_generic.gd" RigidbodyGeneric="*res://scripts/rigidbody_generic.gd"
GameGlobals="*res://scripts/game_globals.gd"
[display] [display]

View File

@@ -48,9 +48,11 @@ func _ready():
##LOAD DATA ##LOAD DATA
SaveLoad.load_persistent_data() SaveLoad.load_persistent_data()
#refresh_scene()
if SaveLoad.data_cleared: if SaveLoad.data_cleared:
refresh_scene() refresh_scene()
GameGlobals.game_loaded = true
SignalBus.emit_signal("game_loaded")
else: else:
SaveLoad.load_save_game_data() SaveLoad.load_save_game_data()
@@ -61,8 +63,6 @@ func _ready():
if crown_target: if crown_target:
crown_target.add_child(crown_spawn) crown_target.add_child(crown_spawn)
crown_spawn.position = Vector3(0,2,0) crown_spawn.position = Vector3(0,2,0)
else:
get_tree().get_root().add_child(crown_spawn)
#global randomize function #global randomize function
randomize() randomize()

3
scripts/game_globals.gd Normal file
View File

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

View File

@@ -12,6 +12,7 @@ func _process(delta):
func _on_body_entered(body): func _on_body_entered(body):
if body.is_in_group("player"): if body.is_in_group("player"):
body.is_climbing = true body.is_climbing = true
body.global_position.y += .1
func _on_body_exited(body): func _on_body_exited(body):

View File

@@ -197,7 +197,7 @@ func _physics_process(delta):
velocity.x = lerp(velocity.x, direction.x * speed, delta * 6.5) + (direction.x * DASH_SPEED) velocity.x = lerp(velocity.x, direction.x * speed, delta * 6.5) + (direction.x * DASH_SPEED)
velocity.z = lerp(velocity.z, direction.z * speed, delta * 6.5) + (direction.z * DASH_SPEED) velocity.z = lerp(velocity.z, direction.z * speed, delta * 6.5) + (direction.z * DASH_SPEED)
#ladder movement #ladder movement
elif is_climbing: elif is_climbing and !is_on_floor():
gravity = 0.0 gravity = 0.0
if direction: if direction:
velocity.y = -direction.z * speed * .75 velocity.y = -direction.z * speed * .75

View File

@@ -21,45 +21,45 @@ var rot_amount : float
# Called when the node enters the scene tree for the first time. # Called when the node enters the scene tree for the first time.
func _ready(): func _ready():
SignalBus.enemy_killed.connect(enemy_in_room_killed) SignalBus.enemy_killed.connect(enemy_in_room_killed)
#SignalBus.enemy_count_changed.connect(assign_enemies) SignalBus.game_loaded.connect(assign_elements)
# Called every frame. 'delta' is the elapsed time since the previous frame. # Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta): func _process(delta):
if enemies.size() > 0: if GameGlobals.game_loaded:
#calculate move position for each child if enemies.size() > 0:
for i in enemies: #calculate move position for each child
if i.player_in_view == true:
#by number of minions determine the amount they should rotate around the player to be evenly distributed
number_enemies = enemies.size()
#return current array index
var enemy_rot_amount = enemies.find(i) * deg_to_rad(360 / number_enemies)
var player_pos = i.player.global_transform.origin
var enemy_pos = player_pos + Vector3(4,0,0)
var nav_pos : Vector3
nav_pos.x = player_pos.x + (enemy_pos.x-player_pos.x)*cos(enemy_rot_amount) - (enemy_pos.z-player_pos.z)*sin(enemy_rot_amount)
nav_pos.z = player_pos.z + (enemy_pos.x-player_pos.x)*sin(enemy_rot_amount) - (enemy_pos.z-player_pos.z)*cos(enemy_rot_amount)
i.nav_agent.set_target_position(nav_pos)
var next_nav_point = i.nav_agent.get_next_path_position()
i.hive_velocity = (next_nav_point - i.global_transform.origin).normalized() * i.SPEED
elif i.player_in_view != true and i.player_last_seen != null:
i.nav_agent.set_target_position(i.player_last_seen)
var next_nav_point = i.nav_agent.get_next_path_position()
i.hive_velocity = (next_nav_point - i.global_transform.origin).normalized() * i.SPEED
# loot on last enemy
if enemies.size() == 1:
for i in enemies: for i in enemies:
i.loot_amount = 20 #assign loot to the last enemy drop from this section if i.player_in_view == true:
i.last_enemy = true #by number of minions determine the amount they should rotate around the player to be evenly distributed
else: number_enemies = enemies.size()
enemy_in_room_killed()
#return current array index
var enemy_rot_amount = enemies.find(i) * deg_to_rad(360 / number_enemies)
var player_pos = i.player.global_transform.origin
var enemy_pos = player_pos + Vector3(4,0,0)
var nav_pos : Vector3
nav_pos.x = player_pos.x + (enemy_pos.x-player_pos.x)*cos(enemy_rot_amount) - (enemy_pos.z-player_pos.z)*sin(enemy_rot_amount)
nav_pos.z = player_pos.z + (enemy_pos.x-player_pos.x)*sin(enemy_rot_amount) - (enemy_pos.z-player_pos.z)*cos(enemy_rot_amount)
i.nav_agent.set_target_position(nav_pos)
var next_nav_point = i.nav_agent.get_next_path_position()
i.hive_velocity = (next_nav_point - i.global_transform.origin).normalized() * i.SPEED
elif i.player_in_view != true and i.player_last_seen != null:
i.nav_agent.set_target_position(i.player_last_seen)
var next_nav_point = i.nav_agent.get_next_path_position()
i.hive_velocity = (next_nav_point - i.global_transform.origin).normalized() * i.SPEED
# loot on last enemy
if enemies.size() == 1:
for i in enemies:
i.loot_amount = 20 #assign loot to the last enemy drop from this section
i.last_enemy = true
else:
enemy_in_room_killed()
func assign_enemies(): func assign_elements():
for i in self.get_children(): for i in self.get_children():
if i.is_in_group("enemy"): if i.is_in_group("enemy"):
enemies.append(i) enemies.append(i)
@@ -69,6 +69,7 @@ func assign_enemies():
room_checks.append(i) room_checks.append(i)
i.room_entered.connect(room_entered) i.room_entered.connect(room_entered)
i.room_exited.connect(room_exited) i.room_exited.connect(room_exited)
print("ENEMIES IN ROOM - ",enemies)
func enemy_in_room_killed(): func enemy_in_room_killed():
var enemy_count = 0 var enemy_count = 0

View File

@@ -100,7 +100,7 @@ func save_game_data():
file.store_line(json_string) file.store_line(json_string)
file.close() file.close()
save_persistent_data() save_persistent_data()
func clear_save_game_data(): func clear_save_game_data():
@@ -177,7 +177,9 @@ func load_save_game_data():
level_control.ammo_reserve = reserve_ammo level_control.ammo_reserve = reserve_ammo
file.close() file.close()
#SignalBus.emit_signal("enemy_count_changed") await get_tree().create_timer(1).timeout #need to fix this
SignalBus.emit_signal("game_loaded")
GameGlobals.game_loaded = true
else: else:
print("no data saved...") print("no data saved...")

View File

@@ -6,3 +6,4 @@ signal enemy_hit()
signal enemy_killed() signal enemy_killed()
signal king_killed() signal king_killed()
signal enemy_count_changed() signal enemy_count_changed()
signal game_loaded()