summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnson Bridges <bridges.anson@gmail.com>2022-09-30 11:20:16 -0400
committerAnson Bridges <bridges.anson@gmail.com>2022-09-30 11:20:16 -0400
commit4a17fde692b900393d796675bcf7011aa7399dad (patch)
tree5305dba808a7094192821736a379168cdb549843
parent7a1d857de96174dfa5a0fa40f8c14acbd2f651c2 (diff)
syncing off main
-rw-r--r--godot/.gdbinit1
-rw-r--r--godot/.import/footstep01.ogg-d76963bf1bd06cc247473674bc496643.md53
-rw-r--r--godot/.import/footstep01.ogg-d76963bf1bd06cc247473674bc496643.oggstrbin0 -> 10011 bytes
-rw-r--r--godot/.import/footstep02.ogg-f0eec7980dcf1290786fd8f372f7b88f.md53
-rw-r--r--godot/.import/footstep02.ogg-f0eec7980dcf1290786fd8f372f7b88f.oggstrbin0 -> 10827 bytes
-rw-r--r--godot/.import/footstep03.ogg-03ef4afe33de50dbdff6ddbbf098ad74.md53
-rw-r--r--godot/.import/footstep03.ogg-03ef4afe33de50dbdff6ddbbf098ad74.oggstrbin0 -> 14431 bytes
-rw-r--r--godot/.import/footstep04.ogg-16226c305e1322a536cb96a2c537b228.md53
-rw-r--r--godot/.import/footstep04.ogg-16226c305e1322a536cb96a2c537b228.oggstrbin0 -> 14067 bytes
-rw-r--r--godot/.import/footstep05.ogg-ce0f0381235ebdd22319464e329eef5f.md53
-rw-r--r--godot/.import/footstep05.ogg-ce0f0381235ebdd22319464e329eef5f.oggstrbin0 -> 13891 bytes
-rw-r--r--godot/.import/footstep06.ogg-64d7f3763b27a0bf60b51adc0e13f809.md53
-rw-r--r--godot/.import/footstep06.ogg-64d7f3763b27a0bf60b51adc0e13f809.oggstrbin0 -> 11627 bytes
-rw-r--r--godot/addons/blend/import_blend.gd104
-rw-r--r--godot/addons/blend/plugin.cfg7
-rw-r--r--godot/addons/blend/plugin.gd35
-rw-r--r--godot/bin/playercam._gdnlib14
-rw-r--r--godot/bin/playercam.gdns8
-rw-r--r--godot/bin/playercontroller.gdnlib14
-rw-r--r--godot/bin/playercontroller.gdns8
-rwxr-xr-xgodot/bin/x11/libnetmachine.sobin4807632 -> 0 bytes
-rwxr-xr-xgodot/bin/x11/libplayercam.sobin4841152 -> 0 bytes
-rwxr-xr-xgodot/bin/x11/libplayercontroller.sobin5297184 -> 0 bytes
-rw-r--r--godot/export_presets.cfg2
-rw-r--r--godot/libnetmachine.sobin4807632 -> 0 bytes
-rw-r--r--godot/maps/Main.tscn231
-rw-r--r--godot/meshes/laetine.obj346
-rw-r--r--godot/meshes/laetine.obj.import20
-rw-r--r--godot/meshes/laetine_mask.obj97
-rw-r--r--godot/project.godot1
-rw-r--r--godot/scenes/ballistics/Cannonball.tscn5
-rw-r--r--godot/scenes/characters/PlayerRigid.tscn4
-rw-r--r--godot/scenes/characters/viewmodel_arms.tscn4
-rw-r--r--godot/scenes/environment/RopeSegment.tscn18
-rw-r--r--godot/scenes/environment/SwingRope.tscn3
-rw-r--r--godot/scenes/vehicles/Gunboat.tscn282
-rw-r--r--godot/scenes/vehicles/Gunbrig.tscn13
-rw-r--r--godot/scenes/vehicles/ship_parts/SquareSail.gd4
-rw-r--r--godot/scenes/weapons/grapplinghook.gd98
-rw-r--r--godot/scenes/weapons/grapplinghook.tres7
-rw-r--r--godot/scenes/worldprops/ball_bucket.tscn46
-rw-r--r--godot/scripts/GameBase.gd4
-rw-r--r--godot/scripts/ballistics/Cannonball.gd4
-rw-r--r--godot/scripts/characters/player_controller_new.gd5
-rw-r--r--godot/scripts/machines/Cannon.gd9
-rw-r--r--godot/scripts/vehicles/Gunboat.gd8
-rw-r--r--godot/sounds/footstep01.oggbin0 -> 9715 bytes
-rw-r--r--godot/sounds/footstep01.ogg.import15
-rw-r--r--godot/sounds/footstep02.oggbin0 -> 10531 bytes
-rw-r--r--godot/sounds/footstep02.ogg.import15
-rw-r--r--godot/sounds/footstep03.oggbin0 -> 14136 bytes
-rw-r--r--godot/sounds/footstep03.ogg.import15
-rw-r--r--godot/sounds/footstep04.oggbin0 -> 13771 bytes
-rw-r--r--godot/sounds/footstep04.ogg.import15
-rw-r--r--godot/sounds/footstep05.oggbin0 -> 13595 bytes
-rw-r--r--godot/sounds/footstep05.ogg.import15
-rw-r--r--godot/sounds/footstep06.oggbin0 -> 11329 bytes
-rw-r--r--godot/sounds/footstep06.ogg.import15
-rw-r--r--godot/theming/menu_font.tres1
-rw-r--r--godot/ui/HUD.gd1
-rw-r--r--godot/watershadertest.tscn115
-rw-r--r--work/backup_stuff/Player.gd (renamed from godot/backup_stuff/Player.gd)0
-rw-r--r--work/backup_stuff/Player.tscn (renamed from godot/backup_stuff/Player.tscn)0
-rw-r--r--work/backup_stuff/PlayerOld.tscn (renamed from godot/backup_stuff/PlayerOld.tscn)0
-rw-r--r--work/backup_stuff/Player_Other.gd (renamed from godot/backup_stuff/Player_Other.gd)0
-rw-r--r--work/backup_stuff/Sailor.gd (renamed from godot/backup_stuff/Sailor.gd)0
-rw-r--r--work/backup_stuff/Sailor.tscn (renamed from godot/backup_stuff/Sailor.tscn)0
-rw-r--r--work/backup_stuff/player_controller.gd (renamed from godot/backup_stuff/player_controller.gd)0
-rw-r--r--work/man.blendbin0 -> 808852 bytes
-rw-r--r--work/man.blend1bin0 -> 808768 bytes
70 files changed, 661 insertions, 966 deletions
diff --git a/godot/.gdbinit b/godot/.gdbinit
deleted file mode 100644
index 0c1f45b..0000000
--- a/godot/.gdbinit
+++ /dev/null
@@ -1 +0,0 @@
-set debuginfod enabled off
diff --git a/godot/.import/footstep01.ogg-d76963bf1bd06cc247473674bc496643.md5 b/godot/.import/footstep01.ogg-d76963bf1bd06cc247473674bc496643.md5
new file mode 100644
index 0000000..b1c7dd0
--- /dev/null
+++ b/godot/.import/footstep01.ogg-d76963bf1bd06cc247473674bc496643.md5
@@ -0,0 +1,3 @@
+source_md5="5e4ce2a9a8da359e25ebacefe6085207"
+dest_md5="540f42f15b11a03bbc5c26d78088848a"
+
diff --git a/godot/.import/footstep01.ogg-d76963bf1bd06cc247473674bc496643.oggstr b/godot/.import/footstep01.ogg-d76963bf1bd06cc247473674bc496643.oggstr
new file mode 100644
index 0000000..a5df690
--- /dev/null
+++ b/godot/.import/footstep01.ogg-d76963bf1bd06cc247473674bc496643.oggstr
Binary files differ
diff --git a/godot/.import/footstep02.ogg-f0eec7980dcf1290786fd8f372f7b88f.md5 b/godot/.import/footstep02.ogg-f0eec7980dcf1290786fd8f372f7b88f.md5
new file mode 100644
index 0000000..5b914b9
--- /dev/null
+++ b/godot/.import/footstep02.ogg-f0eec7980dcf1290786fd8f372f7b88f.md5
@@ -0,0 +1,3 @@
+source_md5="42a68b509a5b55bacf421a53b8498ac9"
+dest_md5="ed10ec8a9448819e30f35be09e23325a"
+
diff --git a/godot/.import/footstep02.ogg-f0eec7980dcf1290786fd8f372f7b88f.oggstr b/godot/.import/footstep02.ogg-f0eec7980dcf1290786fd8f372f7b88f.oggstr
new file mode 100644
index 0000000..3659edc
--- /dev/null
+++ b/godot/.import/footstep02.ogg-f0eec7980dcf1290786fd8f372f7b88f.oggstr
Binary files differ
diff --git a/godot/.import/footstep03.ogg-03ef4afe33de50dbdff6ddbbf098ad74.md5 b/godot/.import/footstep03.ogg-03ef4afe33de50dbdff6ddbbf098ad74.md5
new file mode 100644
index 0000000..321bb2f
--- /dev/null
+++ b/godot/.import/footstep03.ogg-03ef4afe33de50dbdff6ddbbf098ad74.md5
@@ -0,0 +1,3 @@
+source_md5="096249de9851a4dd5cff284df6e2cfbe"
+dest_md5="6ec64c55a330edeb2cdf04c14a60c8f6"
+
diff --git a/godot/.import/footstep03.ogg-03ef4afe33de50dbdff6ddbbf098ad74.oggstr b/godot/.import/footstep03.ogg-03ef4afe33de50dbdff6ddbbf098ad74.oggstr
new file mode 100644
index 0000000..f2473d2
--- /dev/null
+++ b/godot/.import/footstep03.ogg-03ef4afe33de50dbdff6ddbbf098ad74.oggstr
Binary files differ
diff --git a/godot/.import/footstep04.ogg-16226c305e1322a536cb96a2c537b228.md5 b/godot/.import/footstep04.ogg-16226c305e1322a536cb96a2c537b228.md5
new file mode 100644
index 0000000..86f4833
--- /dev/null
+++ b/godot/.import/footstep04.ogg-16226c305e1322a536cb96a2c537b228.md5
@@ -0,0 +1,3 @@
+source_md5="2bbf2dc2c4fd5dab1471565a7717c26d"
+dest_md5="2cbd71ac6e406536e91118e2f7f5b95d"
+
diff --git a/godot/.import/footstep04.ogg-16226c305e1322a536cb96a2c537b228.oggstr b/godot/.import/footstep04.ogg-16226c305e1322a536cb96a2c537b228.oggstr
new file mode 100644
index 0000000..2653e96
--- /dev/null
+++ b/godot/.import/footstep04.ogg-16226c305e1322a536cb96a2c537b228.oggstr
Binary files differ
diff --git a/godot/.import/footstep05.ogg-ce0f0381235ebdd22319464e329eef5f.md5 b/godot/.import/footstep05.ogg-ce0f0381235ebdd22319464e329eef5f.md5
new file mode 100644
index 0000000..7918de1
--- /dev/null
+++ b/godot/.import/footstep05.ogg-ce0f0381235ebdd22319464e329eef5f.md5
@@ -0,0 +1,3 @@
+source_md5="9c86cbb9d876a664616768b928f09c41"
+dest_md5="6f79b791e828a1c0d1ac6925dbe5f1b7"
+
diff --git a/godot/.import/footstep05.ogg-ce0f0381235ebdd22319464e329eef5f.oggstr b/godot/.import/footstep05.ogg-ce0f0381235ebdd22319464e329eef5f.oggstr
new file mode 100644
index 0000000..5ee96b0
--- /dev/null
+++ b/godot/.import/footstep05.ogg-ce0f0381235ebdd22319464e329eef5f.oggstr
Binary files differ
diff --git a/godot/.import/footstep06.ogg-64d7f3763b27a0bf60b51adc0e13f809.md5 b/godot/.import/footstep06.ogg-64d7f3763b27a0bf60b51adc0e13f809.md5
new file mode 100644
index 0000000..6ebe6a9
--- /dev/null
+++ b/godot/.import/footstep06.ogg-64d7f3763b27a0bf60b51adc0e13f809.md5
@@ -0,0 +1,3 @@
+source_md5="1ad77a09007eecfe72c27d6979372fb9"
+dest_md5="eae27abc77d8ece3dd72977c8ba37879"
+
diff --git a/godot/.import/footstep06.ogg-64d7f3763b27a0bf60b51adc0e13f809.oggstr b/godot/.import/footstep06.ogg-64d7f3763b27a0bf60b51adc0e13f809.oggstr
new file mode 100644
index 0000000..14ee55e
--- /dev/null
+++ b/godot/.import/footstep06.ogg-64d7f3763b27a0bf60b51adc0e13f809.oggstr
Binary files differ
diff --git a/godot/addons/blend/import_blend.gd b/godot/addons/blend/import_blend.gd
deleted file mode 100644
index 102b1fc..0000000
--- a/godot/addons/blend/import_blend.gd
+++ /dev/null
@@ -1,104 +0,0 @@
-# Copyright (c) 2021 K. S. Ernest (iFire) Lee and V-Sekai Contributors.
-# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur.
-# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md).
-#
-# Permission is hereby granted, free of charge, to any person obtaining a copy
-# of this software and associated documentation files (the "Software"), to deal
-# in the Software without restriction, including without limitation the rights
-# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-# copies of the Software, and to permit persons to whom the Software is
-# furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice shall be included in all
-# copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-# SOFTWARE.
-
-tool
-extends EditorSceneImporter
-
-const settings_blender_path = "filesystem/import/blend/blender_path"
-
-var blender_path : String
-
-func _init():
- if not ProjectSettings.has_setting(settings_blender_path):
- ProjectSettings.set_setting(settings_blender_path, "blender")
- ProjectSettings.set_initial_value(settings_blender_path, "blender")
- else:
- blender_path = ProjectSettings.get_setting(settings_blender_path)
- var property_info = {
- "name": settings_blender_path,
- "type": TYPE_STRING,
- "hint": PROPERTY_HINT_GLOBAL_FILE,
- "hint_string": ""
- }
- ProjectSettings.add_property_info(property_info)
-
-
-func _get_extensions():
- return ["blend"]
-
-
-func _get_import_flags():
- return EditorSceneImporter.IMPORT_SCENE
-
-
-func _import_scene(path: String, flags: int, bake_fps: int):
- var import_config_file = ConfigFile.new()
- import_config_file.load(path + ".import")
- var compression_flags: int = import_config_file.get_value("params", "meshes/compress", 0)
- # ARRAY_COMPRESS_BASE = (ARRAY_INDEX + 1)
- compression_flags = compression_flags << (VisualServer.ARRAY_INDEX + 1)
- if import_config_file.get_value("params", "meshes/octahedral_compression", false):
- compression_flags |= VisualServer.ARRAY_FLAG_USE_OCTAHEDRAL_COMPRESSION
-
- var path_global : String = ProjectSettings.globalize_path(path)
- path_global = path_global.c_escape()
- var output_path : String = "res://.import/" + path.get_file() + "-" + path.md5_text() + ".glb"
- var output_path_global = ProjectSettings.globalize_path(output_path)
- output_path_global = output_path_global.c_escape()
- var stdout = [].duplicate()
- var addon_path : String = blender_path
- var addon_path_global = ProjectSettings.globalize_path(addon_path)
- var params: PoolStringArray = [
- "filepath='%s'" % output_path_global,
- "export_format='GLB'",
- "export_colors=True",
- "export_all_influences=False",
- "export_extras=True",
- "export_cameras=True",
- "export_lights=True",
- "export_apply=(len(bpy.data.shape_keys)==0)"
- ]
- var script : String = "import bpy; bpy.ops.export_scene.gltf(%s)" % params.join(",")
- path_global = path_global.c_escape()
- var args = PoolStringArray([
- path_global,
- "--background",
- "--python-expr",
- script
- ])
- var ret = OS.execute(addon_path_global, args, true, stdout, true)
- if ret != OK:
- push_error(
- "Blender import failed with code=%d.\nCommand: %s\nOutput: %s" % [
- ret,
- args.join(" "),
- PoolStringArray(stdout).join("\n")
- ]
- )
- return null
-
- var root_node: Spatial = null
- if Engine.get_version_info()["major"] <= 3 and Engine.get_version_info()["minor"] <= 3:
- root_node = call("import_scene_from_other_importer", output_path, flags, bake_fps)
- else:
- root_node = call("import_scene_from_other_importer", output_path, flags, bake_fps, compression_flags)
- return root_node
diff --git a/godot/addons/blend/plugin.cfg b/godot/addons/blend/plugin.cfg
deleted file mode 100644
index 3fe0961..0000000
--- a/godot/addons/blend/plugin.cfg
+++ /dev/null
@@ -1,7 +0,0 @@
-[plugin]
-
-name="Blend"
-description="Blend Importer"
-author="K. S. Ernest Lee and V-Sekai Contributors"
-version="1.0.0"
-script="plugin.gd"
diff --git a/godot/addons/blend/plugin.gd b/godot/addons/blend/plugin.gd
deleted file mode 100644
index d399e67..0000000
--- a/godot/addons/blend/plugin.gd
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright (c) 2021 K. S. Ernest (iFire) Lee and V-Sekai Contributors.
-# Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur.
-# Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md).
-#
-# Permission is hereby granted, free of charge, to any person obtaining a copy
-# of this software and associated documentation files (the "Software"), to deal
-# in the Software without restriction, including without limitation the rights
-# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-# copies of the Software, and to permit persons to whom the Software is
-# furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice shall be included in all
-# copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-# SOFTWARE.
-#
-tool
-extends EditorPlugin
-
-var import_plugin
-
-func _enter_tree():
- import_plugin = preload("res://addons/blend/import_blend.gd").new()
- add_scene_import_plugin(import_plugin)
-
-
-func _exit_tree():
- remove_scene_import_plugin(import_plugin)
- import_plugin = null
diff --git a/godot/bin/playercam._gdnlib b/godot/bin/playercam._gdnlib
deleted file mode 100644
index 105b98f..0000000
--- a/godot/bin/playercam._gdnlib
+++ /dev/null
@@ -1,14 +0,0 @@
-[general]
-
-singleton=false
-load_once=true
-symbol_prefix="godot_"
-reloadable=true
-
-[entry]
-
-X11.64="res://bin/x11/libplayercam.so"
-
-[dependencies]
-
-X11.64=[ ]
diff --git a/godot/bin/playercam.gdns b/godot/bin/playercam.gdns
deleted file mode 100644
index 46fa989..0000000
--- a/godot/bin/playercam.gdns
+++ /dev/null
@@ -1,8 +0,0 @@
-[gd_resource type="NativeScript" load_steps=2 format=2]
-
-[ext_resource path="res://bin/playercontroller.gdnlib" type="GDNativeLibrary" id=1]
-
-[resource]
-resource_name = "playercam"
-class_name = "PlayerCam"
-library = ExtResource( 1 )
diff --git a/godot/bin/playercontroller.gdnlib b/godot/bin/playercontroller.gdnlib
deleted file mode 100644
index 37c30d5..0000000
--- a/godot/bin/playercontroller.gdnlib
+++ /dev/null
@@ -1,14 +0,0 @@
-[general]
-
-singleton=false
-load_once=false
-symbol_prefix="godot_"
-reloadable=true
-
-[entry]
-
-X11.64="res://bin/x11/libplayercontroller.so"
-
-[dependencies]
-
-X11.64=[ ]
diff --git a/godot/bin/playercontroller.gdns b/godot/bin/playercontroller.gdns
deleted file mode 100644
index eaf0649..0000000
--- a/godot/bin/playercontroller.gdns
+++ /dev/null
@@ -1,8 +0,0 @@
-[gd_resource type="NativeScript" load_steps=2 format=2]
-
-[ext_resource path="res://bin/playercontroller.gdnlib" type="GDNativeLibrary" id=1]
-
-[resource]
-resource_name = "playercontroller"
-class_name = "PlayerController"
-library = ExtResource( 1 )
diff --git a/godot/bin/x11/libnetmachine.so b/godot/bin/x11/libnetmachine.so
deleted file mode 100755
index b8cc579..0000000
--- a/godot/bin/x11/libnetmachine.so
+++ /dev/null
Binary files differ
diff --git a/godot/bin/x11/libplayercam.so b/godot/bin/x11/libplayercam.so
deleted file mode 100755
index b48d39a..0000000
--- a/godot/bin/x11/libplayercam.so
+++ /dev/null
Binary files differ
diff --git a/godot/bin/x11/libplayercontroller.so b/godot/bin/x11/libplayercontroller.so
deleted file mode 100755
index 69262c1..0000000
--- a/godot/bin/x11/libplayercontroller.so
+++ /dev/null
Binary files differ
diff --git a/godot/export_presets.cfg b/godot/export_presets.cfg
index 1532051..145666c 100644
--- a/godot/export_presets.cfg
+++ b/godot/export_presets.cfg
@@ -7,7 +7,7 @@ custom_features=""
export_filter="all_resources"
include_filter=""
exclude_filter=""
-export_path="./boats.x86_64"
+export_path="../../../boats.x86_64"
script_export_mode=1
script_encryption_key=""
diff --git a/godot/libnetmachine.so b/godot/libnetmachine.so
deleted file mode 100644
index b8cc579..0000000
--- a/godot/libnetmachine.so
+++ /dev/null
Binary files differ
diff --git a/godot/maps/Main.tscn b/godot/maps/Main.tscn
index 9e7ea06..c84ea11 100644
--- a/godot/maps/Main.tscn
+++ b/godot/maps/Main.tscn
@@ -1,4 +1,4 @@
-[gd_scene load_steps=32 format=2]
+[gd_scene load_steps=57 format=2]
[ext_resource path="res://scripts/World.gd" type="Script" id=1]
[ext_resource path="res://scenes/machines/Cannon.tscn" type="PackedScene" id=2]
@@ -16,6 +16,10 @@
[ext_resource path="res://scenes/vehicles/Airplane.tscn" type="PackedScene" id=14]
[ext_resource path="res://scenes/weapons/hands.gd" type="Script" id=15]
[ext_resource path="res://scenes/ballistics/Cannonball.tscn" type="PackedScene" id=16]
+[ext_resource path="res://scenes/weapons/pistol.gd" type="Script" id=17]
+[ext_resource path="res://scenes/weapons/rockets.gd" type="Script" id=18]
+[ext_resource path="res://scenes/weapons/grapplinghook.gd" type="Script" id=19]
+[ext_resource path="res://scenes/worldprops/ball_bucket.tscn" type="PackedScene" id=20]
[sub_resource type="PhysicsMaterial" id=17]
resource_local_to_scene = true
@@ -25,38 +29,122 @@ rough = true
resource_local_to_scene = true
script = ExtResource( 15 )
+[sub_resource type="Resource" id=21]
+resource_local_to_scene = true
+script = ExtResource( 17 )
+
+[sub_resource type="Resource" id=22]
+resource_local_to_scene = true
+script = ExtResource( 18 )
+
+[sub_resource type="Resource" id=41]
+resource_local_to_scene = true
+script = ExtResource( 19 )
+
[sub_resource type="PhysicsMaterial" id=18]
resource_local_to_scene = true
rough = true
-[sub_resource type="Resource" id=21]
+[sub_resource type="Resource" id=23]
resource_local_to_scene = true
script = ExtResource( 15 )
+[sub_resource type="Resource" id=24]
+resource_local_to_scene = true
+script = ExtResource( 17 )
+
+[sub_resource type="Resource" id=25]
+resource_local_to_scene = true
+script = ExtResource( 18 )
+
+[sub_resource type="Resource" id=42]
+resource_local_to_scene = true
+script = ExtResource( 19 )
+
[sub_resource type="PhysicsMaterial" id=19]
resource_local_to_scene = true
rough = true
-[sub_resource type="Resource" id=22]
+[sub_resource type="Resource" id=26]
resource_local_to_scene = true
script = ExtResource( 15 )
-[sub_resource type="Resource" id=23]
+[sub_resource type="Resource" id=27]
+resource_local_to_scene = true
+script = ExtResource( 17 )
+
+[sub_resource type="Resource" id=28]
+resource_local_to_scene = true
+script = ExtResource( 18 )
+
+[sub_resource type="Resource" id=43]
+resource_local_to_scene = true
+script = ExtResource( 19 )
+
+[sub_resource type="Resource" id=29]
resource_local_to_scene = true
script = ExtResource( 15 )
-[sub_resource type="Resource" id=24]
+[sub_resource type="Resource" id=30]
+resource_local_to_scene = true
+script = ExtResource( 17 )
+
+[sub_resource type="Resource" id=31]
+resource_local_to_scene = true
+script = ExtResource( 18 )
+
+[sub_resource type="Resource" id=44]
+resource_local_to_scene = true
+script = ExtResource( 19 )
+
+[sub_resource type="Resource" id=32]
resource_local_to_scene = true
script = ExtResource( 15 )
-[sub_resource type="Resource" id=25]
+[sub_resource type="Resource" id=33]
+resource_local_to_scene = true
+script = ExtResource( 17 )
+
+[sub_resource type="Resource" id=34]
+resource_local_to_scene = true
+script = ExtResource( 18 )
+
+[sub_resource type="Resource" id=45]
+resource_local_to_scene = true
+script = ExtResource( 19 )
+
+[sub_resource type="Resource" id=35]
resource_local_to_scene = true
script = ExtResource( 15 )
-[sub_resource type="Resource" id=26]
+[sub_resource type="Resource" id=36]
+resource_local_to_scene = true
+script = ExtResource( 17 )
+
+[sub_resource type="Resource" id=37]
+resource_local_to_scene = true
+script = ExtResource( 18 )
+
+[sub_resource type="Resource" id=46]
+resource_local_to_scene = true
+script = ExtResource( 19 )
+
+[sub_resource type="Resource" id=38]
resource_local_to_scene = true
script = ExtResource( 15 )
+[sub_resource type="Resource" id=39]
+resource_local_to_scene = true
+script = ExtResource( 17 )
+
+[sub_resource type="Resource" id=40]
+resource_local_to_scene = true
+script = ExtResource( 18 )
+
+[sub_resource type="Resource" id=47]
+resource_local_to_scene = true
+script = ExtResource( 19 )
+
[sub_resource type="NavigationMesh" id=14]
vertices = PoolVector3Array( 7.53034, -0.161953, -20.3654, 6.53034, -0.411953, -23.3654, 2.53034, 0.338047, -21.3654, -3.46966, 0.588047, -19.3654, 7.53034, -0.161953, -20.3654, 2.53034, 0.338047, -21.3654, -3.46966, -0.161953, -22.3654, 1.53034, 1.83805, -16.3654, 5.53034, 2.08805, -15.3654, 4.53034, 1.58805, -17.3654, 6.53034, 2.58805, -11.3654, 13.5303, 1.83805, -10.3654, 12.5303, 1.33805, -14.3654, 5.53034, 2.08805, -15.3654, -16.4697, -1.41195, -12.3654, -16.4697, -0.911953, -10.3654, -12.4697, -0.411953, -11.3654, -16.4697, -1.41195, -12.3654, -12.4697, -0.411953, -11.3654, -16.4697, -1.91195, -14.3654, -18.4697, -2.16195, -12.3654, -16.4697, -1.41195, -12.3654, -16.4697, -1.91195, -14.3654, -23.4697, -1.91195, -14.3654, -19.9697, -2.41195, -14.3654, -23.4697, -1.91195, -14.3654, -23.4697, -0.411953, -5.36539, -17.4697, -1.16195, -8.36539, -18.4697, -2.16195, -12.3654, -9.46966, 3.83805, -3.36539, -9.46966, 3.83805, -2.36539, -8.46966, 3.83805, -2.36539, -7.46966, 3.83805, -4.36539, -9.46966, 3.83805, -4.36539, -9.46966, 3.83805, -3.36539, -8.46966, 3.83805, -2.36539, 17.5303, 1.58805, 0.634615, 12.5303, 2.58805, -0.365385, 10.5303, 3.08805, 0.634615, 9.53034, 3.08805, 2.63461, 12.5303, 2.08805, 9.63461, 16.5303, 1.33805, 8.63461, 17.0303, 1.58805, 4.63461, -7.46966, 3.83805, -4.36539, -8.46966, 3.83805, -2.36539, -7.46966, 3.83805, -1.36539, -5.46966, 3.33805, -7.36539, 0.530344, 3.83805, -9.36539, 2.53034, 3.83805, -9.36539, 1.53034, 3.83805, -13.3654, -10.4697, 2.58805, -9.36539, -9.46966, 3.08805, -6.36539, -7.46966, 3.33805, -6.36539, -5.46966, 3.33805, -7.36539, -7.46966, 2.08805, -14.3654, -6.46966, 3.08805, -10.8654, 1.53034, 3.58805, -4.36539, 2.53034, 3.83805, -6.36539, 0.530344, 3.83805, -9.36539, -5.46966, 3.33805, -7.36539, -0.469656, 3.33805, 4.63461, -2.46966, 3.33805, 3.63461, -1.46966, 2.83805, 6.63461, 0.530344, 2.83805, 10.6346, 1.53034, 3.58805, -4.36539, -5.46966, 3.33805, -7.36539, -7.46966, 3.83805, -1.36539, -2.46966, 3.33805, 3.63461, -0.469656, 3.33805, 4.63461, 4.53034, 3.33805, 0.634615, -5.46966, 3.33805, -7.36539, -7.46966, 3.33805, -6.36539, -7.46966, 3.83805, -4.36539, 4.53034, 3.33805, 0.634615, 2.53034, 3.83805, -3.36539, 1.53034, 3.58805, -4.36539, 16.5303, 1.58805, -7.36539, 14.5303, 2.08805, -7.36539, 12.5303, 2.58805, -0.365385, 17.5303, 1.58805, 0.634615, 0.530344, 3.83805, -9.36539, 1.53034, 3.83805, -13.3654, -4.46966, 3.83805, -13.3654, -5.46966, 3.33805, -7.36539, -1.46966, 2.83805, 6.63461, -3.46966, 3.33805, 4.63461, -8.46966, 2.83805, 6.63461, -3.46966, 2.08805, 15.6346, 0.530344, 2.83805, 10.6346, -2.46966, 1.83805, 16.6346, 4.53034, 1.83805, 16.6346, 0.530344, 2.83805, 10.6346, -3.46966, 2.08805, 15.6346, 4.53034, 3.33805, 0.634615, -0.469656, 3.33805, 4.63461, 1.53034, 3.08805, 6.63461, 9.53034, 3.08805, 2.63461, 10.5303, 3.08805, 0.634615, 5.53034, 3.33805, 4.63461, -8.46966, 3.33805, -0.365385, -8.46966, 3.83805, -2.36539, -9.46966, 3.83805, -2.36539, -11.4697, 3.33805, -3.36539, -9.46966, 3.83805, -3.36539, -9.46966, 3.83805, -4.36539, -5.46966, 1.33805, 17.6346, -2.46966, 1.83805, 16.6346, -3.46966, 2.08805, 15.6346, -6.46966, 1.58805, 15.6346, -8.46966, 2.83805, 6.63461, -3.46966, 3.33805, 4.63461, -2.46966, 3.33805, 3.63461, -7.46966, 3.83805, -1.36539, -8.46966, 3.33805, -0.365385, -11.4697, 2.58805, 5.63461, -6.46966, 1.58805, 15.6346, -3.46966, 2.08805, 15.6346, -7.46966, 1.58805, 13.6346, -11.4697, 3.33805, -3.36539, -9.46966, 3.83805, -4.36539, -9.46966, 3.08805, -6.36539, -10.4697, 2.58805, -9.36539, -14.4697, 1.83805, -8.36539, -13.4697, 2.58805, -5.36539, -8.46966, 3.33805, -0.365385, -9.46966, 3.83805, -2.36539, -11.4697, 3.33805, -3.36539, -20.4697, 1.58805, -1.36539, -20.4697, 1.08805, 3.63461, -17.4697, 2.08805, 1.63461, -18.4697, 2.08805, -3.36539, -11.4697, 1.08805, 15.6346, -6.46966, 1.58805, 15.6346, -7.46966, 1.58805, 13.6346, -11.4697, 1.83805, 12.6346, -24.4697, 1.58805, -3.36539, -25.4697, 1.58805, -13.3654, -27.4697, 1.58805, -13.3654, -28.4697, 1.58805, -2.36539, -14.4697, 2.33805, 4.63461, -14.4697, 1.33805, 11.6346, -11.4697, 2.08805, 7.63461, -11.4697, 2.58805, 5.63461, -17.4697, 2.08805, 1.63461, -14.4697, 2.33805, 4.63461, -11.4697, 2.58805, 5.63461, -8.46966, 3.33805, -0.365385, -11.4697, 3.33805, -3.36539, -18.4697, 2.08805, -3.36539, -13.4697, 2.58805, -5.36539, -16.4697, 1.58805, -6.36539, -18.4697, 2.08805, -3.36539, -11.4697, 3.33805, -3.36539, -11.4697, 1.83805, 12.6346, -7.46966, 1.58805, 13.6346, -8.46966, 2.58805, 8.63461, -11.4697, 2.08805, 7.63461, -14.4697, 1.33805, 11.6346, -24.4697, 1.58805, -3.36539, -28.4697, 1.58805, -2.36539, -20.4697, 1.58805, -1.36539, -18.4697, 2.08805, -3.36539, 4.53034, 4.33805, -5.36539, 1.53034, 3.58805, -4.36539, 2.53034, 3.83805, -3.36539, 4.53034, 4.33805, -3.36539, 6.53034, 4.08805, -7.36539, 4.53034, 4.33805, -5.36539, 4.53034, 4.33805, -3.36539, 6.53034, 4.08805, -7.36539, 4.53034, 3.83805, -13.3654, 1.53034, 3.83805, -13.3654, 2.53034, 3.83805, -9.36539, 4.53034, 4.33805, -5.36539, 4.53034, 4.33805, -3.36539, 4.53034, 4.08805, -1.36539, 9.53034, 4.08805, -2.36539, 10.5303, 3.58805, -8.36539, 6.53034, 4.08805, -7.36539, 3.53034, 2.83805, 8.63461, 5.53034, 2.33805, 12.6346, 9.53034, 2.33805, 10.6346, 8.53034, 2.83805, 6.63461, -19.4697, -0.661953, 7.63461, -19.4697, -1.41195, 10.6346, -17.4697, -0.911953, 10.6346, -16.4697, 0.088047, 13.6346, -12.4697, 0.338047, 16.6346, -13.4697, 0.838047, 13.6346 )
polygons = [ PoolIntArray( 2, 1, 0 ), PoolIntArray( 6, 5, 3 ), PoolIntArray( 3, 5, 4 ), PoolIntArray( 7, 9, 8 ), PoolIntArray( 13, 12, 10 ), PoolIntArray( 10, 12, 11 ), PoolIntArray( 16, 15, 14 ), PoolIntArray( 19, 18, 17 ), PoolIntArray( 21, 20, 22 ), PoolIntArray( 22, 20, 24 ), PoolIntArray( 24, 20, 23 ), PoolIntArray( 28, 27, 25 ), PoolIntArray( 25, 27, 26 ), PoolIntArray( 31, 30, 29 ), PoolIntArray( 34, 33, 35 ), PoolIntArray( 35, 33, 32 ), PoolIntArray( 38, 37, 39 ), PoolIntArray( 39, 37, 36 ), PoolIntArray( 39, 36, 42 ), PoolIntArray( 39, 42, 41 ), PoolIntArray( 39, 41, 40 ), PoolIntArray( 44, 43, 45 ), PoolIntArray( 45, 43, 46 ), PoolIntArray( 49, 48, 47 ), PoolIntArray( 52, 51, 53 ), PoolIntArray( 53, 51, 50 ), PoolIntArray( 53, 50, 55 ), PoolIntArray( 55, 50, 54 ), PoolIntArray( 57, 56, 58 ), PoolIntArray( 58, 56, 59 ), PoolIntArray( 61, 60, 62 ), PoolIntArray( 62, 60, 63 ), PoolIntArray( 68, 67, 69 ), PoolIntArray( 69, 67, 64 ), PoolIntArray( 64, 67, 66 ), PoolIntArray( 64, 66, 65 ), PoolIntArray( 71, 70, 72 ), PoolIntArray( 73, 75, 74 ), PoolIntArray( 77, 76, 78 ), PoolIntArray( 78, 76, 79 ), PoolIntArray( 81, 80, 82 ), PoolIntArray( 82, 80, 83 ), PoolIntArray( 84, 88, 85 ), PoolIntArray( 85, 88, 86 ), PoolIntArray( 86, 88, 87 ), PoolIntArray( 92, 91, 89 ), PoolIntArray( 89, 91, 90 ), PoolIntArray( 96, 98, 97 ), PoolIntArray( 97, 98, 93 ), PoolIntArray( 93, 98, 95 ), PoolIntArray( 93, 95, 94 ), PoolIntArray( 101, 100, 99 ), PoolIntArray( 104, 103, 102 ), PoolIntArray( 106, 105, 107 ), PoolIntArray( 107, 105, 108 ), PoolIntArray( 110, 109, 111 ), PoolIntArray( 111, 109, 114 ), PoolIntArray( 111, 114, 113 ), PoolIntArray( 111, 113, 112 ), PoolIntArray( 117, 116, 115 ), PoolIntArray( 119, 118, 120 ), PoolIntArray( 120, 118, 123 ), PoolIntArray( 120, 123, 121 ), PoolIntArray( 121, 123, 122 ), PoolIntArray( 126, 125, 124 ), PoolIntArray( 130, 129, 127 ), PoolIntArray( 127, 129, 128 ), PoolIntArray( 134, 133, 131 ), PoolIntArray( 131, 133, 132 ), PoolIntArray( 136, 135, 137 ), PoolIntArray( 137, 135, 138 ), PoolIntArray( 142, 141, 139 ), PoolIntArray( 139, 141, 140 ), PoolIntArray( 144, 143, 145 ), PoolIntArray( 145, 143, 146 ), PoolIntArray( 146, 143, 147 ), PoolIntArray( 147, 143, 148 ), PoolIntArray( 149, 152, 150 ), PoolIntArray( 150, 152, 151 ), PoolIntArray( 157, 156, 153 ), PoolIntArray( 153, 156, 155 ), PoolIntArray( 153, 155, 154 ), PoolIntArray( 161, 160, 158 ), PoolIntArray( 158, 160, 159 ), PoolIntArray( 164, 163, 165 ), PoolIntArray( 165, 163, 162 ), PoolIntArray( 168, 167, 166 ), PoolIntArray( 171, 170, 172 ), PoolIntArray( 172, 170, 169 ), PoolIntArray( 172, 169, 173 ), PoolIntArray( 175, 174, 176 ), PoolIntArray( 176, 174, 178 ), PoolIntArray( 176, 178, 177 ), PoolIntArray( 180, 179, 181 ), PoolIntArray( 181, 179, 182 ), PoolIntArray( 185, 184, 183 ), PoolIntArray( 188, 187, 186 ) ]
@@ -105,6 +193,15 @@ transform = Transform( -0.866025, 0, -0.5, 0, 3.5, 0, 0.5, 0, -0.866025, 6.42983
[node name="Runway" parent="WORLDGEO" instance=ExtResource( 13 )]
transform = Transform( -4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 32.5651, 0, 36.5712 )
+[node name="Runway2" parent="WORLDGEO" instance=ExtResource( 13 )]
+transform = Transform( -1, 0, -1.50996e-07, 0, 1, 0, 1.50996e-07, 0, -1, -13.8197, 32.8116, 41.3509 )
+
+[node name="Runway3" parent="WORLDGEO" instance=ExtResource( 13 )]
+transform = Transform( 1.94707e-07, 0, -1, 0, 1, 0, 1, 0, 1.94707e-07, 49.6462, 19.1714, 35.7231 )
+
+[node name="ball_bucket" parent="WORLDGEO" instance=ExtResource( 20 )]
+transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.216192, 3.60375, -12.2556 )
+
[node name="MACHINES" type="Spatial" parent="."]
[node name="Cannon" parent="MACHINES" instance=ExtResource( 2 )]
@@ -136,43 +233,145 @@ transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -49.9367, 0.0469036, -33.3132
[node name="Cannonball" parent="BALLISTICS" instance=ExtResource( 16 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 3.1422, 4.06477, -6.08684 )
+[node name="Cannonball2" parent="BALLISTICS" instance=ExtResource( 16 )]
+transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.303401, 4.06477, -12.7643 )
+
+[node name="Cannonball3" parent="BALLISTICS" instance=ExtResource( 16 )]
+transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.303401, 4.06477, -12.2326 )
+
+[node name="Cannonball4" parent="BALLISTICS" instance=ExtResource( 16 )]
+transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.162657, 4.06477, -12.2326 )
+
+[node name="Cannonball5" parent="BALLISTICS" instance=ExtResource( 16 )]
+transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.162657, 4.06477, -11.7252 )
+
+[node name="Cannonball6" parent="BALLISTICS" instance=ExtResource( 16 )]
+transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.369819, 4.06477, -11.7252 )
+
+[node name="Cannonball7" parent="BALLISTICS" instance=ExtResource( 16 )]
+transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.792434, 4.06477, -11.7252 )
+
+[node name="Cannonball8" parent="BALLISTICS" instance=ExtResource( 16 )]
+transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.792434, 4.06477, -12.1919 )
+
+[node name="Cannonball9" parent="BALLISTICS" instance=ExtResource( 16 )]
+transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.792434, 4.06477, -12.7322 )
+
+[node name="Cannonball10" parent="BALLISTICS" instance=ExtResource( 16 )]
+transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.206795, 4.06477, -12.7322 )
+
+[node name="Cannonball11" parent="BALLISTICS" instance=ExtResource( 16 )]
+transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.303401, 4.47363, -12.7643 )
+
+[node name="Cannonball12" parent="BALLISTICS" instance=ExtResource( 16 )]
+transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.303401, 4.47363, -12.2326 )
+
+[node name="Cannonball13" parent="BALLISTICS" instance=ExtResource( 16 )]
+transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.162657, 4.47363, -12.2326 )
+
+[node name="Cannonball14" parent="BALLISTICS" instance=ExtResource( 16 )]
+transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.162657, 4.47363, -11.7252 )
+
+[node name="Cannonball15" parent="BALLISTICS" instance=ExtResource( 16 )]
+transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.369819, 4.47363, -11.7252 )
+
+[node name="Cannonball16" parent="BALLISTICS" instance=ExtResource( 16 )]
+transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.792434, 4.47363, -11.7252 )
+
+[node name="Cannonball17" parent="BALLISTICS" instance=ExtResource( 16 )]
+transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.792434, 4.47363, -12.1919 )
+
+[node name="Cannonball18" parent="BALLISTICS" instance=ExtResource( 16 )]
+transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.792434, 4.47363, -12.7322 )
+
+[node name="Cannonball19" parent="BALLISTICS" instance=ExtResource( 16 )]
+transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.206795, 4.47363, -12.7322 )
+
+[node name="Cannonball20" parent="BALLISTICS" instance=ExtResource( 16 )]
+transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.303401, 4.92571, -12.7643 )
+
+[node name="Cannonball21" parent="BALLISTICS" instance=ExtResource( 16 )]
+transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.303401, 4.92571, -12.2326 )
+
+[node name="Cannonball22" parent="BALLISTICS" instance=ExtResource( 16 )]
+transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.162657, 4.92571, -12.2326 )
+
+[node name="Cannonball23" parent="BALLISTICS" instance=ExtResource( 16 )]
+transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.162657, 4.92571, -11.7252 )
+
+[node name="Cannonball24" parent="BALLISTICS" instance=ExtResource( 16 )]
+transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.369819, 4.92571, -11.7252 )
+
+[node name="Cannonball25" parent="BALLISTICS" instance=ExtResource( 16 )]
+transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.792434, 4.92571, -11.7252 )
+
+[node name="Cannonball26" parent="BALLISTICS" instance=ExtResource( 16 )]
+transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.792434, 4.92571, -12.1919 )
+
+[node name="Cannonball27" parent="BALLISTICS" instance=ExtResource( 16 )]
+transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.792434, 4.92571, -12.7322 )
+
+[node name="Cannonball28" parent="BALLISTICS" instance=ExtResource( 16 )]
+transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.206795, 4.92571, -12.7322 )
+
[node name="PLAYERS" type="Spatial" parent="."]
[node name="Player" parent="PLAYERS" instance=ExtResource( 5 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 28.8794, 2.55194, 2.65124 )
physics_material_override = SubResource( 17 )
-weapon = SubResource( 20 )
+weapon_slot1 = SubResource( 20 )
+weapon_slot2 = SubResource( 21 )
+weapon_slot3 = SubResource( 22 )
+weapon_slot4 = SubResource( 41 )
[node name="Player2" parent="PLAYERS" instance=ExtResource( 5 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -10.1844, 3.62129, 0.930942 )
+transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 49.2067, 27.526, 45.9431 )
physics_material_override = SubResource( 18 )
team = "BLUE"
-weapon = SubResource( 21 )
+weapon_slot1 = SubResource( 23 )
+weapon_slot2 = SubResource( 24 )
+weapon_slot3 = SubResource( 25 )
+weapon_slot4 = SubResource( 42 )
[node name="Player3" parent="PLAYERS" instance=ExtResource( 5 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.426252, 5.22026, -3.48068 )
physics_material_override = SubResource( 19 )
-weapon = SubResource( 22 )
+weapon_slot1 = SubResource( 26 )
+weapon_slot2 = SubResource( 27 )
+weapon_slot3 = SubResource( 28 )
+weapon_slot4 = SubResource( 43 )
[node name="Player5" parent="PLAYERS" instance=ExtResource( 5 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1.86776, 6.37388, -1.22525 )
physics_material_override = SubResource( 19 )
-weapon = SubResource( 23 )
+weapon_slot1 = SubResource( 29 )
+weapon_slot2 = SubResource( 30 )
+weapon_slot3 = SubResource( 31 )
+weapon_slot4 = SubResource( 44 )
[node name="Player7" parent="PLAYERS" instance=ExtResource( 5 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1.11742, 6.37388, 0.816121 )
physics_material_override = SubResource( 19 )
-weapon = SubResource( 24 )
+weapon_slot1 = SubResource( 32 )
+weapon_slot2 = SubResource( 33 )
+weapon_slot3 = SubResource( 34 )
+weapon_slot4 = SubResource( 45 )
[node name="Player8" parent="PLAYERS" instance=ExtResource( 5 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.888317, 6.37388, 1.86328 )
physics_material_override = SubResource( 19 )
-weapon = SubResource( 25 )
+weapon_slot1 = SubResource( 35 )
+weapon_slot2 = SubResource( 36 )
+weapon_slot3 = SubResource( 37 )
+weapon_slot4 = SubResource( 46 )
[node name="Player9" parent="PLAYERS" instance=ExtResource( 5 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.819816, 6.37388, 2.89708 )
physics_material_override = SubResource( 19 )
-weapon = SubResource( 26 )
+weapon_slot1 = SubResource( 38 )
+weapon_slot2 = SubResource( 39 )
+weapon_slot3 = SubResource( 40 )
+weapon_slot4 = SubResource( 47 )
[node name="worldnavmesh" type="NavigationMeshInstance" parent="."]
navmesh = SubResource( 14 )
@@ -206,7 +405,7 @@ visible = false
mesh = SubResource( 16 )
[node name="DEFAULTCAM" type="Camera" parent="."]
-transform = Transform( -0.507541, -0.600446, 0.617953, -0.0365804, 0.731562, 0.680792, -0.860851, 0.322925, -0.393262, 12.1857, 17.0183, -13.3083 )
+transform = Transform( -0.507541, -0.344177, 0.789902, -0.0365804, 0.924536, 0.379336, -0.860851, 0.163633, -0.48183, 12.1857, 17.0183, -13.3083 )
current = true
far = 8192.0
diff --git a/godot/meshes/laetine.obj b/godot/meshes/laetine.obj
deleted file mode 100644
index b55e973..0000000
--- a/godot/meshes/laetine.obj
+++ /dev/null
@@ -1,346 +0,0 @@
-# Blender v2.92.0 OBJ File: 'laetine.blend'
-# www.blender.org
-mtllib laetine.mtl
-o Cube
-v 16.000000 0.982453 -1.912256
-v 16.000000 -0.682236 -1.641230
-v 16.000000 0.982453 1.882782
-v 16.000000 -0.682236 1.610786
-v -16.000000 1.455369 -0.617766
-v -16.000000 0.897865 -0.530011
-v -16.000000 1.455369 0.557376
-v -16.000000 0.897865 0.476983
-v 0.000000 -0.941928 -2.142920
-v 0.000000 0.982453 2.500000
-v 0.000000 -0.941928 2.141643
-v 0.000000 0.982453 -2.500000
-v 8.000000 -0.941928 2.141643
-v 8.000000 0.982453 -2.500000
-v 8.000000 -0.941928 -2.142920
-v 8.000000 0.982453 2.500000
-v -8.000000 -0.728505 -1.831360
-v -8.000000 0.982453 2.138350
-v -8.000000 -0.728505 1.831740
-v -8.000000 0.982453 -2.136415
-v -12.000000 -0.389587 -1.452316
-v -12.000000 1.142182 1.675897
-v -12.000000 -0.389587 1.435458
-v -12.000000 1.142182 -1.694078
-v -3.851343 -0.941928 2.033623
-v -3.851343 0.982453 -2.377693
-v -3.851343 -0.941928 -2.038114
-v -3.851343 0.982453 2.373943
-v 4.000000 -0.941928 -2.142920
-v 4.000000 0.982453 2.500000
-v 4.000000 -0.941928 2.141643
-v 4.000000 0.982453 -2.500000
-v 12.000000 -0.941928 2.009462
-v 12.000000 0.982453 -2.355201
-v 12.000000 -0.941928 -2.019429
-v 12.000000 0.982453 2.346436
-v 12.000000 0.982453 2.078222
-v 8.000000 0.982453 2.213053
-v 16.000000 0.982453 1.627357
-v -16.000000 1.455369 0.353375
-v 0.000000 0.982453 2.194380
-v -12.000000 1.142182 1.347721
-v -8.000000 0.982453 1.851137
-v -3.851343 0.982453 2.072511
-v 4.000000 0.982453 2.234215
-v -8.000000 0.982453 -1.893030
-v -16.000000 1.455369 -0.446854
-v 16.000000 0.982453 -1.675475
-v -12.000000 1.142182 -1.478664
-v 4.000000 0.982453 -2.174777
-v 8.000000 0.982453 -2.176962
-v 0.000000 0.982453 -2.083515
-v -3.851343 0.982453 -1.994098
-v 12.000000 0.982453 -2.031110
-v -13.354506 1.478747 -0.894318
-v -13.287239 1.483561 0.789345
-v 15.634655 0.982453 -1.716910
-v 15.633256 0.982453 1.693027
-v 12.000000 -0.355757 1.945383
-v 8.000000 -0.355757 2.019444
-v 0.000000 -0.355757 2.065702
-v -12.000000 -0.355757 1.268733
-v -8.000000 -0.355757 1.722697
-v -3.851343 -0.355757 1.950985
-v 4.000000 -0.355757 2.038746
-v -8.000000 -0.355757 -1.764913
-v -12.000000 -0.355757 -1.391772
-v 4.000000 -0.355757 -1.982917
-v 8.000000 -0.355757 -1.984911
-v 0.000000 -0.355757 -1.961124
-v -3.851343 -0.355757 -1.876955
-v 12.000000 -0.355757 -1.900816
-v -13.354506 0.806437 -0.838368
-v -13.287239 0.811252 0.746481
-v 15.634655 -0.450049 -1.616035
-v 15.633256 -0.355757 1.593773
-v -3.851343 -1.123510 0.081178
-v 4.000000 -1.123510 0.081178
-v -8.000000 -0.910087 0.081178
-v 16.000000 -0.863819 0.081178
-v -12.000000 -0.571169 0.081178
-v 0.000000 -1.123510 0.081178
-v 8.000000 -1.123510 0.081178
-v -16.000000 0.716283 0.081178
-v 12.000000 -1.123510 0.081178
-vt 0.843750 0.500000
-vt 0.875000 0.500000
-vt 0.875000 0.536360
-vt 0.872226 0.536077
-vt 0.843750 0.533173
-vt 0.375000 0.968750
-vt 0.625000 0.968750
-vt 0.625000 1.000000
-vt 0.375000 1.000000
-vt 0.375000 0.000000
-vt 0.625000 0.000000
-vt 0.625000 0.043399
-vt 0.625000 0.213640
-vt 0.625000 0.250000
-vt 0.375000 0.250000
-vt 0.375000 0.065260
-vt 0.343750 0.500000
-vt 0.375000 0.500000
-vt 0.375000 0.625745
-vt 0.343750 0.625777
-vt 0.625000 0.500000
-vt 0.625000 0.537350
-vt 0.625000 0.694368
-vt 0.625000 0.750000
-vt 0.375000 0.750000
-vt 0.375000 0.468750
-vt 0.625000 0.468750
-vt 0.375000 0.344911
-vt 0.625000 0.344911
-vt 0.625000 0.375000
-vt 0.375000 0.375000
-vt 0.219911 0.500000
-vt 0.250000 0.500000
-vt 0.250000 0.629194
-vt 0.219911 0.630768
-vt 0.375000 0.843750
-vt 0.625000 0.843750
-vt 0.625000 0.875000
-vt 0.375000 0.875000
-vt 0.718750 0.500000
-vt 0.750000 0.500000
-vt 0.750000 0.532123
-vt 0.718750 0.532990
-vt 0.656250 0.500000
-vt 0.687500 0.500000
-vt 0.687500 0.536579
-vt 0.656250 0.535812
-vt 0.375000 0.781250
-vt 0.625000 0.781250
-vt 0.625000 0.812500
-vt 0.375000 0.812500
-vt 0.375000 0.406250
-vt 0.625000 0.406250
-vt 0.625000 0.437500
-vt 0.375000 0.437500
-vt 0.281250 0.500000
-vt 0.312500 0.500000
-vt 0.312500 0.626716
-vt 0.281250 0.627955
-vt 0.156250 0.500000
-vt 0.187500 0.500000
-vt 0.187500 0.633207
-vt 0.156250 0.638918
-vt 0.375000 0.281250
-vt 0.625000 0.281250
-vt 0.625000 0.312500
-vt 0.375000 0.312500
-vt 0.375000 0.905089
-vt 0.625000 0.905089
-vt 0.625000 0.937500
-vt 0.375000 0.937500
-vt 0.780089 0.500000
-vt 0.812500 0.500000
-vt 0.812500 0.545259
-vt 0.780089 0.531167
-vt 0.125000 0.500000
-vt 0.125000 0.684740
-vt 0.631189 0.537046
-vt 0.718750 0.698992
-vt 0.750000 0.705949
-vt 0.750000 0.750000
-vt 0.718750 0.750000
-vt 0.656250 0.692220
-vt 0.687500 0.694741
-vt 0.687500 0.750000
-vt 0.656250 0.750000
-vt 0.843750 0.693080
-vt 0.871700 0.705173
-vt 0.875000 0.706601
-vt 0.875000 0.750000
-vt 0.843750 0.750000
-vt 0.638611 0.693432
-vt 0.812500 0.706742
-vt 0.812500 0.750000
-vt 0.780089 0.707511
-vt 0.780089 0.750000
-vt 0.812500 0.706742
-vt 0.843750 0.693080
-vt 0.687500 0.536579
-vt 0.656250 0.535812
-vt 0.872226 0.536077
-vt 0.843750 0.533173
-vt 0.750000 0.532123
-vt 0.718750 0.532990
-vt 0.871700 0.705173
-vt 0.656250 0.692220
-vt 0.687500 0.694741
-vt 0.780089 0.531167
-vt 0.631189 0.537046
-vt 0.638611 0.693432
-vt 0.812500 0.545259
-vt 0.718750 0.698992
-vt 0.750000 0.705949
-vt 0.780089 0.707511
-vt 0.187500 0.750000
-vt 0.156250 0.750000
-vt 0.250000 0.750000
-vt 0.219911 0.750000
-vt 0.125000 0.750000
-vt 0.281250 0.750000
-vt 0.343750 0.750000
-vt 0.312500 0.750000
-vn -0.0163 0.9374 -0.3478
-vn -0.2759 -0.1459 0.9501
-vn -1.0000 0.0000 0.0000
-vn 0.0689 -0.9931 -0.0943
-vn 1.0000 0.0000 0.0000
-vn 0.1060 -0.1658 -0.9805
-vn -0.0290 -0.1780 -0.9836
-vn -0.0011 -0.9965 -0.0833
-vn 0.0000 -0.1831 0.9831
-vn 0.0000 1.0000 0.0000
-vn 0.0351 -0.1777 0.9835
-vn 0.0000 -0.1824 -0.9832
-vn 0.0000 -0.9967 -0.0814
-vn -0.0889 -0.9906 -0.1044
-vn -0.1109 -0.1653 -0.9800
-vn -0.0563 -0.1749 0.9830
-vn -0.2678 -0.1501 -0.9517
-vn -0.3190 -0.9344 -0.1582
-vn -0.1154 -0.1652 0.9795
-vn 0.0399 0.9992 0.0000
-vn -0.0299 -0.1785 0.9835
-vn -0.0534 -0.9945 -0.0896
-vn -0.0576 -0.1743 -0.9830
-vn 0.1110 -0.1662 0.9798
-vn 0.0330 -0.1771 -0.9836
-vn 0.0013 -0.9965 -0.0837
-vn 0.0006 0.9546 0.2980
-vn 0.1199 0.0724 -0.9901
-vn -0.0285 0.1195 0.9924
-vn 0.4145 0.0598 0.9081
-vn 0.0140 0.1166 0.9931
-vn 0.4118 0.0511 -0.9098
-vn -0.0259 0.1210 -0.9923
-vn 0.0224 0.0891 0.9958
-vn -0.0096 1.0000 -0.0017
-vn -1.0000 0.0000 -0.0004
-vn 0.0256 0.0912 0.9955
-vn 0.9992 -0.0004 -0.0411
-vn -0.0050 0.1439 -0.9896
-vn -0.0808 0.0829 0.9933
-vn 0.0306 0.0930 -0.9952
-vn 0.0992 0.0752 0.9922
-vn -0.1005 0.0860 -0.9912
-vn 0.0539 0.0929 -0.9942
-vn 0.0005 0.1420 0.9899
-vn 0.0016 0.1202 -0.9927
-vn 0.0128 0.9998 -0.0134
-vn 0.6612 0.7501 -0.0113
-vn -0.0895 -0.9892 0.1157
-vn -0.0013 -0.9959 0.0901
-vn -0.3215 -0.9272 0.1924
-vn 0.0000 -0.9961 0.0878
-vn 0.0015 -0.9959 0.0907
-vn 0.0696 -0.9921 0.1042
-vn -0.0535 -0.9938 0.0975
-usemtl Material
-s off
-f 24/1/1 5/2/1 47/3/1 55/4/1 49/5/1
-f 23/6/2 22/7/2 7/8/2 8/9/2
-f 8/10/3 7/11/3 40/12/3 47/13/3 5/14/3 6/15/3 84/16/3
-f 35/17/4 2/18/4 80/19/4 85/20/4
-f 2/18/5 1/21/5 48/22/5 39/23/5 3/24/5 4/25/5 80/19/5
-f 35/26/6 34/27/6 1/21/6 2/18/6
-f 27/28/7 26/29/7 12/30/7 9/31/7
-f 27/32/8 9/33/8 82/34/8 77/35/8
-f 31/36/9 30/37/9 10/38/9 11/39/9
-f 32/40/10 12/41/10 52/42/10 50/43/10
-f 34/44/10 14/45/10 51/46/10 54/47/10
-f 33/48/11 36/49/11 16/50/11 13/51/11
-f 29/52/12 32/53/12 14/54/12 15/55/12
-f 29/56/13 15/57/13 83/58/13 78/59/13
-f 21/60/14 17/61/14 79/62/14 81/63/14
-f 21/64/15 24/65/15 20/66/15 17/67/15
-f 25/68/16 28/69/16 18/70/16 19/71/16
-f 26/72/10 20/73/10 46/74/10 53/75/10
-f 6/15/17 5/14/17 24/65/17 21/64/17
-f 6/76/18 21/60/18 81/63/18 84/77/18
-f 19/71/19 18/70/19 22/7/19 23/6/19
-f 20/73/20 24/1/20 49/5/20 46/74/20
-f 12/41/10 26/72/10 53/75/10 52/42/10
-f 11/39/21 10/38/21 28/69/21 25/68/21
-f 17/61/22 27/32/22 77/35/22 79/62/22
-f 17/67/23 20/66/23 26/29/23 27/28/23
-f 9/33/13 29/56/13 78/59/13 82/34/13
-f 9/31/12 12/30/12 32/53/12 29/52/12
-f 14/45/10 32/40/10 50/43/10 51/46/10
-f 13/51/9 16/50/9 30/37/9 31/36/9
-f 4/25/24 3/24/24 36/49/24 33/48/24
-f 1/21/10 34/44/10 54/47/10 57/78/10 48/22/10
-f 15/55/25 14/54/25 34/27/25 35/26/25
-f 15/57/26 35/17/26 85/20/26 83/58/26
-f 45/79/10 41/80/10 10/81/10 30/82/10
-f 37/83/10 38/84/10 16/85/10 36/86/10
-f 42/87/27 56/88/27 40/89/27 7/90/27 22/91/27
-f 39/23/10 58/92/10 37/83/10 36/86/10 3/24/10
-f 43/93/20 42/87/20 22/91/20 18/94/20
-f 38/84/10 45/79/10 30/82/10 16/85/10
-f 41/80/10 44/95/10 28/96/10 10/81/10
-f 44/95/10 43/93/10 18/94/10 28/96/10
-f 42/87/28 43/93/28 63/97/28 62/98/28
-f 54/47/29 51/46/29 69/99/29 72/100/29
-f 49/5/30 55/4/30 73/101/30 67/102/30
-f 48/22/10 57/78/10 58/92/10 39/23/10
-f 50/43/31 52/42/31 70/103/31 68/104/31
-f 56/88/32 42/87/32 62/98/32 74/105/32
-f 38/84/33 37/83/33 59/106/33 60/107/33
-f 52/42/34 53/75/34 71/108/34 70/103/34
-f 56/88/35 55/4/35 47/3/35 40/89/35
-f 58/92/36 57/78/36 75/109/36 76/110/36
-f 53/75/37 46/74/37 66/111/37 71/108/37
-f 55/4/38 56/88/38 74/105/38 73/101/38
-f 45/79/39 38/84/39 60/107/39 65/112/39
-f 57/78/40 54/47/40 72/100/40 75/109/40
-f 44/95/41 41/80/41 61/113/41 64/114/41
-f 46/74/42 49/5/42 67/102/42 66/111/42
-f 37/83/43 58/92/43 76/110/43 59/106/43
-f 43/93/44 44/95/44 64/114/44 63/97/44
-f 51/46/45 50/43/45 68/104/45 69/99/45
-f 41/80/46 45/79/46 65/112/46 61/113/46
-f 75/109/47 72/100/47 59/106/47 76/110/47
-f 60/107/10 59/106/10 72/100/10 69/99/10
-f 65/112/10 60/107/10 69/99/10 68/104/10
-f 61/113/10 65/112/10 68/104/10 70/103/10
-f 64/114/10 61/113/10 70/103/10 71/108/10
-f 63/97/10 64/114/10 71/108/10 66/111/10
-f 62/98/10 63/97/10 66/111/10 67/102/10
-f 74/105/48 62/98/48 67/102/48 73/101/48
-f 81/63/49 79/62/49 19/115/49 23/116/49
-f 77/35/50 82/34/50 11/117/50 25/118/50
-f 84/77/51 81/63/51 23/116/51 8/119/51
-f 82/34/52 78/59/52 31/120/52 11/117/52
-f 83/58/53 85/20/53 33/121/53 13/122/53
-f 78/59/52 83/58/52 13/122/52 31/120/52
-f 85/20/54 80/19/54 4/25/54 33/121/54
-f 79/62/55 77/35/55 25/118/55 19/115/55
diff --git a/godot/meshes/laetine.obj.import b/godot/meshes/laetine.obj.import
deleted file mode 100644
index 9445c41..0000000
--- a/godot/meshes/laetine.obj.import
+++ /dev/null
@@ -1,20 +0,0 @@
-[remap]
-
-importer="wavefront_obj"
-type="Mesh"
-path="res://.import/laetine.obj-e2f2547cb01c5b6ffec4bdf5b2a3aec9.mesh"
-
-[deps]
-
-files=[ "res://.import/laetine.obj-e2f2547cb01c5b6ffec4bdf5b2a3aec9.mesh" ]
-
-source_file="res://meshes/laetine.obj"
-dest_files=[ "res://.import/laetine.obj-e2f2547cb01c5b6ffec4bdf5b2a3aec9.mesh", "res://.import/laetine.obj-e2f2547cb01c5b6ffec4bdf5b2a3aec9.mesh" ]
-
-[params]
-
-generate_tangents=true
-scale_mesh=Vector3( 1, 1, 1 )
-offset_mesh=Vector3( 0, 0, 0 )
-octahedral_compression=true
-optimize_mesh_flags=4286
diff --git a/godot/meshes/laetine_mask.obj b/godot/meshes/laetine_mask.obj
deleted file mode 100644
index 44be1a1..0000000
--- a/godot/meshes/laetine_mask.obj
+++ /dev/null
@@ -1,97 +0,0 @@
-# Blender v2.92.0 OBJ File: 'laetine.blend'
-# www.blender.org
-mtllib laetine_mask.mtl
-o Cube.001
-v -13.287994 0.205399 0.979553
-v -13.287994 1.000000 0.979553
-v -13.287994 0.205399 -0.979553
-v -13.287994 1.000000 -0.979553
-v 15.695301 -0.570796 1.568131
-v 15.736877 1.000000 1.803618
-v 15.695301 -0.570796 -1.568131
-v 15.736877 1.000000 -1.803618
-v 0.000000 -0.880590 -2.129694
-v 0.000000 1.000000 -2.319838
-v 0.000000 -0.880590 2.129694
-v 0.000000 1.000000 2.270563
-v -8.087383 -0.725956 -1.089942
-v -8.655064 1.000000 1.984209
-v -8.655064 1.000000 -1.984209
-v -8.087383 -0.725956 1.089942
-v 10.447272 1.000000 -2.279417
-v 8.087383 -0.869857 2.032708
-v 8.087383 -0.869857 -2.032708
-v 10.447272 1.000000 2.253140
-vt 0.375000 0.000000
-vt 0.625000 0.000000
-vt 0.625000 0.250000
-vt 0.375000 0.250000
-vt 0.375000 0.437500
-vt 0.625000 0.437500
-vt 0.625000 0.500000
-vt 0.375000 0.500000
-vt 0.625000 0.750000
-vt 0.375000 0.750000
-vt 0.375000 0.937500
-vt 0.625000 0.937500
-vt 0.625000 1.000000
-vt 0.375000 1.000000
-vt 0.312500 0.500000
-vt 0.312500 0.750000
-vt 0.812500 0.500000
-vt 0.875000 0.500000
-vt 0.875000 0.750000
-vt 0.812500 0.750000
-vt 0.687500 0.500000
-vt 0.750000 0.500000
-vt 0.750000 0.750000
-vt 0.687500 0.750000
-vt 0.187500 0.500000
-vt 0.250000 0.500000
-vt 0.250000 0.750000
-vt 0.187500 0.750000
-vt 0.375000 0.812500
-vt 0.625000 0.812500
-vt 0.625000 0.875000
-vt 0.375000 0.875000
-vt 0.375000 0.312500
-vt 0.625000 0.312500
-vt 0.625000 0.375000
-vt 0.375000 0.375000
-vt 0.125000 0.500000
-vt 0.125000 0.750000
-vn -1.0000 0.0000 0.0000
-vn 0.0758 -0.1901 -0.9788
-vn 0.9996 -0.0265 0.0000
-vn -0.1386 -0.3587 0.9231
-vn 0.0393 -0.9992 0.0000
-vn 0.0000 1.0000 0.0000
-vn -0.0191 -0.9998 0.0000
-vn 0.0062 -0.0998 0.9950
-vn -0.0809 -0.2987 -0.9509
-vn -0.1386 -0.3587 -0.9231
-vn -0.1763 -0.9843 0.0000
-vn -0.0783 -0.2864 0.9549
-vn 0.0737 -0.1814 0.9806
-vn 0.0013 -1.0000 0.0000
-vn 0.0074 -0.1203 -0.9927
-usemtl None
-s off
-f 1/1/1 2/2/1 4/3/1 3/4/1
-f 19/5/2 17/6/2 8/7/2 7/8/2
-f 7/8/3 8/7/3 6/9/3 5/10/3
-f 16/11/4 14/12/4 2/13/4 1/14/4
-f 19/15/5 7/8/5 5/10/5 18/16/5
-f 15/17/6 4/18/6 2/19/6 14/20/6
-f 17/21/6 10/22/6 12/23/6 20/24/6
-f 13/25/7 9/26/7 11/27/7 16/28/7
-f 18/29/8 20/30/8 12/31/8 11/32/8
-f 13/33/9 15/34/9 10/35/9 9/36/9
-f 3/4/10 4/3/10 15/34/10 13/33/10
-f 3/37/11 13/25/11 16/28/11 1/38/11
-f 10/22/6 15/17/6 14/20/6 12/23/6
-f 11/32/12 12/31/12 14/12/12 16/11/12
-f 5/10/13 6/9/13 20/30/13 18/29/13
-f 8/7/6 17/21/6 20/24/6 6/9/6
-f 9/26/14 19/15/14 18/16/14 11/27/14
-f 9/36/15 10/35/15 17/6/15 19/5/15
diff --git a/godot/project.godot b/godot/project.godot
index c9aa7ca..a6d3c33 100644
--- a/godot/project.godot
+++ b/godot/project.godot
@@ -214,6 +214,7 @@ reload={
[physics]
+3d/smooth_trimesh_collision=true
3d/active_soft_world=false
[rendering]
diff --git a/godot/scenes/ballistics/Cannonball.tscn b/godot/scenes/ballistics/Cannonball.tscn
index 4e5d06a..b9d5a0d 100644
--- a/godot/scenes/ballistics/Cannonball.tscn
+++ b/godot/scenes/ballistics/Cannonball.tscn
@@ -34,7 +34,6 @@ mass = 10.0
continuous_cd = true
contacts_reported = 2
contact_monitor = true
-can_sleep = false
script = ExtResource( 1 )
[node name="CollisionShape" type="CollisionShape" parent="."]
@@ -44,12 +43,12 @@ shape = SubResource( 1 )
mesh = SubResource( 2 )
material/0 = SubResource( 3 )
-[node name="PickupArea" type="Area" parent="."]
+[node name="CarryArea" type="Area" parent="."]
collision_layer = 2
collision_mask = 2
monitoring = false
-[node name="CollisionShape" type="CollisionShape" parent="PickupArea"]
+[node name="CollisionShape" type="CollisionShape" parent="CarryArea"]
shape = SubResource( 6 )
[connection signal="body_entered" from="." to="." method="_on_collision"]
diff --git a/godot/scenes/characters/PlayerRigid.tscn b/godot/scenes/characters/PlayerRigid.tscn
index 6e9fe48..87a463d 100644
--- a/godot/scenes/characters/PlayerRigid.tscn
+++ b/godot/scenes/characters/PlayerRigid.tscn
@@ -1,4 +1,4 @@
-[gd_scene load_steps=13 format=2]
+[gd_scene load_steps=14 format=2]
[ext_resource path="res://scripts/characters/player_controller_new.gd" type="Script" id=1]
[ext_resource path="res://theming/FreeMono.otf" type="DynamicFontData" id=2]
@@ -7,6 +7,7 @@
[ext_resource path="res://scenes/weapons/hands.res" type="Resource" id=5]
[ext_resource path="res://scenes/weapons/pistol.tres" type="Resource" id=6]
[ext_resource path="res://scenes/weapons/rockets.tres" type="Resource" id=7]
+[ext_resource path="res://scenes/weapons/grapplinghook.tres" type="Resource" id=8]
[sub_resource type="PhysicsMaterial" id=8]
resource_local_to_scene = true
@@ -46,6 +47,7 @@ script = ExtResource( 1 )
weapon_slot1 = ExtResource( 5 )
weapon_slot2 = ExtResource( 6 )
weapon_slot3 = ExtResource( 7 )
+weapon_slot4 = ExtResource( 8 )
[node name="Collision" type="CollisionShape" parent="."]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.9, 0 )
diff --git a/godot/scenes/characters/viewmodel_arms.tscn b/godot/scenes/characters/viewmodel_arms.tscn
index 1808785..b4d3257 100644
--- a/godot/scenes/characters/viewmodel_arms.tscn
+++ b/godot/scenes/characters/viewmodel_arms.tscn
@@ -49,7 +49,7 @@ bones/3/name = "Wrist.R"
bones/3/parent = 2
bones/3/rest = Transform( 0.942879, -0.20747, 0.260645, 0.237384, 0.967355, -0.0887301, -0.233727, 0.145535, 0.961348, 2.68221e-07, 1.29325, 0 )
bones/3/enabled = true
-bones/3/bound_children = [ NodePath("GunBone") ]
+bones/3/bound_children = [ ]
bones/4/name = "Thumb.R"
bones/4/parent = 3
bones/4/rest = Transform( 0.771494, -0.608265, -0.186579, 0.518122, 0.770842, -0.370612, 0.369253, 0.189254, 0.909854, -0.138479, 0.349082, 0.150327 )
@@ -176,5 +176,5 @@ mesh = ExtResource( 3 )
skin = ExtResource( 4 )
[node name="GunBone" type="BoneAttachment" parent="Skeleton"]
-transform = Transform( -0.978, -0.15941, 0.134542, 0.1673, -0.214165, 0.962363, -0.124596, 0.963702, 0.236124, -1.28918, -0.187637, 3.05885 )
+transform = Transform( -0.988177, 0.144629, -0.0508501, -0.0291988, 0.148051, 0.988548, 0.150501, 0.978347, -0.142077, -1.28918, -0.187637, 3.05885 )
bone_name = "Wrist.R"
diff --git a/godot/scenes/environment/RopeSegment.tscn b/godot/scenes/environment/RopeSegment.tscn
new file mode 100644
index 0000000..ae6d19b
--- /dev/null
+++ b/godot/scenes/environment/RopeSegment.tscn
@@ -0,0 +1,18 @@
+[gd_scene load_steps=3 format=2]
+
+[sub_resource type="BoxShape" id=1]
+extents = Vector3( 0.1, 0.1, 1 )
+
+[sub_resource type="CubeMesh" id=2]
+size = Vector3( 0.5, 0.5, 0.5 )
+
+[node name="RopeSegment" type="RigidBody"]
+collision_layer = 32768
+collision_mask = 32768
+mass = 15.0
+
+[node name="CollisionShape" type="CollisionShape" parent="."]
+shape = SubResource( 1 )
+
+[node name="MeshInstance" type="MeshInstance" parent="."]
+mesh = SubResource( 2 )
diff --git a/godot/scenes/environment/SwingRope.tscn b/godot/scenes/environment/SwingRope.tscn
new file mode 100644
index 0000000..74ec78b
--- /dev/null
+++ b/godot/scenes/environment/SwingRope.tscn
@@ -0,0 +1,3 @@
+[gd_scene format=2]
+
+[node name="SwingRope" type="Spatial"]
diff --git a/godot/scenes/vehicles/Gunboat.tscn b/godot/scenes/vehicles/Gunboat.tscn
deleted file mode 100644
index 6b447d6..0000000
--- a/godot/scenes/vehicles/Gunboat.tscn
+++ /dev/null
@@ -1,282 +0,0 @@
-[gd_scene load_steps=30 format=2]
-
-[ext_resource path="res://scripts/vehicles/Gunboat.gd" type="Script" id=1]
-[ext_resource path="res://scenes/machines/Cannon.tscn" type="PackedScene" id=2]
-[ext_resource path="res://textures/planks.jpg" type="Texture" id=3]
-[ext_resource path="res://meshes/laetine_mask.obj" type="ArrayMesh" id=4]
-[ext_resource path="res://scenes/environment/Ladder.tscn" type="PackedScene" id=5]
-
-[sub_resource type="PhysicsMaterial" id=28]
-rough = true
-
-[sub_resource type="BoxShape" id=5]
-extents = Vector3( 0.2, 0.2, 0.2 )
-
-[sub_resource type="CubeMesh" id=6]
-size = Vector3( 0.4, 0.4, 0.4 )
-
-[sub_resource type="BoxShape" id=7]
-extents = Vector3( 0.1, 0.1, 0.1 )
-
-[sub_resource type="CubeMesh" id=9]
-size = Vector3( 0.15, 24, 0.15 )
-
-[sub_resource type="OpenSimplexNoise" id=10]
-
-[sub_resource type="NoiseTexture" id=11]
-noise = SubResource( 10 )
-
-[sub_resource type="SpatialMaterial" id=12]
-albedo_color = Color( 0.266667, 0.215686, 0.215686, 1 )
-albedo_texture = SubResource( 11 )
-
-[sub_resource type="CubeMesh" id=13]
-size = Vector3( 0.05, 15, 13 )
-
-[sub_resource type="CubeMesh" id=14]
-size = Vector3( 2, 2.5, 0.15 )
-
-[sub_resource type="SpatialMaterial" id=15]
-albedo_texture = ExtResource( 3 )
-uv1_scale = Vector3( 0.1, 0.1, 0.1 )
-uv1_offset = Vector3( 1, 0, 0 )
-uv1_triplanar = true
-
-[sub_resource type="ArrayMesh" id=16]
-surfaces/0 = {
-"aabb": AABB( -16, -1.12351, -2.5, 32, 2.60707, 5 ),
-"array_data": PoolByteArray( 0, 0, 128, 193, 136, 73, 186, 63, 234, 37, 30, 191, 221, 125, 162, 67, 0, 59, 0, 56, 0, 0, 64, 193, 5, 51, 146, 63, 140, 215, 216, 191, 221, 125, 172, 68, 192, 58, 0, 56, 0, 0, 128, 193, 136, 73, 186, 63, 12, 202, 228, 190, 221, 125, 161, 67, 0, 59, 107, 55, 14, 172, 85, 193, 149, 71, 189, 63, 6, 242, 100, 191, 221, 125, 151, 65, 250, 58, 108, 55, 0, 0, 64, 193, 5, 51, 146, 63, 221, 68, 189, 191, 221, 125, 177, 69, 192, 58, 120, 55, 0, 0, 64, 193, 5, 51, 146, 63, 203, 131, 214, 63, 231, 243, 0, 118, 0, 57, 0, 40, 0, 0, 64, 193, 242, 119, 199, 190, 22, 189, 183, 63, 231, 243, 0, 118, 0, 54, 0, 40, 0, 0, 128, 193, 136, 73, 186, 63, 50, 176, 14, 63, 231, 243, 0, 118, 0, 57, 0, 0, 0, 0, 128, 193, 123, 218, 101, 63, 30, 55, 244, 62, 231, 243, 0, 118, 0, 54, 0, 0, 0, 0, 128, 193, 136, 73, 186, 63, 50, 176, 14, 63, 129, 0, 0, 118, 0, 57, 0, 60, 0, 0, 128, 193, 123, 218, 101, 63, 30, 55, 244, 62, 129, 0, 0, 123, 0, 54, 0, 60, 0, 0, 128, 193, 136, 73, 186, 63, 145, 237, 180, 62, 129, 0, 0, 118, 0, 57, 167, 59, 0, 0, 128, 193, 136, 73, 186, 63, 12, 202, 228, 190, 129, 0, 0, 118, 0, 57, 74, 58, 0, 0, 128, 193, 136, 73, 186, 63, 234, 37, 30, 191, 129, 0, 6, 127, 0, 57, 0, 58, 0, 0, 128, 193, 123, 218, 101, 63, 205, 174, 7, 191, 129, 0, 17, 127, 0, 54, 0, 58, 0, 0, 128, 193, 83, 94, 55, 63, 167, 64, 166, 61, 129, 0, 127, 63, 0, 54, 122, 59, 0, 0, 128, 65, 5, 167, 46, 191, 211, 19, 210, 191, 17, 137, 110, 66, 0, 54, 0, 56, 0, 0, 64, 65, 50, 34, 113, 191, 83, 62, 1, 192, 17, 137, 116, 67, 128, 53, 0, 56, 0, 0, 128, 65, 62, 35, 93, 191, 167, 64, 166, 61, 17, 137, 112, 67, 0, 54, 252, 53, 0, 0, 64, 65, 45, 207, 143, 191, 167, 64, 166, 61, 17, 137, 118, 67, 128, 53, 252, 53, 0, 0, 128, 65, 10, 130, 123, 63, 206, 196, 244, 191, 127, 0, 17, 127, 0, 57, 0, 56, 0, 0, 128, 65, 5, 167, 46, 191, 211, 19, 210, 191, 127, 0, 26, 127, 0, 54, 0, 56, 0, 0, 128, 65, 10, 130, 123, 63, 247, 117, 214, 191, 127, 0, 30, 127, 0, 57, 103, 55, 0, 0, 128, 65, 10, 130, 123, 63, 60, 77, 208, 63, 127, 0, 0, 95, 0, 57, 227, 52, 0, 0, 128, 65, 10, 130, 123, 63, 0, 255, 240, 63, 127, 0, 0, 107, 0, 57, 0, 52, 0, 0, 128, 65, 5, 167, 46, 191, 60, 46, 206, 63, 127, 0, 0, 118, 0, 54, 0, 52, 0, 0, 128, 65, 62, 35, 93, 191, 167, 64, 166, 61, 127, 0, 127, 63, 0, 54, 252, 53, 0, 0, 64, 65, 10, 130, 123, 63, 157, 187, 22, 192, 110, 140, 238, 126, 0, 57, 64, 56, 0, 0, 64, 65, 50, 34, 113, 191, 83, 62, 1, 192, 110, 140, 238, 126, 0, 54, 64, 56, 0, 0, 128, 65, 10, 130, 123, 63, 206, 196, 244, 191, 110, 140, 18, 126, 0, 57, 0, 56, 0, 0, 128, 65, 5, 167, 46, 191, 211, 19, 210, 191, 110, 140, 18, 126, 0, 54, 0, 56, 103, 124, 118, 192, 10, 130, 123, 63, 31, 44, 24, 192, 148, 133, 237, 126, 0, 57, 61, 57, 103, 124, 118, 192, 50, 34, 113, 191, 118, 112, 2, 192, 148, 133, 237, 126, 0, 54, 61, 57, 0, 0, 0, 0, 10, 130, 123, 63, 0, 0, 32, 192, 148, 133, 19, 126, 0, 57, 0, 57, 0, 0, 0, 0, 50, 34, 113, 191, 154, 37, 9, 192, 148, 133, 19, 126, 0, 54, 0, 57, 0, 0, 0, 0, 50, 34, 113, 191, 154, 37, 9, 192, 247, 130, 126, 65, 0, 52, 0, 56, 103, 124, 118, 192, 50, 34, 113, 191, 118, 112, 2, 192, 247, 130, 126, 63, 9, 51, 0, 56, 0, 0, 0, 0, 45, 207, 143, 191, 167, 64, 166, 61, 247, 130, 126, 64, 0, 52, 238, 53, 103, 124, 118, 192, 45, 207, 143, 191, 167, 64, 166, 61, 247, 130, 125, 63, 9, 51, 232, 53, 0, 0, 128, 64, 10, 130, 123, 63, 0, 0, 32, 64, 0, 237, 0, 117, 0, 57, 0, 49, 0, 0, 128, 64, 50, 34, 113, 191, 174, 16, 9, 64, 0, 237, 0, 117, 0, 54, 0, 49, 0, 0, 0, 0, 10, 130, 123, 63, 0, 0, 32, 64, 0, 237, 0, 117, 0, 57, 0, 48, 0, 0, 0, 0, 50, 34, 113, 191, 174, 16, 9, 64, 0, 237, 0, 117, 0, 54, 0, 48, 0, 0, 0, 0, 10, 130, 123, 63, 0, 0, 32, 192, 0, 127, 131, 63, 0, 58, 0, 56, 0, 0, 128, 64, 10, 130, 123, 63, 0, 0, 32, 192, 0, 127, 131, 63, 192, 57, 0, 56, 0, 0, 0, 0, 10, 130, 123, 63, 79, 88, 5, 192, 0, 127, 131, 63, 0, 58, 124, 55, 0, 0, 128, 64, 10, 130, 123, 63, 140, 47, 11, 192, 0, 127, 131, 63, 192, 57, 120, 55, 0, 0, 0, 65, 10, 130, 123, 63, 0, 0, 32, 192, 0, 127, 129, 64, 128, 57, 0, 56, 0, 0, 64, 65, 10, 130, 123, 63, 157, 187, 22, 192, 0, 127, 129, 67, 64, 57, 0, 56, 0, 0, 0, 65, 10, 130, 123, 63, 88, 83, 11, 192, 0, 127, 129, 64, 128, 57, 106, 55, 0, 0, 64, 65, 10, 130, 123, 63, 181, 253, 1, 192, 0, 127, 129, 67, 64, 57, 109, 55, 0, 0, 64, 65, 10, 130, 123, 63, 2, 44, 22, 64, 3, 238, 0, 117, 0, 57, 0, 51, 0, 0, 64, 65, 50, 34, 113, 191, 7, 155, 0, 64, 3, 238, 0, 117, 0, 54, 0, 51, 0, 0, 0, 65, 10, 130, 123, 63, 0, 0, 32, 64, 3, 238, 0, 117, 0, 57, 0, 50, 0, 0, 0, 65, 50, 34, 113, 191, 174, 16, 9, 64, 3, 238, 0, 117, 0, 54, 0, 50, 0, 0, 128, 64, 10, 130, 123, 63, 0, 0, 32, 192, 107, 129, 19, 127, 0, 57, 192, 56, 0, 0, 128, 64, 50, 34, 113, 191, 154, 37, 9, 192, 107, 129, 19, 127, 0, 54, 192, 56, 0, 0, 0, 65, 10, 130, 123, 63, 0, 0, 32, 192, 107, 129, 19, 127, 0, 57, 128, 56, 0, 0, 0, 65, 50, 34, 113, 191, 154, 37, 9, 192, 107, 129, 19, 127, 0, 54, 128, 56, 0, 0, 0, 65, 50, 34, 113, 191, 154, 37, 9, 192, 9, 129, 127, 63, 0, 53, 0, 56, 0, 0, 128, 64, 50, 34, 113, 191, 154, 37, 9, 192, 9, 129, 126, 63, 128, 52, 0, 56, 0, 0, 0, 65, 45, 207, 143, 191, 167, 64, 166, 61, 9, 129, 126, 63, 0, 53, 248, 53, 0, 0, 128, 64, 45, 207, 143, 191, 167, 64, 166, 61, 9, 129, 126, 63, 128, 52, 243, 53, 0, 0, 0, 193, 78, 127, 58, 191, 1, 106, 234, 191, 236, 139, 118, 54, 0, 50, 0, 56, 0, 0, 64, 193, 242, 119, 199, 190, 126, 229, 185, 191, 236, 139, 116, 57, 0, 49, 0, 56, 0, 0, 0, 193, 118, 251, 104, 191, 167, 64, 166, 61, 236, 139, 117, 55, 0, 50, 222, 53, 0, 0, 64, 193, 34, 56, 18, 191, 167, 64, 166, 61, 236, 139, 114, 58, 0, 49, 198, 53, 0, 0, 64, 193, 5, 51, 146, 63, 140, 215, 216, 191, 146, 141, 238, 126, 0, 57, 192, 57, 0, 0, 64, 193, 242, 119, 199, 190, 126, 229, 185, 191, 146, 141, 238, 126, 0, 54, 192, 57, 0, 0, 0, 193, 10, 130, 123, 63, 6, 187, 8, 192, 146, 141, 18, 126, 0, 57, 128, 57, 0, 0, 0, 193, 78, 127, 58, 191, 1, 106, 234, 191, 146, 141, 18, 126, 0, 54, 128, 57, 103, 124, 118, 192, 10, 130, 123, 63, 175, 238, 23, 64, 251, 238, 0, 117, 0, 57, 19, 46, 103, 124, 118, 192, 50, 34, 113, 191, 225, 38, 2, 64, 251, 238, 0, 117, 0, 54, 19, 46, 0, 0, 0, 193, 10, 130, 123, 63, 186, 218, 8, 64, 251, 238, 0, 117, 0, 57, 0, 44, 0, 0, 0, 193, 78, 127, 58, 191, 117, 118, 234, 63, 251, 238, 0, 117, 0, 54, 0, 44, 0, 0, 0, 193, 10, 130, 123, 63, 6, 187, 8, 192, 0, 127, 136, 63, 128, 58, 0, 56, 103, 124, 118, 192, 10, 130, 123, 63, 31, 44, 24, 192, 0, 127, 131, 63, 61, 58, 0, 56, 0, 0, 0, 193, 10, 130, 123, 63, 207, 78, 242, 191, 0, 127, 136, 63, 128, 58, 70, 55, 103, 124, 118, 192, 10, 130, 123, 63, 154, 62, 255, 191, 0, 127, 130, 63, 61, 58, 128, 55, 0, 0, 128, 193, 136, 73, 186, 63, 234, 37, 30, 191, 143, 154, 239, 126, 0, 57, 0, 58, 0, 0, 128, 193, 123, 218, 101, 63, 205, 174, 7, 191, 143, 154, 239, 126, 0, 54, 0, 58, 0, 0, 64, 193, 5, 51, 146, 63, 140, 215, 216, 191, 143, 154, 17, 126, 0, 57, 192, 57, 0, 0, 64, 193, 242, 119, 199, 190, 126, 229, 185, 191, 143, 154, 17, 126, 0, 54, 192, 57, 0, 0, 64, 193, 242, 119, 199, 190, 126, 229, 185, 191, 214, 158, 101, 41, 0, 49, 0, 56, 0, 0, 128, 193, 123, 218, 101, 63, 205, 174, 7, 191, 214, 158, 95, 46, 0, 48, 0, 56, 0, 0, 64, 193, 34, 56, 18, 191, 167, 64, 166, 61, 214, 158, 101, 42, 0, 49, 198, 53, 0, 0, 128, 193, 83, 94, 55, 63, 167, 64, 166, 61, 214, 158, 91, 47, 0, 48, 11, 53, 0, 0, 0, 193, 10, 130, 123, 63, 186, 218, 8, 64, 245, 240, 0, 117, 0, 57, 0, 44, 0, 0, 0, 193, 78, 127, 58, 191, 117, 118, 234, 63, 245, 240, 0, 117, 0, 54, 0, 44, 0, 0, 64, 193, 5, 51, 146, 63, 203, 131, 214, 63, 245, 240, 0, 117, 0, 57, 0, 40, 0, 0, 64, 193, 242, 119, 199, 190, 22, 189, 183, 63, 245, 240, 0, 117, 0, 54, 0, 40, 0, 0, 64, 193, 5, 51, 146, 63, 140, 215, 216, 191, 4, 122, 146, 65, 192, 58, 0, 56, 0, 0, 0, 193, 10, 130, 123, 63, 6, 187, 8, 192, 4, 122, 147, 65, 128, 58, 0, 56, 0, 0, 64, 193, 5, 51, 146, 63, 221, 68, 189, 191, 4, 122, 146, 65, 192, 58, 120, 55, 0, 0, 0, 193, 10, 130, 123, 63, 207, 78, 242, 191, 4, 122, 147, 65, 128, 58, 70, 55, 0, 0, 0, 0, 10, 130, 123, 63, 0, 0, 32, 64, 253, 237, 0, 117, 0, 57, 0, 48, 0, 0, 0, 0, 50, 34, 113, 191, 174, 16, 9, 64, 253, 237, 0, 117, 0, 54, 0, 48, 103, 124, 118, 192, 10, 130, 123, 63, 175, 238, 23, 64, 253, 237, 0, 117, 0, 57, 19, 46, 103, 124, 118, 192, 50, 34, 113, 191, 225, 38, 2, 64, 253, 237, 0, 117, 0, 54, 19, 46, 103, 124, 118, 192, 50, 34, 113, 191, 118, 112, 2, 192, 241, 135, 121, 57, 9, 51, 0, 56, 0, 0, 0, 193, 78, 127, 58, 191, 1, 106, 234, 191, 241, 135, 120, 59, 0, 50, 0, 56, 103, 124, 118, 192, 45, 207, 143, 191, 167, 64, 166, 61, 241, 135, 121, 58, 9, 51, 232, 53, 0, 0, 0, 193, 118, 251, 104, 191, 167, 64, 166, 61, 241, 135, 119, 60, 0, 50, 222, 53, 0, 0, 0, 193, 10, 130, 123, 63, 6, 187, 8, 192, 148, 136, 19, 126, 0, 57, 128, 57, 0, 0, 0, 193, 78, 127, 58, 191, 1, 106, 234, 191, 148, 136, 19, 126, 0, 54, 128, 57, 103, 124, 118, 192, 10, 130, 123, 63, 31, 44, 24, 192, 148, 136, 237, 126, 0, 57, 61, 57, 103, 124, 118, 192, 50, 34, 113, 191, 118, 112, 2, 192, 148, 136, 237, 126, 0, 54, 61, 57, 0, 0, 0, 0, 50, 34, 113, 191, 154, 37, 9, 192, 9, 129, 126, 63, 0, 52, 0, 56, 0, 0, 0, 0, 45, 207, 143, 191, 167, 64, 166, 61, 9, 129, 126, 63, 0, 52, 238, 53, 0, 0, 0, 0, 10, 130, 123, 63, 0, 0, 32, 192, 107, 129, 19, 127, 0, 57, 0, 57, 0, 0, 0, 0, 50, 34, 113, 191, 154, 37, 9, 192, 107, 129, 19, 127, 0, 54, 0, 57, 0, 0, 0, 65, 10, 130, 123, 63, 0, 0, 32, 64, 0, 237, 0, 117, 0, 57, 0, 50, 0, 0, 0, 65, 50, 34, 113, 191, 174, 16, 9, 64, 0, 237, 0, 117, 0, 54, 0, 50, 0, 0, 128, 65, 10, 130, 123, 63, 0, 255, 240, 63, 11, 240, 0, 117, 0, 57, 0, 52, 0, 0, 128, 65, 5, 167, 46, 191, 60, 46, 206, 63, 11, 240, 0, 117, 0, 54, 0, 52, 0, 0, 64, 65, 10, 130, 123, 63, 2, 44, 22, 64, 11, 240, 0, 117, 0, 57, 0, 51, 0, 0, 64, 65, 50, 34, 113, 191, 7, 155, 0, 64, 11, 240, 0, 117, 0, 54, 0, 51, 0, 0, 128, 65, 10, 130, 123, 63, 206, 196, 244, 191, 0, 127, 129, 69, 0, 57, 0, 56, 140, 39, 122, 65, 10, 130, 123, 63, 181, 195, 219, 191, 0, 127, 129, 68, 12, 57, 104, 55, 0, 0, 128, 65, 10, 130, 123, 63, 247, 117, 214, 191, 0, 127, 129, 68, 0, 57, 103, 55, 0, 0, 0, 65, 10, 130, 123, 63, 0, 0, 32, 192, 108, 133, 237, 126, 0, 57, 128, 56, 0, 0, 0, 65, 50, 34, 113, 191, 154, 37, 9, 192, 108, 133, 237, 126, 0, 54, 128, 56, 0, 0, 64, 65, 10, 130, 123, 63, 157, 187, 22, 192, 108, 133, 19, 126, 0, 57, 64, 56, 0, 0, 64, 65, 50, 34, 113, 191, 83, 62, 1, 192, 108, 133, 19, 126, 0, 54, 64, 56, 0, 0, 64, 65, 50, 34, 113, 191, 83, 62, 1, 192, 9, 130, 123, 63, 128, 53, 0, 56, 0, 0, 0, 65, 50, 34, 113, 191, 154, 37, 9, 192, 9, 130, 125, 63, 0, 53, 0, 56, 0, 0, 64, 65, 45, 207, 143, 191, 167, 64, 166, 61, 9, 130, 124, 63, 128, 53, 252, 53, 0, 0, 0, 65, 45, 207, 143, 191, 167, 64, 166, 61, 9, 130, 126, 63, 0, 53, 248, 53, 0, 0, 0, 0, 10, 130, 123, 63, 185, 112, 12, 64, 0, 127, 129, 65, 0, 58, 180, 52, 0, 0, 128, 64, 10, 130, 123, 63, 97, 253, 14, 64, 0, 127, 129, 63, 192, 57, 208, 52, 0, 0, 0, 0, 10, 130, 123, 63, 0, 0, 32, 64, 0, 127, 129, 65, 0, 58, 0, 52, 0, 0, 128, 64, 10, 130, 123, 63, 0, 0, 32, 64, 0, 127, 129, 63, 192, 57, 0, 52, 0, 0, 0, 65, 10, 130, 123, 63, 169, 162, 13, 64, 0, 127, 131, 63, 128, 57, 226, 52, 0, 0, 64, 65, 10, 130, 123, 63, 151, 1, 5, 64, 0, 127, 139, 63, 64, 57, 236, 52, 0, 0, 0, 65, 10, 130, 123, 63, 0, 0, 32, 64, 0, 127, 131, 63, 128, 57, 0, 52, 0, 0, 64, 65, 10, 130, 123, 63, 2, 44, 22, 64, 0, 127, 138, 63, 64, 57, 0, 52, 136, 152, 84, 193, 84, 229, 189, 63, 132, 18, 74, 63, 0, 96, 109, 61, 249, 58, 183, 52, 0, 0, 64, 193, 5, 51, 146, 63, 31, 130, 172, 63, 0, 96, 138, 81, 192, 58, 233, 52, 0, 0, 128, 193, 136, 73, 186, 63, 145, 237, 180, 62, 0, 96, 138, 80, 0, 59, 177, 52, 0, 0, 128, 193, 136, 73, 186, 63, 50, 176, 14, 63, 0, 96, 137, 79, 0, 59, 0, 52, 0, 0, 64, 193, 5, 51, 146, 63, 203, 131, 214, 63, 0, 96, 138, 80, 192, 58, 0, 52, 209, 33, 122, 65, 10, 130, 123, 63, 28, 181, 216, 63, 0, 127, 144, 63, 27, 57, 231, 52, 0, 0, 128, 65, 10, 130, 123, 63, 60, 77, 208, 63, 0, 127, 149, 63, 0, 57, 227, 52, 0, 0, 128, 65, 10, 130, 123, 63, 0, 255, 240, 63, 0, 127, 143, 63, 0, 57, 0, 52, 0, 0, 64, 193, 5, 51, 146, 63, 31, 130, 172, 63, 4, 122, 134, 71, 192, 58, 233, 52, 0, 0, 0, 193, 10, 130, 123, 63, 15, 242, 236, 63, 4, 122, 134, 72, 128, 58, 177, 52, 0, 0, 64, 193, 5, 51, 146, 63, 203, 131, 214, 63, 4, 122, 134, 71, 192, 58, 0, 52, 0, 0, 0, 193, 10, 130, 123, 63, 186, 218, 8, 64, 4, 122, 134, 72, 128, 58, 0, 52, 103, 124, 118, 192, 10, 130, 123, 63, 5, 164, 4, 64, 0, 127, 129, 66, 61, 58, 174, 52, 103, 124, 118, 192, 10, 130, 123, 63, 175, 238, 23, 64, 0, 127, 129, 66, 61, 58, 0, 52, 0, 0, 0, 193, 10, 130, 123, 63, 15, 242, 236, 63, 0, 127, 129, 66, 128, 58, 177, 52, 0, 0, 0, 193, 10, 130, 123, 63, 186, 218, 8, 64, 0, 127, 129, 66, 128, 58, 0, 52, 0, 0, 0, 193, 10, 130, 123, 63, 15, 242, 236, 63, 119, 114, 127, 63, 128, 58, 177, 52, 0, 0, 64, 193, 5, 51, 146, 63, 31, 130, 172, 63, 119, 114, 127, 63, 192, 58, 233, 52, 0, 0, 0, 193, 200, 37, 182, 190, 86, 129, 220, 63, 119, 114, 127, 63, 128, 58, 177, 52, 0, 0, 64, 193, 200, 37, 182, 190, 216, 101, 162, 63, 119, 114, 127, 63, 192, 58, 233, 52, 0, 0, 0, 65, 10, 130, 123, 63, 88, 83, 11, 192, 253, 13, 127, 193, 128, 57, 106, 55, 0, 0, 64, 65, 10, 130, 123, 63, 181, 253, 1, 192, 253, 13, 127, 193, 64, 57, 109, 55, 0, 0, 0, 65, 200, 37, 182, 190, 144, 17, 254, 191, 253, 13, 127, 193, 128, 57, 106, 55, 0, 0, 64, 65, 200, 37, 182, 190, 240, 77, 243, 191, 253, 13, 127, 193, 64, 57, 109, 55, 14, 172, 85, 193, 149, 71, 189, 63, 6, 242, 100, 191, 38, 5, 127, 193, 250, 58, 108, 55, 0, 0, 64, 193, 5, 51, 146, 63, 221, 68, 189, 191, 38, 5, 127, 193, 192, 58, 120, 55, 14, 172, 85, 193, 168, 114, 78, 63, 73, 159, 86, 191, 38, 5, 127, 193, 250, 58, 108, 55, 0, 0, 64, 193, 200, 37, 182, 190, 150, 37, 178, 191, 38, 5, 127, 193, 192, 58, 120, 55, 0, 0, 0, 0, 10, 130, 123, 63, 79, 88, 5, 192, 1, 13, 127, 193, 0, 58, 124, 55, 0, 0, 128, 64, 10, 130, 123, 63, 140, 47, 11, 192, 1, 13, 127, 193, 192, 57, 120, 55, 0, 0, 0, 0, 200, 37, 182, 190, 28, 6, 251, 191, 1, 13, 127, 193, 0, 58, 124, 55, 0, 0, 128, 64, 200, 37, 182, 190, 57, 208, 253, 191, 1, 13, 127, 193, 192, 57, 120, 55, 0, 0, 64, 193, 5, 51, 146, 63, 31, 130, 172, 63, 122, 88, 127, 63, 192, 58, 233, 52, 136, 152, 84, 193, 84, 229, 189, 63, 132, 18, 74, 63, 122, 88, 127, 63, 249, 58, 183, 52, 0, 0, 64, 193, 200, 37, 182, 190, 216, 101, 162, 63, 122, 88, 127, 63, 192, 58, 233, 52, 136, 152, 84, 193, 54, 174, 79, 63, 97, 25, 63, 63, 122, 88, 127, 63, 249, 58, 183, 52, 0, 0, 64, 65, 10, 130, 123, 63, 151, 1, 5, 64, 143, 124, 127, 63, 64, 57, 236, 52, 0, 0, 0, 65, 10, 130, 123, 63, 169, 162, 13, 64, 143, 124, 127, 63, 128, 57, 226, 52, 0, 0, 64, 65, 200, 37, 182, 190, 79, 2, 249, 63, 143, 124, 127, 63, 64, 57, 236, 52, 0, 0, 0, 65, 200, 37, 182, 190, 146, 62, 1, 64, 143, 124, 127, 63, 128, 57, 226, 52, 103, 124, 118, 192, 10, 130, 123, 63, 154, 62, 255, 191, 2, 10, 127, 193, 61, 58, 128, 55, 0, 0, 0, 0, 10, 130, 123, 63, 79, 88, 5, 192, 2, 10, 127, 193, 0, 58, 124, 55, 103, 124, 118, 192, 200, 37, 182, 190, 16, 64, 240, 191, 2, 10, 127, 193, 61, 58, 128, 55, 0, 0, 0, 0, 200, 37, 182, 190, 28, 6, 251, 191, 2, 10, 127, 193, 0, 58, 124, 55, 14, 172, 85, 193, 149, 71, 189, 63, 6, 242, 100, 191, 255, 125, 149, 62, 250, 58, 108, 55, 136, 152, 84, 193, 84, 229, 189, 63, 132, 18, 74, 63, 255, 125, 142, 62, 249, 58, 183, 52, 0, 0, 128, 193, 136, 73, 186, 63, 12, 202, 228, 190, 255, 125, 131, 59, 0, 59, 107, 55, 0, 0, 128, 193, 136, 73, 186, 63, 145, 237, 180, 62, 255, 125, 131, 54, 0, 59, 177, 52, 140, 39, 122, 65, 10, 130, 123, 63, 181, 195, 219, 191, 129, 0, 127, 63, 12, 57, 104, 55, 209, 33, 122, 65, 10, 130, 123, 63, 28, 181, 216, 63, 129, 0, 127, 63, 27, 57, 231, 52, 140, 39, 122, 65, 211, 108, 230, 190, 60, 218, 206, 191, 129, 0, 127, 63, 12, 57, 104, 55, 209, 33, 122, 65, 200, 37, 182, 190, 193, 0, 204, 63, 129, 0, 127, 63, 27, 57, 231, 52, 0, 0, 0, 193, 10, 130, 123, 63, 207, 78, 242, 191, 2, 10, 127, 193, 128, 58, 70, 55, 103, 124, 118, 192, 10, 130, 123, 63, 154, 62, 255, 191, 2, 10, 127, 193, 61, 58, 128, 55, 0, 0, 0, 193, 200, 37, 182, 190, 171, 232, 225, 191, 2, 10, 127, 193, 128, 58, 70, 55, 103, 124, 118, 192, 200, 37, 182, 190, 16, 64, 240, 191, 2, 10, 127, 193, 61, 58, 128, 55, 136, 152, 84, 193, 84, 229, 189, 63, 132, 18, 74, 63, 126, 251, 127, 63, 249, 58, 183, 52, 14, 172, 85, 193, 149, 71, 189, 63, 6, 242, 100, 191, 126, 251, 127, 63, 250, 58, 108, 55, 136, 152, 84, 193, 54, 174, 79, 63, 97, 25, 63, 63, 126, 251, 127, 63, 249, 58, 183, 52, 14, 172, 85, 193, 168, 114, 78, 63, 73, 159, 86, 191, 126, 251, 127, 63, 250, 58, 108, 55, 0, 0, 0, 65, 10, 130, 123, 63, 169, 162, 13, 64, 146, 126, 127, 63, 128, 57, 226, 52, 0, 0, 128, 64, 10, 130, 123, 63, 97, 253, 14, 64, 146, 126, 127, 63, 192, 57, 208, 52, 0, 0, 0, 65, 200, 37, 182, 190, 146, 62, 1, 64, 146, 126, 127, 63, 128, 57, 226, 52, 0, 0, 128, 64, 200, 37, 182, 190, 209, 122, 2, 64, 146, 126, 127, 63, 192, 57, 208, 52, 0, 0, 64, 65, 10, 130, 123, 63, 181, 253, 1, 192, 248, 9, 127, 193, 64, 57, 109, 55, 140, 39, 122, 65, 10, 130, 123, 63, 181, 195, 219, 191, 248, 9, 127, 193, 12, 57, 104, 55, 0, 0, 64, 65, 200, 37, 182, 190, 240, 77, 243, 191, 248, 9, 127, 193, 64, 57, 109, 55, 140, 39, 122, 65, 211, 108, 230, 190, 60, 218, 206, 191, 248, 9, 127, 193, 12, 57, 104, 55, 0, 0, 0, 0, 10, 130, 123, 63, 185, 112, 12, 64, 116, 123, 127, 63, 0, 58, 180, 52, 103, 124, 118, 192, 10, 130, 123, 63, 5, 164, 4, 64, 116, 123, 127, 63, 61, 58, 174, 52, 0, 0, 0, 0, 200, 37, 182, 190, 118, 52, 4, 64, 116, 123, 127, 63, 0, 58, 180, 52, 103, 124, 118, 192, 200, 37, 182, 190, 224, 185, 249, 63, 116, 123, 127, 63, 61, 58, 174, 52, 0, 0, 64, 193, 5, 51, 146, 63, 221, 68, 189, 191, 10, 8, 127, 193, 192, 58, 120, 55, 0, 0, 0, 193, 10, 130, 123, 63, 207, 78, 242, 191, 10, 8, 127, 193, 128, 58, 70, 55, 0, 0, 64, 193, 200, 37, 182, 190, 150, 37, 178, 191, 10, 8, 127, 193, 192, 58, 120, 55, 0, 0, 0, 193, 200, 37, 182, 190, 171, 232, 225, 191, 10, 8, 127, 193, 128, 58, 70, 55, 209, 33, 122, 65, 10, 130, 123, 63, 28, 181, 216, 63, 139, 116, 127, 63, 27, 57, 231, 52, 0, 0, 64, 65, 10, 130, 123, 63, 151, 1, 5, 64, 139, 116, 127, 63, 64, 57, 236, 52, 209, 33, 122, 65, 200, 37, 182, 190, 193, 0, 204, 63, 139, 116, 127, 63, 27, 57, 231, 52, 0, 0, 64, 65, 200, 37, 182, 190, 79, 2, 249, 63, 139, 116, 127, 63, 64, 57, 236, 52, 103, 124, 118, 192, 10, 130, 123, 63, 5, 164, 4, 64, 116, 121, 127, 63, 61, 58, 174, 52, 0, 0, 0, 193, 10, 130, 123, 63, 15, 242, 236, 63, 116, 121, 127, 63, 128, 58, 177, 52, 103, 124, 118, 192, 200, 37, 182, 190, 224, 185, 249, 63, 116, 121, 127, 63, 61, 58, 174, 52, 0, 0, 0, 193, 200, 37, 182, 190, 86, 129, 220, 63, 116, 121, 127, 63, 128, 58, 177, 52, 0, 0, 128, 64, 10, 130, 123, 63, 140, 47, 11, 192, 0, 15, 127, 193, 192, 57, 120, 55, 0, 0, 0, 65, 10, 130, 123, 63, 88, 83, 11, 192, 0, 15, 127, 193, 128, 57, 106, 55, 0, 0, 128, 64, 200, 37, 182, 190, 57, 208, 253, 191, 0, 15, 127, 193, 192, 57, 120, 55, 0, 0, 0, 65, 200, 37, 182, 190, 144, 17, 254, 191, 0, 15, 127, 193, 128, 57, 106, 55, 0, 0, 128, 64, 10, 130, 123, 63, 97, 253, 14, 64, 113, 126, 127, 63, 192, 57, 208, 52, 0, 0, 0, 0, 10, 130, 123, 63, 185, 112, 12, 64, 113, 126, 127, 63, 0, 58, 180, 52, 0, 0, 128, 64, 200, 37, 182, 190, 209, 122, 2, 64, 113, 126, 127, 63, 192, 57, 208, 52, 0, 0, 0, 0, 200, 37, 182, 190, 118, 52, 4, 64, 113, 126, 127, 63, 0, 58, 180, 52, 0, 0, 64, 65, 200, 37, 182, 190, 240, 77, 243, 191, 3, 125, 131, 68, 64, 57, 109, 55, 140, 39, 122, 65, 211, 108, 230, 190, 60, 218, 206, 191, 3, 125, 133, 64, 12, 57, 104, 55, 0, 0, 64, 65, 200, 37, 182, 190, 79, 2, 249, 63, 3, 125, 132, 64, 64, 57, 236, 52, 209, 33, 122, 65, 200, 37, 182, 190, 193, 0, 204, 63, 3, 125, 143, 64, 27, 57, 231, 52, 0, 0, 64, 65, 200, 37, 182, 190, 79, 2, 249, 63, 0, 127, 130, 63, 64, 57, 236, 52, 0, 0, 0, 65, 200, 37, 182, 190, 146, 62, 1, 64, 0, 127, 129, 64, 128, 57, 226, 52, 0, 0, 64, 65, 200, 37, 182, 190, 240, 77, 243, 191, 0, 127, 129, 64, 64, 57, 109, 55, 0, 0, 0, 65, 200, 37, 182, 190, 144, 17, 254, 191, 0, 127, 129, 64, 128, 57, 106, 55, 0, 0, 128, 64, 200, 37, 182, 190, 209, 122, 2, 64, 0, 127, 129, 64, 192, 57, 208, 52, 0, 0, 128, 64, 200, 37, 182, 190, 57, 208, 253, 191, 0, 127, 130, 63, 192, 57, 120, 55, 0, 0, 0, 0, 200, 37, 182, 190, 118, 52, 4, 64, 0, 127, 129, 65, 0, 58, 180, 52, 0, 0, 0, 0, 200, 37, 182, 190, 28, 6, 251, 191, 0, 127, 130, 63, 0, 58, 124, 55, 103, 124, 118, 192, 200, 37, 182, 190, 224, 185, 249, 63, 0, 127, 129, 65, 61, 58, 174, 52, 103, 124, 118, 192, 200, 37, 182, 190, 16, 64, 240, 191, 0, 127, 129, 64, 61, 58, 128, 55, 0, 0, 0, 193, 200, 37, 182, 190, 86, 129, 220, 63, 0, 127, 129, 66, 128, 58, 177, 52, 0, 0, 0, 193, 200, 37, 182, 190, 171, 232, 225, 191, 0, 127, 129, 64, 128, 58, 70, 55, 0, 0, 64, 193, 200, 37, 182, 190, 216, 101, 162, 63, 0, 127, 137, 63, 192, 58, 233, 52, 0, 0, 64, 193, 200, 37, 182, 190, 150, 37, 178, 191, 0, 127, 145, 63, 192, 58, 120, 55, 0, 0, 64, 193, 200, 37, 182, 190, 216, 101, 162, 63, 60, 67, 175, 100, 192, 58, 233, 52, 136, 152, 84, 193, 54, 174, 79, 63, 97, 25, 63, 63, 60, 67, 183, 96, 249, 58, 183, 52, 0, 0, 64, 193, 200, 37, 182, 190, 150, 37, 178, 191, 60, 67, 186, 95, 192, 58, 120, 55, 14, 172, 85, 193, 168, 114, 78, 63, 73, 159, 86, 191, 60, 67, 201, 88, 250, 58, 108, 55, 0, 0, 0, 193, 118, 251, 104, 191, 167, 64, 166, 61, 247, 151, 114, 58, 0, 50, 222, 53, 0, 0, 64, 193, 34, 56, 18, 191, 167, 64, 166, 61, 247, 151, 109, 59, 0, 49, 198, 53, 0, 0, 0, 193, 78, 127, 58, 191, 117, 118, 234, 63, 247, 151, 112, 58, 0, 50, 0, 52, 0, 0, 64, 193, 242, 119, 199, 190, 22, 189, 183, 63, 247, 151, 107, 59, 0, 49, 0, 52, 0, 0, 0, 0, 45, 207, 143, 191, 167, 64, 166, 61, 0, 140, 126, 63, 0, 52, 238, 53, 103, 124, 118, 192, 45, 207, 143, 191, 167, 64, 166, 61, 0, 140, 124, 63, 9, 51, 232, 53, 0, 0, 0, 0, 50, 34, 113, 191, 174, 16, 9, 64, 0, 140, 125, 63, 0, 52, 0, 52, 103, 124, 118, 192, 50, 34, 113, 191, 225, 38, 2, 64, 0, 140, 123, 63, 9, 51, 0, 52, 0, 0, 64, 193, 34, 56, 18, 191, 167, 64, 166, 61, 228, 175, 86, 49, 0, 49, 198, 53, 0, 0, 128, 193, 83, 94, 55, 63, 167, 64, 166, 61, 228, 175, 83, 50, 0, 48, 11, 53, 0, 0, 64, 193, 242, 119, 199, 190, 22, 189, 183, 63, 228, 175, 86, 49, 0, 49, 0, 52, 0, 0, 128, 193, 123, 218, 101, 63, 30, 55, 244, 62, 228, 175, 82, 51, 0, 48, 0, 52, 0, 0, 128, 64, 45, 207, 143, 191, 167, 64, 166, 61, 0, 140, 126, 63, 128, 52, 243, 53, 0, 0, 0, 0, 45, 207, 143, 191, 167, 64, 166, 61, 0, 140, 126, 63, 0, 52, 238, 53, 0, 0, 128, 64, 50, 34, 113, 191, 174, 16, 9, 64, 0, 140, 126, 63, 128, 52, 0, 52, 0, 0, 0, 0, 50, 34, 113, 191, 174, 16, 9, 64, 0, 140, 127, 63, 0, 52, 0, 52, 0, 0, 64, 65, 45, 207, 143, 191, 167, 64, 166, 61, 0, 140, 126, 63, 128, 53, 252, 53, 0, 0, 0, 65, 45, 207, 143, 191, 167, 64, 166, 61, 0, 140, 126, 62, 0, 53, 248, 53, 0, 0, 64, 65, 50, 34, 113, 191, 7, 155, 0, 64, 0, 140, 126, 64, 128, 53, 0, 52, 0, 0, 0, 65, 50, 34, 113, 191, 174, 16, 9, 64, 0, 140, 126, 61, 0, 53, 0, 52, 0, 0, 0, 65, 45, 207, 143, 191, 167, 64, 166, 61, 0, 140, 126, 63, 0, 53, 248, 53, 0, 0, 0, 65, 50, 34, 113, 191, 174, 16, 9, 64, 0, 140, 126, 63, 0, 53, 0, 52, 0, 0, 128, 65, 62, 35, 93, 191, 167, 64, 166, 61, 7, 148, 118, 67, 0, 54, 252, 53, 0, 0, 64, 65, 45, 207, 143, 191, 167, 64, 166, 61, 7, 148, 120, 71, 128, 53, 252, 53, 0, 0, 128, 65, 5, 167, 46, 191, 60, 46, 206, 63, 7, 148, 119, 69, 0, 54, 0, 52, 0, 0, 64, 65, 50, 34, 113, 191, 7, 155, 0, 64, 7, 148, 120, 72, 128, 53, 0, 52, 103, 124, 118, 192, 45, 207, 143, 191, 167, 64, 166, 61, 251, 146, 119, 60, 9, 51, 232, 53, 0, 0, 0, 193, 118, 251, 104, 191, 167, 64, 166, 61, 251, 146, 116, 60, 0, 50, 222, 53, 103, 124, 118, 192, 50, 34, 113, 191, 225, 38, 2, 64, 251, 146, 118, 60, 9, 51, 0, 52, 0, 0, 0, 193, 78, 127, 58, 191, 117, 118, 234, 63, 251, 146, 115, 60, 0, 50, 0, 52 ),
-"array_index_data": PoolByteArray( 0, 0, 1, 0, 2, 0, 2, 0, 1, 0, 3, 0, 3, 0, 1, 0, 4, 0, 5, 0, 6, 0, 7, 0, 7, 0, 6, 0, 8, 0, 9, 0, 10, 0, 11, 0, 11, 0, 10, 0, 12, 0, 12, 0, 10, 0, 13, 0, 13, 0, 10, 0, 14, 0, 14, 0, 10, 0, 15, 0, 16, 0, 17, 0, 18, 0, 18, 0, 17, 0, 19, 0, 20, 0, 21, 0, 22, 0, 22, 0, 21, 0, 23, 0, 23, 0, 21, 0, 24, 0, 24, 0, 21, 0, 25, 0, 25, 0, 21, 0, 26, 0, 27, 0, 28, 0, 29, 0, 29, 0, 28, 0, 30, 0, 31, 0, 32, 0, 33, 0, 33, 0, 32, 0, 34, 0, 35, 0, 36, 0, 37, 0, 37, 0, 36, 0, 38, 0, 39, 0, 40, 0, 41, 0, 41, 0, 40, 0, 42, 0, 43, 0, 44, 0, 45, 0, 45, 0, 44, 0, 46, 0, 47, 0, 48, 0, 49, 0, 49, 0, 48, 0, 50, 0, 51, 0, 52, 0, 53, 0, 53, 0, 52, 0, 54, 0, 55, 0, 56, 0, 57, 0, 57, 0, 56, 0, 58, 0, 59, 0, 60, 0, 61, 0, 61, 0, 60, 0, 62, 0, 63, 0, 64, 0, 65, 0, 65, 0, 64, 0, 66, 0, 67, 0, 68, 0, 69, 0, 69, 0, 68, 0, 70, 0, 71, 0, 72, 0, 73, 0, 73, 0, 72, 0, 74, 0, 75, 0, 76, 0, 77, 0, 77, 0, 76, 0, 78, 0, 79, 0, 80, 0, 81, 0, 81, 0, 80, 0, 82, 0, 83, 0, 84, 0, 85, 0, 85, 0, 84, 0, 86, 0, 87, 0, 88, 0, 89, 0, 89, 0, 88, 0, 90, 0, 91, 0, 92, 0, 93, 0, 93, 0, 92, 0, 94, 0, 76, 0, 43, 0, 78, 0, 78, 0, 43, 0, 45, 0, 95, 0, 96, 0, 97, 0, 97, 0, 96, 0, 98, 0, 99, 0, 100, 0, 101, 0, 101, 0, 100, 0, 102, 0, 103, 0, 104, 0, 105, 0, 105, 0, 104, 0, 106, 0, 60, 0, 107, 0, 62, 0, 62, 0, 107, 0, 108, 0, 109, 0, 110, 0, 55, 0, 55, 0, 110, 0, 56, 0, 44, 0, 47, 0, 46, 0, 46, 0, 47, 0, 49, 0, 111, 0, 112, 0, 39, 0, 39, 0, 112, 0, 40, 0, 113, 0, 114, 0, 115, 0, 115, 0, 114, 0, 116, 0, 48, 0, 117, 0, 50, 0, 50, 0, 117, 0, 118, 0, 118, 0, 117, 0, 119, 0, 120, 0, 121, 0, 122, 0, 122, 0, 121, 0, 123, 0, 124, 0, 125, 0, 126, 0, 126, 0, 125, 0, 127, 0, 128, 0, 129, 0, 130, 0, 130, 0, 129, 0, 131, 0, 132, 0, 133, 0, 134, 0, 134, 0, 133, 0, 135, 0, 136, 0, 137, 0, 138, 0, 138, 0, 137, 0, 139, 0, 139, 0, 137, 0, 140, 0, 141, 0, 142, 0, 133, 0, 133, 0, 142, 0, 135, 0, 135, 0, 142, 0, 143, 0, 144, 0, 145, 0, 146, 0, 146, 0, 145, 0, 147, 0, 129, 0, 132, 0, 131, 0, 131, 0, 132, 0, 134, 0, 148, 0, 128, 0, 149, 0, 149, 0, 128, 0, 130, 0, 150, 0, 148, 0, 151, 0, 151, 0, 148, 0, 149, 0, 152, 0, 153, 0, 154, 0, 154, 0, 153, 0, 155, 0, 156, 0, 157, 0, 158, 0, 158, 0, 157, 0, 159, 0, 160, 0, 161, 0, 162, 0, 162, 0, 161, 0, 163, 0, 118, 0, 119, 0, 141, 0, 141, 0, 119, 0, 142, 0, 164, 0, 165, 0, 166, 0, 166, 0, 165, 0, 167, 0, 168, 0, 169, 0, 170, 0, 170, 0, 169, 0, 171, 0, 172, 0, 173, 0, 174, 0, 174, 0, 173, 0, 175, 0, 176, 0, 177, 0, 178, 0, 178, 0, 177, 0, 179, 0, 180, 0, 181, 0, 182, 0, 182, 0, 181, 0, 183, 0, 184, 0, 185, 0, 186, 0, 186, 0, 185, 0, 187, 0, 188, 0, 189, 0, 190, 0, 190, 0, 189, 0, 191, 0, 192, 0, 193, 0, 194, 0, 194, 0, 193, 0, 195, 0, 196, 0, 197, 0, 198, 0, 198, 0, 197, 0, 199, 0, 200, 0, 201, 0, 202, 0, 202, 0, 201, 0, 203, 0, 204, 0, 205, 0, 206, 0, 206, 0, 205, 0, 207, 0, 208, 0, 209, 0, 210, 0, 210, 0, 209, 0, 211, 0, 212, 0, 213, 0, 214, 0, 214, 0, 213, 0, 215, 0, 216, 0, 217, 0, 218, 0, 218, 0, 217, 0, 219, 0, 220, 0, 221, 0, 222, 0, 222, 0, 221, 0, 223, 0, 224, 0, 225, 0, 226, 0, 226, 0, 225, 0, 227, 0, 228, 0, 229, 0, 230, 0, 230, 0, 229, 0, 231, 0, 232, 0, 233, 0, 234, 0, 234, 0, 233, 0, 235, 0, 233, 0, 236, 0, 235, 0, 235, 0, 236, 0, 237, 0, 236, 0, 238, 0, 237, 0, 237, 0, 238, 0, 239, 0, 238, 0, 240, 0, 239, 0, 239, 0, 240, 0, 241, 0, 240, 0, 242, 0, 241, 0, 241, 0, 242, 0, 243, 0, 242, 0, 244, 0, 243, 0, 243, 0, 244, 0, 245, 0, 246, 0, 247, 0, 248, 0, 248, 0, 247, 0, 249, 0, 250, 0, 251, 0, 252, 0, 252, 0, 251, 0, 253, 0, 254, 0, 255, 0, 0, 1, 0, 1, 255, 0, 1, 1, 2, 1, 3, 1, 4, 1, 4, 1, 3, 1, 5, 1, 6, 1, 7, 1, 8, 1, 8, 1, 7, 1, 9, 1, 10, 1, 11, 1, 12, 1, 12, 1, 11, 1, 13, 1, 14, 1, 6, 1, 15, 1, 15, 1, 6, 1, 8, 1, 16, 1, 17, 1, 18, 1, 18, 1, 17, 1, 19, 1, 20, 1, 21, 1, 22, 1, 22, 1, 21, 1, 23, 1 ),
-"blend_shape_data": [ ],
-"format": 2194711,
-"index_count": 498,
-"material": SubResource( 15 ),
-"name": "Material",
-"primitive": 4,
-"skeleton_aabb": [ ],
-"vertex_count": 280
-}
-
-[sub_resource type="Shader" id=18]
-code = "shader_type spatial;
-render_mode blend_mix,depth_draw_always,cull_back,diffuse_burley,specular_schlick_ggx,unshaded;
-
-void fragment()
-{
- ALBEDO.rgb = texture(SCREEN_TEXTURE, SCREEN_UV).rgb;
- //ALPHA = texture(SCREEN_TEXTURE, SCREEN_UV).a;
- //DEPTH = 0.0;
-}"
-
-[sub_resource type="ShaderMaterial" id=19]
-render_priority = -126
-shader = SubResource( 18 )
-
-[sub_resource type="BoxShape" id=20]
-extents = Vector3( 12.3896, 0.239365, 1.86841 )
-
-[sub_resource type="BoxShape" id=21]
-extents = Vector3( 7.3368, 0.780973, 0.124213 )
-
-[sub_resource type="BoxShape" id=23]
-extents = Vector3( 7.3368, 0.934506, 0.124213 )
-
-[sub_resource type="BoxShape" id=24]
-extents = Vector3( 1.57343, 0.934506, 1.35201 )
-
-[sub_resource type="BoxShape" id=25]
-extents = Vector3( 0.115313, 0.934506, 1.68658 )
-
-[sub_resource type="BoxShape" id=22]
-extents = Vector3( 2.14672, 0.239365, 1.59078 )
-
-[sub_resource type="NavigationMesh" id=26]
-vertices = PoolVector3Array( 4.5, 1.37649, -2.25, 4.5, 1.37649, -2, 6.25, 1.37649, -2, 6.25, 1.37649, -2.25, 14.5, 0.12649, -1.5, 14.5, 0.12649, -1.25, 14.75, 0.12649, -1.25, 14.75, 0.12649, -2.25, 13.75, 0.12649, -1.75, 13.75, 0.12649, -1.5, 14.5, 0.12649, -1.5, 14.75, 0.12649, -2.25, 11.5, 0.12649, -2.25, 11.5, 0.12649, -2, 12.75, 0.12649, -2, 14.75, 0.12649, -2.25, 12.75, 0.12649, -2, 12.75, 0.12649, -1.75, 13.75, 0.12649, -1.75, 14.75, 0.12649, -2.25, -6, 1.37649, 2, -6.25, 1.37649, 2, -6.25, 1.37649, 2.25, -4, 1.37649, 2.25, -4, 1.37649, 2, -4.25, 1.37649, 2, 13, 1.12649, 0.75, 13, 1.12649, -0.5, 12, 0.12649, -0.75, 11, 0.12649, 1, 12, 0.12649, 0.875, -6, 1.37649, 2, -6.25, 1.37649, 2.25, -4, 1.37649, 2.25, -4.25, 1.37649, 2, 8, 0.12649, -1.25, 8, 0.62649, -1.5, 3.5, 0.12649, -1.5, -6, 0.62649, 1, -6, 1.37649, 2, -4.25, 1.37649, 2, -4.25, 0.62649, 1, -11.75, 0.12649, -1.5, -14.25, 0.12649, 1.25, -14.25, 0.62649, 1.5, -6.5, 0.12649, 1.75, -6.5, 0.12649, 1, -4.25, 0.62649, 1, -3.75, 0.12649, 1, -4.25, 0.12649, -1.75, 11, 0.12649, 1, 12, 0.12649, -0.75, 12, 0.12649, -1, 8, 0.12649, -1.25, 8.5, 0.12649, 1.25, 8.5, 0.12649, 1.25, 11, 0.12649, 1.25, 11, 0.12649, 1, -11.75, 0.12649, -1.5, -14.25, 0.12649, -1.5, -14.25, 0.12649, -1.25, -15.25, 0.12649, -1.25, -15.25, -0.12351, 1.25, -14.25, 0.12649, 1.25, -14.25, 0.12649, -1.25, -6, 0.62649, 1, -4.25, 0.62649, 1, -4.25, 0.12649, -1.75, -5.41667, 0.12649, 0.0833333, -11.75, 0.12649, -1.5, -14.25, 0.12649, -1.25, -14.25, 0.12649, 1.25, 0, 0.12649, 1.5, 3.5, 0.12649, -1.5, 3.5, 0.62649, -1.75, -4.25, 0.12649, -1.75, -3.75, 0.12649, 1, -4.25, 0.12649, -1.75, -11.75, 0.62649, -1.75, -11.75, 0.12649, -1.5, -6.5, 0.12649, 1, -6, 0.62649, 1, -5.41667, 0.12649, 0.0833333, 8.5, 0.62649, 1.5, 8.5, 0.12649, 1.25, 8, 0.12649, -1.25, 3.5, 0.12649, -1.5, 0, 0.12649, 1.5, 7.08333, 0.12649, 1.5, -3.75, 0.12649, 1.75, 0, 0.62649, 1.75, 0, 0.12649, 1.5, -3.75, 0.12649, 1, 10.25, 1.37649, -1.75, 10.25, 1.37649, -1.5, 11.5, 1.62649, -1.5, 11.5, 1.62649, -1.75, 13.5, 1.87649, 0.75, 13, 1.87649, 1, 13, 1.87649, 1.25, 14.75, 1.87649, 1, 14.75, 1.87649, 0.75, 14.5, 1.87649, -0.75, 14.5, 1.62649, -1, 13.75, 1.87649, -1, 13.5, 1.87649, -0.75, 15.5, 1.87649, -0.5, 15.5, 1.87649, -0.75, 14.5, 1.87649, -0.75, 14.75, 1.87649, 0.75, 15.5, 1.87649, -0.5, 14.5, 1.87649, -0.75, 13.5, 1.87649, -0.75, 13.5, 1.87649, 0.75, 13.5, 1.87649, -0.75, 13.75, 1.87649, -1, 13.75, 1.62649, -1.25, 12, 1.62649, -1.5, 12, 1.62649, -1.25, 15.75, 1.87649, 0.75, 15.75, 1.87649, -0.5, 15.5, 1.87649, -0.5, 14.75, 1.87649, 0.75, 12.75, 0.12649, 2, 11.5, 0.12649, 2, 11.5, 0.12649, 2.25, 14.75, 0.12649, 2.25, 14.75, 0.12649, 2.25, 14.75, 0.12649, 1.5, 12.75, 0.12649, 1.75, 12.75, 0.12649, 2, -13, 1.37649, 2, -13, 1.37649, 2.25, -11.75, 1.37649, 2.25, -11.75, 1.37649, 2, 2.25, 1.37649, 2, 2.25, 1.37649, 2.25, 6.25, 1.37649, 2.25, 6.25, 1.37649, 2 )
-polygons = [ PoolIntArray( 3, 2, 0 ), PoolIntArray( 0, 2, 1 ), PoolIntArray( 5, 4, 6 ), PoolIntArray( 6, 4, 7 ), PoolIntArray( 9, 8, 10 ), PoolIntArray( 10, 8, 11 ), PoolIntArray( 13, 12, 14 ), PoolIntArray( 14, 12, 15 ), PoolIntArray( 17, 16, 18 ), PoolIntArray( 18, 16, 19 ), PoolIntArray( 22, 21, 20 ), PoolIntArray( 25, 24, 23 ), PoolIntArray( 26, 30, 27 ), PoolIntArray( 27, 30, 28 ), PoolIntArray( 28, 30, 29 ), PoolIntArray( 34, 33, 31 ), PoolIntArray( 31, 33, 32 ), PoolIntArray( 37, 36, 35 ), PoolIntArray( 41, 40, 38 ), PoolIntArray( 38, 40, 39 ), PoolIntArray( 43, 42, 44 ), PoolIntArray( 44, 42, 46 ), PoolIntArray( 44, 46, 45 ), PoolIntArray( 49, 48, 47 ), PoolIntArray( 51, 50, 52 ), PoolIntArray( 52, 50, 54 ), PoolIntArray( 52, 54, 53 ), PoolIntArray( 57, 56, 55 ), PoolIntArray( 60, 59, 58 ), PoolIntArray( 64, 63, 61 ), PoolIntArray( 61, 63, 62 ), PoolIntArray( 65, 68, 66 ), PoolIntArray( 66, 68, 67 ), PoolIntArray( 69, 71, 70 ), PoolIntArray( 73, 72, 74 ), PoolIntArray( 74, 72, 76 ), PoolIntArray( 74, 76, 75 ), PoolIntArray( 81, 80, 82 ), PoolIntArray( 82, 80, 77 ), PoolIntArray( 77, 80, 79 ), PoolIntArray( 77, 79, 78 ), PoolIntArray( 83, 88, 84 ), PoolIntArray( 84, 88, 85 ), PoolIntArray( 85, 88, 86 ), PoolIntArray( 86, 88, 87 ), PoolIntArray( 90, 89, 91 ), PoolIntArray( 91, 89, 92 ), PoolIntArray( 96, 95, 93 ), PoolIntArray( 93, 95, 94 ), PoolIntArray( 98, 97, 99 ), PoolIntArray( 99, 97, 100 ), PoolIntArray( 100, 97, 101 ), PoolIntArray( 103, 102, 104 ), PoolIntArray( 104, 102, 105 ), PoolIntArray( 108, 107, 106 ), PoolIntArray( 110, 109, 111 ), PoolIntArray( 111, 109, 112 ), PoolIntArray( 112, 109, 113 ), PoolIntArray( 115, 114, 116 ), PoolIntArray( 116, 114, 118 ), PoolIntArray( 116, 118, 117 ), PoolIntArray( 120, 119, 121 ), PoolIntArray( 121, 119, 122 ), PoolIntArray( 124, 123, 125 ), PoolIntArray( 125, 123, 126 ), PoolIntArray( 130, 129, 127 ), PoolIntArray( 127, 129, 128 ), PoolIntArray( 134, 133, 131 ), PoolIntArray( 131, 133, 132 ), PoolIntArray( 138, 137, 135 ), PoolIntArray( 135, 137, 136 ) ]
-agent_height = 1.8
-agent_radius = 0.18
-agent_max_slope = 46.0
-edge_max_error = 0.68
-
-[sub_resource type="CubeMesh" id=27]
-size = Vector3( 30, 0.1, 5 )
-
-[sub_resource type="CubeMesh" id=29]
-size = Vector3( 2, 0.35, 2.5 )
-
-[sub_resource type="ConvexPolygonShape" id=30]
-points = PoolVector3Array( 1, 0.174966, 1.25, 1, -0.175, 1.25, 1, 0.174966, -1.25, -1, 0.174966, 1.25, -1, -0.175, 1.25, 1, -0.175, -1.25, -1, 0.174966, -1.25, -1, -0.175, -1.25 )
-
-[node name="Gunboat" type="RigidBody"]
-mass = 13500.0
-physics_material_override = SubResource( 28 )
-can_sleep = false
-linear_damp = 1.0
-angular_damp = 1.0
-script = ExtResource( 1 )
-
-[node name="SteerArea" type="Area" parent="."]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 6.36737, 1.76137, 0 )
-monitoring = false
-
-[node name="CollisionShape" type="CollisionShape" parent="SteerArea"]
-shape = SubResource( 5 )
-
-[node name="MeshInstance" type="MeshInstance" parent="SteerArea"]
-mesh = SubResource( 6 )
-
-[node name="FloatPoints" type="Spatial" parent="."]
-
-[node name="FloatArea" type="Area" parent="FloatPoints"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 7.4398, -0.80712, -2.36264 )
-collision_layer = 0
-collision_mask = 4
-monitorable = false
-
-[node name="CollisionShape" type="CollisionShape" parent="FloatPoints/FloatArea"]
-shape = SubResource( 7 )
-
-[node name="FloatArea2" type="Area" parent="FloatPoints"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 7.4398, -0.80712, 2.39068 )
-collision_layer = 0
-collision_mask = 4
-monitorable = false
-
-[node name="CollisionShape" type="CollisionShape" parent="FloatPoints/FloatArea2"]
-shape = SubResource( 7 )
-
-[node name="FloatArea5" type="Area" parent="FloatPoints"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.807551, 4.064 )
-collision_layer = 0
-collision_mask = 4
-monitorable = false
-
-[node name="CollisionShape" type="CollisionShape" parent="FloatPoints/FloatArea5"]
-shape = SubResource( 7 )
-
-[node name="FloatArea6" type="Area" parent="FloatPoints"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.807551, -4.064 )
-collision_layer = 0
-collision_mask = 4
-monitorable = false
-
-[node name="CollisionShape" type="CollisionShape" parent="FloatPoints/FloatArea6"]
-shape = SubResource( 7 )
-
-[node name="FloatArea3" type="Area" parent="FloatPoints"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -7.44, -0.806844, 2.391 )
-collision_layer = 0
-collision_mask = 4
-monitorable = false
-
-[node name="CollisionShape" type="CollisionShape" parent="FloatPoints/FloatArea3"]
-shape = SubResource( 7 )
-
-[node name="FloatArea4" type="Area" parent="FloatPoints"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -7.44, -0.806844, -2.391 )
-collision_layer = 0
-collision_mask = 4
-monitorable = false
-
-[node name="CollisionShape" type="CollisionShape" parent="FloatPoints/FloatArea4"]
-shape = SubResource( 7 )
-
-[node name="Mast" type="Spatial" parent="."]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 3.63842, 5.76149, 0 )
-
-[node name="MastPole" type="MeshInstance" parent="Mast"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 5.93756, 0 )
-mesh = SubResource( 9 )
-skeleton = NodePath("../..")
-material/0 = SubResource( 12 )
-
-[node name="Sail" type="Spatial" parent="Mast"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.113369, 8.41979, 0 )
-
-[node name="SailMesh" type="MeshInstance" parent="Mast/Sail"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.617531, 0 )
-mesh = SubResource( 13 )
-skeleton = NodePath("../..")
-
-[node name="Rudder" type="Spatial" parent="."]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -16.0094, 0, 0 )
-
-[node name="RudderMesh" type="MeshInstance" parent="Rudder"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.651875, 0, 0 )
-mesh = SubResource( 14 )
-skeleton = NodePath("../..")
-
-[node name="laetine" type="MeshInstance" parent="."]
-transform = Transform( -1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 0, 0 )
-mesh = SubResource( 16 )
-
-[node name="laetine_mask" type="MeshInstance" parent="."]
-transform = Transform( -1, 0, -8.74228e-08, 0, 0.75, 0, 8.74228e-08, 0, -1, 0, -0.214627, 0 )
-visible = false
-mesh = ExtResource( 4 )
-skeleton = NodePath("")
-material/0 = SubResource( 19 )
-
-[node name="CollisionShape" type="CollisionShape" parent="."]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -3.60351, -0.594547, 0 )
-shape = SubResource( 20 )
-
-[node name="CollisionShape3" type="CollisionShape" parent="."]
-transform = Transform( 0.999005, 0, -0.0445958, 0, 1, 0, 0.0445958, 0, 0.999005, -8.64722, 0.222032, 2.00624 )
-shape = SubResource( 21 )
-
-[node name="CollisionShape5" type="CollisionShape" parent="."]
-transform = Transform( 0.997985, 0, 0.0634524, 0, 1, 0, -0.0634524, 0, 0.997985, 5.96797, 0.222032, 1.98993 )
-shape = SubResource( 23 )
-
-[node name="CollisionShape6" type="CollisionShape" parent="."]
-transform = Transform( 0.997734, 0, -0.0672839, 0, 1, 0, 0.0672839, 0, 0.997734, 5.96797, 0.222032, -1.96965 )
-shape = SubResource( 23 )
-
-[node name="CollisionShape7" type="CollisionShape" parent="."]
-transform = Transform( 0.997734, 0, -0.0672839, 0, 1, 0, 0.0672839, 0, 0.997734, 14.4082, 0.423598, 0.0317991 )
-shape = SubResource( 24 )
-
-[node name="CollisionShape8" type="CollisionShape" parent="."]
-transform = Transform( 0.999989, 0, 0.00459021, 0, 1, 0, -0.00459021, 0, 0.999989, -15.8389, 0.423598, -0.0761639 )
-shape = SubResource( 25 )
-
-[node name="CollisionShape4" type="CollisionShape" parent="."]
-transform = Transform( 0.999644, 0, 0.0266829, 0, 1, 0, -0.0266829, 0, 0.999644, -8.61846, 0.222032, -2.11819 )
-shape = SubResource( 21 )
-
-[node name="CollisionShape2" type="CollisionShape" parent="."]
-transform = Transform( 0.966756, -0.255699, 0, 0.255699, 0.966756, 0, 0, 0, 1, 10.733, -0.0678967, 0.0285335 )
-shape = SubResource( 22 )
-
-[node name="Cannon" parent="." instance=ExtResource( 2 )]
-transform = Transform( -4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 3.29231, 0.746166, -2.13535 )
-
-[node name="NavigationMeshInstance" type="NavigationMeshInstance" parent="."]
-navmesh = SubResource( 26 )
-
-[node name="MeshInstance" type="MeshInstance" parent="NavigationMeshInstance"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.282388, 0 )
-visible = false
-mesh = SubResource( 27 )
-
-[node name="laetine" type="MeshInstance" parent="NavigationMeshInstance"]
-transform = Transform( -1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 0, 0 )
-visible = false
-mesh = SubResource( 16 )
-
-[node name="ramp" type="MeshInstance" parent="NavigationMeshInstance"]
-transform = Transform( 1, 0, 0, 0, 0.816238, 0.577715, 0, -0.577715, 0.816238, -5.03993, 0.157205, 1.35372 )
-visible = false
-mesh = SubResource( 29 )
-
-[node name="ramp" type="MeshInstance" parent="."]
-transform = Transform( 1, 0, 0, 0, 0.771436, 0.636307, 0, -0.636307, 0.771436, -5.03993, 0.255733, 1.26566 )
-mesh = SubResource( 29 )
-
-[node name="CollisionShape9" type="CollisionShape" parent="."]
-transform = Transform( 1, 0, 0, 0, 0.855174, 0.51834, 0, -0.51834, 0.855174, -5.03993, 0.255733, 1.26566 )
-shape = SubResource( 30 )
-
-[node name="Ladder" parent="." instance=ExtResource( 5 )]
-transform = Transform( -1, 0, -8.74228e-08, 0, 3, 0, 8.74228e-08, 0, -1, -7.1768, -0.262492, -2.50338 )
diff --git a/godot/scenes/vehicles/Gunbrig.tscn b/godot/scenes/vehicles/Gunbrig.tscn
index ce417c7..91900c3 100644
--- a/godot/scenes/vehicles/Gunbrig.tscn
+++ b/godot/scenes/vehicles/Gunbrig.tscn
@@ -1,4 +1,4 @@
-[gd_scene load_steps=24 format=2]
+[gd_scene load_steps=25 format=2]
[ext_resource path="res://scripts/vehicles/Gunboat.gd" type="Script" id=1]
[ext_resource path="res://scenes/machines/Cannon.tscn" type="PackedScene" id=2]
@@ -53,6 +53,9 @@ agent_radius = 0.18
agent_max_slope = 46.0
region_min_size = 3.0
+[sub_resource type="BoxShape" id=36]
+extents = Vector3( 10.0294, 0.598376, 0.166381 )
+
[node name="Gunbrig" type="RigidBody"]
mass = 238000.0
physics_material_override = SubResource( 28 )
@@ -346,3 +349,11 @@ mesh = ExtResource( 8 )
transform = Transform( 0.926234, 1.7263e-09, 0.0323448, 0.0323448, -1.10483e-07, -0.926234, 1.7263e-09, 0.926799, -1.10483e-07, -10.6379, 11.734, -0.0107608 )
visible = false
mesh = ExtResource( 7 )
+
+[node name="GunwhaleR" type="CollisionShape" parent="."]
+transform = Transform( 0.999486, 0, -0.0320562, 0, 1, 0, 0.0320562, 0, 0.999486, -0.646409, 0.658986, 3.50438 )
+shape = SubResource( 36 )
+
+[node name="GunwhaleR2" type="CollisionShape" parent="."]
+transform = Transform( 0.999486, 0, 0.0320562, 0, 1, 0, -0.0320562, 0, 0.999486, -0.646409, 0.658986, -3.46571 )
+shape = SubResource( 36 )
diff --git a/godot/scenes/vehicles/ship_parts/SquareSail.gd b/godot/scenes/vehicles/ship_parts/SquareSail.gd
index b387232..72159d8 100644
--- a/godot/scenes/vehicles/ship_parts/SquareSail.gd
+++ b/godot/scenes/vehicles/ship_parts/SquareSail.gd
@@ -7,6 +7,8 @@ func _ready():
wind_bone = $Skeleton.find_bone("Bone")
func set_sheet(amount: float): #0 to 1
+ $Sheet.transform.origin.y = amount * sheet_out
+ print(amount)
$Skeleton/IKL.start(true)
$Skeleton/IKR.start(true)
- $Sheet.transform.origin.y = amount * sheet_out
+
diff --git a/godot/scenes/weapons/grapplinghook.gd b/godot/scenes/weapons/grapplinghook.gd
new file mode 100644
index 0000000..f7c1fa8
--- /dev/null
+++ b/godot/scenes/weapons/grapplinghook.gd
@@ -0,0 +1,98 @@
+extends Resource
+
+var player_owner: RigidBody = null
+const fist_damage: int = 15
+var can_throw: bool = true
+var hooking: bool = false
+
+var pin_root: PinJoint = PinJoint.new()
+var pin_mid: PinJoint = PinJoint.new()
+var pin_player: PinJoint = PinJoint.new()
+
+var rope_seg1: RigidBody = null #preload("res://scenes/environment/RopeSegment.tscn").instance()
+var rope_seg2: RigidBody = null #preload("res://scenes/environment/RopeSegment.tscn").instance()
+
+const name: String = "GRAPPLINGHOOK"
+
+func init(owner):
+ player_owner = owner
+ rope_seg1 = preload("res://scenes/environment/RopeSegment.tscn").instance()
+ rope_seg2 = preload("res://scenes/environment/RopeSegment.tscn").instance()
+
+func deselect() -> bool:
+ if can_throw and !hooking:
+ return true
+ return false
+
+func select() -> void:
+ player_owner.rpc("anim_event", {"VMANIMPLAY" : "rockets_idle_vm"})
+
+func attack1():
+ if !can_throw or hooking:
+ return
+ can_throw = false
+ player_owner.rpc("anim_event", {"VMANIMPLAY" : "rockets_launch_vm"})
+ yield(player_owner.get_tree().create_timer(0.45), "timeout")
+ hooking = true
+ player_owner.gun_ray.force_raycast_update()
+ if player_owner.gun_ray.is_colliding():
+ var hit = player_owner.gun_ray.get_collider()
+ var hitpt: Vector3 = player_owner.gun_ray.get_collision_point()
+ var vlen: float = (hitpt - player_owner.head.global_transform.origin).length()
+ player_owner.world.add_child(pin_root)
+ player_owner.world.add_child(pin_mid)
+ player_owner.world.add_child(pin_player)
+ player_owner.world.add_child(rope_seg1)
+ player_owner.world.add_child(rope_seg2)
+
+ pin_root.global_transform.origin = hitpt
+ pin_player.global_transform.origin = player_owner.head.global_transform.origin
+ pin_mid.global_transform.origin = hitpt.move_toward(player_owner.head.global_transform.origin, vlen/2)
+ pin_player.global_transform.origin += player_owner.velocity*0.0167
+ print(pin_root.global_transform.origin)
+ print(pin_player.global_transform.origin)
+ print(pin_mid.global_transform.origin)
+ #should apply to both
+ rope_seg1.get_node("CollisionShape").shape.extents = Vector3(0.1,0.1,vlen/2)
+ #rope_seg2.get_node("CollisionShape").shape.extents = Vector3(0.1,0.1,vec.length()/2)
+ rope_seg1.global_transform.origin = hitpt.move_toward(player_owner.head.global_transform.origin, vlen*0.25)
+ rope_seg2.global_transform.origin = hitpt.move_toward(player_owner.head.global_transform.origin, 0.75*vlen)
+ rope_seg1.look_at(hitpt, Vector3.UP)
+ rope_seg2.look_at(hitpt, Vector3.UP)
+
+ pin_root.set_node_a(hit.get_path())
+ pin_root.set_node_b(rope_seg1.get_path())
+ pin_mid.set_node_a(rope_seg1.get_path())
+ pin_mid.set_node_b(rope_seg2.get_path())
+ pin_player.set_node_a(rope_seg2.get_path())
+ pin_player.set_node_b(player_owner.get_path())
+ #rope_seg2.get_node("CollisionShape").shape.extents = Vector3(0.05,0.05,distance/2)
+ else:
+ can_throw = true
+
+func detach():
+ player_owner.world.remove_child(pin_root)
+ player_owner.world.remove_child(pin_mid)
+ player_owner.world.remove_child(pin_player)
+ player_owner.world.remove_child(rope_seg1)
+ player_owner.world.remove_child(rope_seg2)
+ pin_root.set_node_a("")
+ pin_root.set_node_b("")
+ pin_mid.set_node_a("")
+ pin_mid.set_node_b("")
+ pin_player.set_node_a("")
+ pin_player.set_node_b("")
+ can_throw = true
+ hooking = false
+
+func mouse_input(m1: float, _m3: float, m2: float) -> void:
+ if m2 > 0 and hooking:
+ detach()
+ if m1 > 0 and rope_seg1.get_node("CollisionShape").shape.extents.z > 0.1:
+ rope_seg1.get_node("CollisionShape").shape.extents.z -= 0.05
+ var trf1: Vector3 = (pin_root.global_transform.origin-pin_mid.global_transform.origin).normalized()
+ rope_seg1.global_transform.origin += trf1*0.025
+ var trf2: Vector3 = (pin_mid.global_transform.origin-pin_player.global_transform.origin).normalized()
+ rope_seg2.global_transform.origin += trf2*0.025
+ player_owner.linear_velocity += (trf1*0.05 + trf2*0.05)
+
diff --git a/godot/scenes/weapons/grapplinghook.tres b/godot/scenes/weapons/grapplinghook.tres
new file mode 100644
index 0000000..395998e
--- /dev/null
+++ b/godot/scenes/weapons/grapplinghook.tres
@@ -0,0 +1,7 @@
+[gd_resource type="Resource" load_steps=2 format=2]
+
+[ext_resource path="res://scenes/weapons/grapplinghook.gd" type="Script" id=1]
+
+[resource]
+resource_local_to_scene = true
+script = ExtResource( 1 )
diff --git a/godot/scenes/worldprops/ball_bucket.tscn b/godot/scenes/worldprops/ball_bucket.tscn
new file mode 100644
index 0000000..d85a2fc
--- /dev/null
+++ b/godot/scenes/worldprops/ball_bucket.tscn
@@ -0,0 +1,46 @@
+[gd_scene load_steps=4 format=2]
+
+[sub_resource type="BoxShape" id=1]
+extents = Vector3( 1, 0.1, 1 )
+
+[sub_resource type="BoxShape" id=2]
+extents = Vector3( 1, 0.4, 0.1 )
+
+[sub_resource type="SpatialMaterial" id=3]
+albedo_color = Color( 0.266667, 0.168627, 0.0235294, 1 )
+metallic_specular = 0.0
+
+[node name="ball_bucket" type="StaticBody"]
+
+[node name="CollisionShape" type="CollisionShape" parent="."]
+shape = SubResource( 1 )
+
+[node name="CollisionShape2" type="CollisionShape" parent="."]
+transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.474515, 0.95 )
+shape = SubResource( 2 )
+
+[node name="CollisionShape3" type="CollisionShape" parent="."]
+transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.474515, -0.897996 )
+shape = SubResource( 2 )
+
+[node name="CollisionShape4" type="CollisionShape" parent="."]
+transform = Transform( -4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -0.889, 0.475, 0 )
+shape = SubResource( 2 )
+
+[node name="CollisionShape5" type="CollisionShape" parent="."]
+transform = Transform( -4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0.889, 0.475, 0 )
+shape = SubResource( 2 )
+
+[node name="CSGCombiner" type="CSGCombiner" parent="."]
+material_override = SubResource( 3 )
+
+[node name="CSGBox" type="CSGBox" parent="CSGCombiner"]
+transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.400668, 0 )
+height = 1.00035
+
+[node name="CSGBox2" type="CSGBox" parent="CSGCombiner"]
+transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.975335, 0 )
+operation = 2
+width = 1.73095
+height = 1.87987
+depth = 1.54392
diff --git a/godot/scripts/GameBase.gd b/godot/scripts/GameBase.gd
index 85af89a..9f24d7b 100644
--- a/godot/scripts/GameBase.gd
+++ b/godot/scripts/GameBase.gd
@@ -103,9 +103,9 @@ func back_to_main():
queue_free()
func join_team(team):
- if player_char != null:
+ if player_char != null:
player_char.deselect_character()
- $DEFAULTCAM.current = true
+ cam.attach($DEFAULTCAM, "STATIC", NodePath("."))
player_team = team
rpc_id(1, "_call_on_server", "_client_change_teams", {"id" : client_id, "team" : team})
diff --git a/godot/scripts/ballistics/Cannonball.gd b/godot/scripts/ballistics/Cannonball.gd
index 241fc7d..b41f104 100644
--- a/godot/scripts/ballistics/Cannonball.gd
+++ b/godot/scripts/ballistics/Cannonball.gd
@@ -15,6 +15,10 @@ func get_init_info():
return {"linear_velocity" : linear_velocity, "angular_velocity" : angular_velocity, "oldvel" : oldvel, "shooter" : shooter, "shooter_id" : shooter_id}
func _on_collision(body):
+ if is_network_master() and body.has_method("load_cannonball") and !body.loaded:
+ body.rpc("load_cannonball")
+ rpc("net_remove")
+ return
if is_network_master() and oldvel.length() > 20 and !damage_exceptions.has(body) and body.has_method("damage"):
body.rpc("damage", oldvel.length(), "BLUNT", [shooter_id, shooter], "using 'cannon'")
damage_exceptions.append(body)
diff --git a/godot/scripts/characters/player_controller_new.gd b/godot/scripts/characters/player_controller_new.gd
index a61ef1d..b1a8718 100644
--- a/godot/scripts/characters/player_controller_new.gd
+++ b/godot/scripts/characters/player_controller_new.gd
@@ -105,6 +105,7 @@ func _process(_delta: float) -> void:
else:
weapon.mouse_input(Input.get_action_strength("fire"), Input.get_action_strength("fire3"),Input.get_action_strength("fire2"))
jumping = Input.get_action_strength("move_jump")
+ walk_speed = 5.0 if Input.get_action_strength("move_walk") else 7.5
if Input.is_action_just_pressed("fire"):
weapon.attack1()
if Input.is_action_just_pressed("reload") and weapon.has_method("reload"):
@@ -190,6 +191,10 @@ func lose_machine():
machine = null
func carry_process() -> void:
+ if !is_instance_valid(carrying_object):
+ carrying_object = null
+ carrying = false
+ return
var vec = (carry_point.global_transform.origin - carrying_object.global_transform.origin)
var length = vec.length()
if length > 1:
diff --git a/godot/scripts/machines/Cannon.gd b/godot/scripts/machines/Cannon.gd
index 80b9edf..6c0b350 100644
--- a/godot/scripts/machines/Cannon.gd
+++ b/godot/scripts/machines/Cannon.gd
@@ -41,6 +41,7 @@ func _ready():
add_collision_exception_with(get_parent().get_parent())
mode = RigidBody.MODE_KINEMATIC
world_ballistics = world.get_node("BALLISTICS")
+ if loaded: controllable = true
func on_new_control():
if is_network_master(): world.cam.attach(self, "STATIC", "./YawJoint/PitchJoint/CameraPoint")
@@ -65,6 +66,7 @@ func attack1():
remotesync func fire():
loaded = false
+ controllable = false
status.set_visible(true)
$YawJoint/PitchJoint/Muzzle/explosion_sound.play()
var expl = preload("res://particles/p_Explosion.tscn").instance()
@@ -79,6 +81,11 @@ remotesync func fire():
cball.shooter = user.name + " (" + world.players_info[user.get_network_master()][0] + ")"
cball.shooter_id = user.get_network_master()
if mode == RigidBody.MODE_KINEMATIC:
- get_parent().apply_impulse($YawJoint/PitchJoint.global_transform.origin - get_parent().global_transform.origin, -1*cball.mass*ball_speed*muzzle.global_transform.basis.x)
+ get_parent().get_parent().apply_impulse($YawJoint/PitchJoint.global_transform.origin - get_parent().global_transform.origin, -1*cball.mass*ball_speed*muzzle.global_transform.basis.x)
else:
if is_network_master(): apply_impulse($YawJoint/PitchJoint.global_transform.origin - global_transform.origin, -1*cball.mass*ball_speed*muzzle.global_transform.basis.x)
+
+remotesync func load_cannonball():
+ loaded = true
+ controllable = true
+ $StatusNotifier.visible = false
diff --git a/godot/scripts/vehicles/Gunboat.gd b/godot/scripts/vehicles/Gunboat.gd
index c00479e..03252e6 100644
--- a/godot/scripts/vehicles/Gunboat.gd
+++ b/godot/scripts/vehicles/Gunboat.gd
@@ -39,12 +39,18 @@ func mp_init(init_info):
# Called when the node enters the scene tree for the first time.
func _ready():
print("adding gunboat to scene",get_tree().get_network_unique_id())
+ controllable = true
+ for sail in $SAILS.get_children():
+ sail.set_sheet(sail_out)
world = get_tree().get_root().find_node("GAMEWORLD", true, false)
if get_tree().get_network_unique_id() == 0:
print("enabling navigation for server")
$NavigationMeshInstance.set_enabled(true)
func on_no_control():
+ rpc("reset_controls")
+
+remotesync func reset_controls():
rudder = 0.0
throttle = 0.0
mainsheet = 0.0
@@ -76,7 +82,7 @@ remotesync func damage(amount, _type, _shooter, _extra = ""):
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _physics_process(delta):
if is_network_master():
- if mainsheet != 0:
+ if throttle != 0:
for sail in $SAILS.get_children():
sail.set_sheet(sail_out)
$Rudder.rotation_degrees.y = rudder_turn
diff --git a/godot/sounds/footstep01.ogg b/godot/sounds/footstep01.ogg
new file mode 100644
index 0000000..4a2501c
--- /dev/null
+++ b/godot/sounds/footstep01.ogg
Binary files differ
diff --git a/godot/sounds/footstep01.ogg.import b/godot/sounds/footstep01.ogg.import
new file mode 100644
index 0000000..eafe193
--- /dev/null
+++ b/godot/sounds/footstep01.ogg.import
@@ -0,0 +1,15 @@
+[remap]
+
+importer="ogg_vorbis"
+type="AudioStreamOGGVorbis"
+path="res://.import/footstep01.ogg-d76963bf1bd06cc247473674bc496643.oggstr"
+
+[deps]
+
+source_file="res://sounds/footstep01.ogg"
+dest_files=[ "res://.import/footstep01.ogg-d76963bf1bd06cc247473674bc496643.oggstr" ]
+
+[params]
+
+loop=true
+loop_offset=0
diff --git a/godot/sounds/footstep02.ogg b/godot/sounds/footstep02.ogg
new file mode 100644
index 0000000..cda8c99
--- /dev/null
+++ b/godot/sounds/footstep02.ogg
Binary files differ
diff --git a/godot/sounds/footstep02.ogg.import b/godot/sounds/footstep02.ogg.import
new file mode 100644
index 0000000..1dfabc5
--- /dev/null
+++ b/godot/sounds/footstep02.ogg.import
@@ -0,0 +1,15 @@
+[remap]
+
+importer="ogg_vorbis"
+type="AudioStreamOGGVorbis"
+path="res://.import/footstep02.ogg-f0eec7980dcf1290786fd8f372f7b88f.oggstr"
+
+[deps]
+
+source_file="res://sounds/footstep02.ogg"
+dest_files=[ "res://.import/footstep02.ogg-f0eec7980dcf1290786fd8f372f7b88f.oggstr" ]
+
+[params]
+
+loop=true
+loop_offset=0
diff --git a/godot/sounds/footstep03.ogg b/godot/sounds/footstep03.ogg
new file mode 100644
index 0000000..812335c
--- /dev/null
+++ b/godot/sounds/footstep03.ogg
Binary files differ
diff --git a/godot/sounds/footstep03.ogg.import b/godot/sounds/footstep03.ogg.import
new file mode 100644
index 0000000..711cfc6
--- /dev/null
+++ b/godot/sounds/footstep03.ogg.import
@@ -0,0 +1,15 @@
+[remap]
+
+importer="ogg_vorbis"
+type="AudioStreamOGGVorbis"
+path="res://.import/footstep03.ogg-03ef4afe33de50dbdff6ddbbf098ad74.oggstr"
+
+[deps]
+
+source_file="res://sounds/footstep03.ogg"
+dest_files=[ "res://.import/footstep03.ogg-03ef4afe33de50dbdff6ddbbf098ad74.oggstr" ]
+
+[params]
+
+loop=true
+loop_offset=0
diff --git a/godot/sounds/footstep04.ogg b/godot/sounds/footstep04.ogg
new file mode 100644
index 0000000..dabbd70
--- /dev/null
+++ b/godot/sounds/footstep04.ogg
Binary files differ
diff --git a/godot/sounds/footstep04.ogg.import b/godot/sounds/footstep04.ogg.import
new file mode 100644
index 0000000..3c81384
--- /dev/null
+++ b/godot/sounds/footstep04.ogg.import
@@ -0,0 +1,15 @@
+[remap]
+
+importer="ogg_vorbis"
+type="AudioStreamOGGVorbis"
+path="res://.import/footstep04.ogg-16226c305e1322a536cb96a2c537b228.oggstr"
+
+[deps]
+
+source_file="res://sounds/footstep04.ogg"
+dest_files=[ "res://.import/footstep04.ogg-16226c305e1322a536cb96a2c537b228.oggstr" ]
+
+[params]
+
+loop=true
+loop_offset=0
diff --git a/godot/sounds/footstep05.ogg b/godot/sounds/footstep05.ogg
new file mode 100644
index 0000000..62b8dcc
--- /dev/null
+++ b/godot/sounds/footstep05.ogg
Binary files differ
diff --git a/godot/sounds/footstep05.ogg.import b/godot/sounds/footstep05.ogg.import
new file mode 100644
index 0000000..6f85cf5
--- /dev/null
+++ b/godot/sounds/footstep05.ogg.import
@@ -0,0 +1,15 @@
+[remap]
+
+importer="ogg_vorbis"
+type="AudioStreamOGGVorbis"
+path="res://.import/footstep05.ogg-ce0f0381235ebdd22319464e329eef5f.oggstr"
+
+[deps]
+
+source_file="res://sounds/footstep05.ogg"
+dest_files=[ "res://.import/footstep05.ogg-ce0f0381235ebdd22319464e329eef5f.oggstr" ]
+
+[params]
+
+loop=true
+loop_offset=0
diff --git a/godot/sounds/footstep06.ogg b/godot/sounds/footstep06.ogg
new file mode 100644
index 0000000..9a0ec19
--- /dev/null
+++ b/godot/sounds/footstep06.ogg
Binary files differ
diff --git a/godot/sounds/footstep06.ogg.import b/godot/sounds/footstep06.ogg.import
new file mode 100644
index 0000000..6970d5d
--- /dev/null
+++ b/godot/sounds/footstep06.ogg.import
@@ -0,0 +1,15 @@
+[remap]
+
+importer="ogg_vorbis"
+type="AudioStreamOGGVorbis"
+path="res://.import/footstep06.ogg-64d7f3763b27a0bf60b51adc0e13f809.oggstr"
+
+[deps]
+
+source_file="res://sounds/footstep06.ogg"
+dest_files=[ "res://.import/footstep06.ogg-64d7f3763b27a0bf60b51adc0e13f809.oggstr" ]
+
+[params]
+
+loop=true
+loop_offset=0
diff --git a/godot/theming/menu_font.tres b/godot/theming/menu_font.tres
index 5c850e4..b44cf0e 100644
--- a/godot/theming/menu_font.tres
+++ b/godot/theming/menu_font.tres
@@ -3,4 +3,5 @@
[ext_resource path="res://theming/FreeMono.otf" type="DynamicFontData" id=1]
[resource]
+use_mipmaps = true
font_data = ExtResource( 1 )
diff --git a/godot/ui/HUD.gd b/godot/ui/HUD.gd
index 6c45113..9bbcae1 100644
--- a/godot/ui/HUD.gd
+++ b/godot/ui/HUD.gd
@@ -69,7 +69,6 @@ func update_characters():
for btn in character_list.get_children():
btn.queue_free()
for character in world.get_node("PLAYERS").get_children():
- print(character.team)
if world.player_team == character.team:
var select_button = Button.new()
select_button.connect("pressed", world, "select_character", [character.name])
diff --git a/godot/watershadertest.tscn b/godot/watershadertest.tscn
new file mode 100644
index 0000000..2c370d9
--- /dev/null
+++ b/godot/watershadertest.tscn
@@ -0,0 +1,115 @@
+[gd_scene load_steps=10 format=2]
+
+[sub_resource type="Shader" id=1]
+code = "shader_type spatial;
+render_mode unshaded;
+
+uniform vec4 deep_color : hint_color;
+uniform vec4 shallow_color : hint_color = vec4(1);
+
+uniform float refraction_speed = 0.25;
+uniform float refraction_strength = 1.0;
+
+uniform float foam_amount = 1.0;
+uniform float foam_cutoff = 1.0;
+uniform vec4 foam_color : hint_color = vec4(1);
+
+uniform float displacement_strength = 0.25;
+
+uniform float depth_distance = 1.0;
+
+uniform vec2 movement_direction = vec2(1,0);
+
+uniform sampler2D refraction_noise : hint_normal;
+uniform sampler2D foam_noise : hint_black_albedo;
+uniform sampler2D displacement_noise : hint_black;
+
+void vertex() {
+ float displacement = textureLod(
+ displacement_noise,
+ UV + (TIME * movement_direction) * refraction_speed,
+ 0.0).r * 2.0 - 1.0;
+
+ VERTEX.y += displacement * displacement_strength;
+}
+
+void fragment() {
+ vec2 uv = SCREEN_UV + refraction_strength
+ * (texture(refraction_noise, UV + (TIME * movement_direction) * refraction_speed).rg
+ * 2.0 - 1.0);
+
+ float real_depth = texture(DEPTH_TEXTURE, SCREEN_UV).r * 2.0 - 1.0;
+ real_depth = PROJECTION_MATRIX[3][2] / (real_depth + PROJECTION_MATRIX[2][2]) + VERTEX.z;
+
+ // Get the raw linear depth from the depth texture into a [-1, 1] range
+ float depth = texture(DEPTH_TEXTURE, uv).r * 2.0 - 1.0;
+ // Recreate linear depth of the intersecting geometry using projection matrix, and subtract the vertex of the sphere
+ depth = PROJECTION_MATRIX[3][2] / (depth + PROJECTION_MATRIX[2][2]) + VERTEX.z;
+
+ depth = max(depth, real_depth);
+
+ float intersection = clamp(depth / foam_amount, 0, 1) * foam_cutoff;
+
+ vec4 out_color = mix(shallow_color, deep_color, clamp((depth / depth_distance), 0, 1));
+ vec4 scene_color = texture(SCREEN_TEXTURE, uv);
+ out_color = mix(scene_color, out_color, out_color.a);
+
+ vec3 foam = step(intersection,
+ texture(foam_noise, UV + (TIME * movement_direction) * refraction_speed).rgb)
+ * foam_color.rgb;
+
+ ALBEDO = out_color.rgb + foam;
+}"
+
+[sub_resource type="OpenSimplexNoise" id=4]
+
+[sub_resource type="NoiseTexture" id=5]
+flags = 3
+width = 1024
+height = 1024
+noise = SubResource( 4 )
+
+[sub_resource type="OpenSimplexNoise" id=6]
+
+[sub_resource type="NoiseTexture" id=7]
+width = 1024
+height = 1024
+noise = SubResource( 6 )
+
+[sub_resource type="OpenSimplexNoise" id=8]
+
+[sub_resource type="NoiseTexture" id=9]
+width = 1024
+height = 1024
+noise = SubResource( 8 )
+
+[sub_resource type="ShaderMaterial" id=2]
+shader = SubResource( 1 )
+shader_param/deep_color = Color( 0.00784314, 0, 0.196078, 1 )
+shader_param/shallow_color = Color( 0.65098, 1, 1, 1 )
+shader_param/refraction_speed = 0.25
+shader_param/refraction_strength = 1.0
+shader_param/foam_amount = 1.0
+shader_param/foam_cutoff = 1.0
+shader_param/foam_color = Color( 1, 1, 1, 1 )
+shader_param/displacement_strength = 0.25
+shader_param/depth_distance = 5.0
+shader_param/movement_direction = Vector2( 1, 0 )
+shader_param/refraction_noise = SubResource( 9 )
+shader_param/foam_noise = SubResource( 7 )
+shader_param/displacement_noise = SubResource( 5 )
+
+[sub_resource type="PlaneMesh" id=3]
+material = SubResource( 2 )
+subdivide_width = 512
+subdivide_depth = 512
+
+[node name="Spatial" type="Spatial"]
+
+[node name="MeshInstance" type="MeshInstance" parent="."]
+transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.182733, -0.0156302 )
+mesh = SubResource( 3 )
+
+[node name="OmniLight" type="OmniLight" parent="."]
+transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.336934, 0 )
+omni_range = 0.949787
diff --git a/godot/backup_stuff/Player.gd b/work/backup_stuff/Player.gd
index 3555de5..3555de5 100644
--- a/godot/backup_stuff/Player.gd
+++ b/work/backup_stuff/Player.gd
diff --git a/godot/backup_stuff/Player.tscn b/work/backup_stuff/Player.tscn
index a68f994..a68f994 100644
--- a/godot/backup_stuff/Player.tscn
+++ b/work/backup_stuff/Player.tscn
diff --git a/godot/backup_stuff/PlayerOld.tscn b/work/backup_stuff/PlayerOld.tscn
index f79339e..f79339e 100644
--- a/godot/backup_stuff/PlayerOld.tscn
+++ b/work/backup_stuff/PlayerOld.tscn
diff --git a/godot/backup_stuff/Player_Other.gd b/work/backup_stuff/Player_Other.gd
index 0116d71..0116d71 100644
--- a/godot/backup_stuff/Player_Other.gd
+++ b/work/backup_stuff/Player_Other.gd
diff --git a/godot/backup_stuff/Sailor.gd b/work/backup_stuff/Sailor.gd
index 24b93f9..24b93f9 100644
--- a/godot/backup_stuff/Sailor.gd
+++ b/work/backup_stuff/Sailor.gd
diff --git a/godot/backup_stuff/Sailor.tscn b/work/backup_stuff/Sailor.tscn
index 6458fec..6458fec 100644
--- a/godot/backup_stuff/Sailor.tscn
+++ b/work/backup_stuff/Sailor.tscn
diff --git a/godot/backup_stuff/player_controller.gd b/work/backup_stuff/player_controller.gd
index f52decf..f52decf 100644
--- a/godot/backup_stuff/player_controller.gd
+++ b/work/backup_stuff/player_controller.gd
diff --git a/work/man.blend b/work/man.blend
new file mode 100644
index 0000000..db5f065
--- /dev/null
+++ b/work/man.blend
Binary files differ
diff --git a/work/man.blend1 b/work/man.blend1
new file mode 100644
index 0000000..4e7a2e2
--- /dev/null
+++ b/work/man.blend1
Binary files differ