summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnson Bridges <bridges.anson@gmail.com>2022-10-19 14:13:47 -0400
committerAnson Bridges <bridges.anson@gmail.com>2022-10-19 14:13:47 -0400
commit5100ec45264ff36a2558757e76198b8b25866992 (patch)
treecd1fd239fe0380028c1d77e456a49ecf186830d6
parente826b74a104e72ec398aa55bd5dceb13b5a0dae1 (diff)
server work
-rw-r--r--godot/export_presets.cfg29
-rw-r--r--godot/maps/Main.tscn32
-rw-r--r--godot/project.godot1
-rw-r--r--godot/scenes/characters/PlayerRigid.tscn2
-rw-r--r--godot/scenes/vehicles/Gunbrig.tscn1
-rw-r--r--godot/scenes/weapons/hands.gd2
-rw-r--r--godot/scenes/weapons/pistol.gd2
-rw-r--r--godot/scenes/weapons/rockets.gd2
-rw-r--r--godot/scripts/Server.gd23
-rw-r--r--godot/scripts/characters/NetworkedCharacter.gd15
-rw-r--r--godot/scripts/characters/player_controller_new.gd8
-rw-r--r--godot/scripts/vehicles/Airplane.gd24
-rw-r--r--godot/scripts/vehicles/Gunboat.gd4
-rw-r--r--godot/ui/MainMenu.gd32
-rwxr-xr-xwork/SERVER_BINARY_3.5.1bin0 -> 36653000 bytes
15 files changed, 140 insertions, 37 deletions
diff --git a/godot/export_presets.cfg b/godot/export_presets.cfg
index 145666c..1d1000c 100644
--- a/godot/export_presets.cfg
+++ b/godot/export_presets.cfg
@@ -2,12 +2,12 @@
name="Linux/X11"
platform="Linux/X11"
-runnable=true
+runnable=false
custom_features=""
export_filter="all_resources"
include_filter=""
exclude_filter=""
-export_path="../../../boats.x86_64"
+export_path="../work/BOATS_LINUX.x86_64"
script_export_mode=1
script_encryption_key=""
@@ -16,6 +16,31 @@ script_encryption_key=""
custom_template/debug=""
custom_template/release=""
binary_format/64_bits=true
+binary_format/embed_pck=true
+texture_format/bptc=false
+texture_format/s3tc=true
+texture_format/etc=false
+texture_format/etc2=false
+texture_format/no_bptc_fallbacks=true
+
+[preset.1]
+
+name="Linux/X11 - Server"
+platform="Linux/X11"
+runnable=true
+custom_features=""
+export_filter="all_resources"
+include_filter=""
+exclude_filter=""
+export_path="../../../../../../mnt/vps/boats_server.x86_64"
+script_export_mode=1
+script_encryption_key=""
+
+[preset.1.options]
+
+custom_template/debug=""
+custom_template/release="/home/main/Games/godot/boats/work/SERVER_BINARY_3.5.1"
+binary_format/64_bits=true
binary_format/embed_pck=false
texture_format/bptc=false
texture_format/s3tc=true
diff --git a/godot/maps/Main.tscn b/godot/maps/Main.tscn
index 37a2d21..3be16a0 100644
--- a/godot/maps/Main.tscn
+++ b/godot/maps/Main.tscn
@@ -1,4 +1,4 @@
-[gd_scene load_steps=41 format=2]
+[gd_scene load_steps=46 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]
@@ -82,6 +82,26 @@ script = ExtResource( 18 )
resource_local_to_scene = true
script = ExtResource( 19 )
+[sub_resource type="PhysicsMaterial" id=59]
+resource_local_to_scene = true
+rough = true
+
+[sub_resource type="Resource" id=60]
+resource_local_to_scene = true
+script = ExtResource( 15 )
+
+[sub_resource type="Resource" id=61]
+resource_local_to_scene = true
+script = ExtResource( 17 )
+
+[sub_resource type="Resource" id=62]
+resource_local_to_scene = true
+script = ExtResource( 18 )
+
+[sub_resource type="Resource" id=63]
+resource_local_to_scene = true
+script = ExtResource( 19 )
+
[sub_resource type="NavigationMesh" id=14]
vertices = PoolVector3Array( -6.71966, 2.08805, -14.1154, -5.71966, 2.08805, -13.6154, -5.46966, 2.08805, -14.1154, -6.96966, 1.58805, -15.1154, -8.46966, 0.588047, -15.1154, -8.46966, 0.588047, -14.6154, -6.96966, 1.58805, -15.1154, -7.46966, 0.588047, -16.8654, -4.71966, -0.411953, -20.3654, -5.46966, 0.588047, -18.3654, -5.46966, 2.08805, -14.1154, 2.53034, 2.33805, -14.1154, 2.53034, -0.161953, -22.1154, -0.219656, -0.161953, -22.3654, -1.34466, 0.088047, -21.8654, -0.4895, 1.33805, -15.8476, -3.45952, 1.83805, -15.8695, -1.95461, 0.588047, -18.8464, -0.219656, -0.161953, -22.3654, -2.46966, -0.411953, -22.6154, -4.71966, -0.411953, -20.3654, -1.34466, 0.088047, -21.8654, -4.71966, -0.411953, -20.3654, -5.46966, -0.161953, -19.3654, -5.46966, 0.588047, -18.3654, -0.219656, -0.161953, -22.3654, -1.71966, -0.911953, -25.3654, -2.46966, -0.411953, -22.6154, -7.46966, 0.588047, -16.8654, -6.96966, 1.58805, -15.1154, -5.46966, 2.08805, -14.1154, -5.46966, 0.588047, -18.3654, 8.03034, -0.161953, -18.6154, 9.53034, -0.911953, -18.6154, 8.03034, -0.161953, -18.8654, 5.28034, 2.08805, -14.1154, 5.53034, 2.08805, -13.6154, 8.78034, 0.838047, -16.8654, 8.03034, 0.838047, -17.3654, 5.28034, 2.08805, -14.1154, 8.03034, 0.838047, -17.3654, 8.03034, -0.161953, -18.6154, 6.03034, -0.411953, -23.1154, 2.53034, -0.161953, -22.1154, 2.53034, 2.33805, -14.1154, 5.51542, 1.08805, -17.3745, 5.52537, -0.161953, -20.3684, 4.04036, -0.161953, -20.3794, 4.03041, 1.33805, -17.3854, 8.03034, -0.161953, -18.6154, 8.03034, -0.161953, -18.8654, 6.03034, -0.411953, -23.1154, 12.7803, 0.588047, -14.6154, 13.5303, 0.088047, -14.8654, 13.7803, -0.411953, -15.3654, 12.0303, -0.161953, -16.3654, 11.7803, 0.588047, -15.3654, 20.2803, -0.161953, -2.61539, 20.0303, -0.161953, -2.86539, 19.0303, 0.588047, -2.86539, 19.0303, 0.838047, -0.865385, 20.0303, -0.161953, -1.11539, 12.5303, 1.08805, 11.6346, 13.5303, 0.588047, 11.8846, 13.5303, 1.58805, 10.3846, 12.7803, 1.58805, 10.3846, 18.0303, 0.838047, -5.36539, 16.7803, 0.838047, -8.36539, 15.0303, 1.08805, -11.1154, 12.7803, 1.58805, 10.3846, 13.5303, 1.58805, 10.3846, 14.0303, 1.58805, 9.88461, 14.0303, 1.58805, 9.88461, 15.7803, 1.08805, 9.38461, 16.7803, 1.08805, 8.13461, 12.7803, 1.58805, 10.3846, 14.0303, 1.58805, 9.88461, 16.7803, 1.08805, 8.13461, 10.2803, 2.83805, 5.63461, 15.4803, 1.58805, 7.63461, 12.7803, 0.838047, -13.8654, 12.7803, 0.588047, -14.6154, 11.7803, 0.588047, -15.3654, 10.7803, 0.838047, -15.3654, 18.7803, 0.838047, 2.38461, 19.2803, 0.588047, 1.88461, 19.0303, 0.838047, -0.865385, 8.03034, 3.08805, 3.38461, 8.78034, 3.08805, 3.38461, 18.7803, 0.838047, 2.38461, 18.0303, 0.838047, -5.36539, 15.0303, 1.08805, -11.1154, 5.53034, 3.58805, -8.86539, 5.80812, 4.08805, -7.50427, 6.64145, 4.33805, -3.42094, 7.47479, 3.08805, 0.662394, 15.9232, 1.83805, 2.67033, 18.4053, 1.08805, -1.49039, 9.60177, 2.83805, -9.82967, 10.0455, 3.83805, -5.38657, 11.5507, 2.58805, -2.34373, 8.53065, 4.08805, -2.36571, 10.0257, 3.33805, -0.888798, 13.0055, 2.08805, -6.88051, 11.5104, 3.08805, -8.35742, 14.5506, 2.08805, -5.3536, 13.0155, 2.33805, -5.36459, 10.0208, 2.83805, 0.638111, 19.0303, 0.588047, -3.61539, 18.7803, 0.588047, -5.11539, 18.0303, 0.838047, -5.36539, 19.0303, 0.588047, -2.86539, 18.2803, 0.588047, -6.86539, 17.7803, 0.588047, -7.86539, 16.7803, 0.838047, -8.36539, 18.0303, 0.838047, -5.36539, 15.0303, 1.08805, -11.1154, 15.0303, 0.838047, -11.6154, 14.0303, 0.588047, -13.1154, 12.7803, 0.838047, -13.8654, 16.7803, 0.838047, -8.36539, 16.7803, 0.838047, -9.11539, 16.0303, 0.588047, -10.6154, 15.0303, 1.08805, -11.1154, 16.7803, 1.08805, 8.13461, 18.0303, 0.838047, 5.38461, 18.7803, 0.838047, 2.38461, 8.78034, 3.08805, 3.38461, 10.2803, 2.83805, 5.63461, 15.4803, 1.58805, 7.63461, 15.9232, 1.83805, 2.67033, 10.7803, 0.838047, -15.3654, 10.7803, 0.338047, -16.6154, 8.78034, 0.838047, -16.8654, 5.53034, 2.08805, -13.6154, 19.0303, 0.838047, -0.865385, 19.0303, 0.588047, -2.86539, 18.0303, 0.838047, -5.36539, 18.7803, 0.838047, 2.38461, 18.4053, 1.08805, -1.49039, 16.7803, 1.08805, 8.13461, 18.0303, 0.338047, 7.63461, 18.0303, 0.838047, 5.38461, 18.0303, 0.838047, 5.38461, 18.7803, 0.588047, 4.88461, 18.7803, 0.838047, 2.38461, 15.0303, 1.08805, -11.1154, 12.7803, 0.838047, -13.8654, 10.7803, 0.838047, -15.3654, 5.53034, 2.08805, -13.6154, 5.53034, 3.58805, -8.86539, 9.60177, 2.83805, -9.82967, 5.53034, 2.83805, -10.0529, 20.0303, -0.161953, -3.61539, 20.0303, -0.161953, -2.86539, 20.2803, -0.161953, -2.61539, 22.0303, -0.911953, -4.61539, 18.2803, 0.088047, -8.11539, 17.7803, 0.588047, -7.86539, 18.2803, 0.588047, -6.86539, 19.2803, -0.161953, -6.61539, 13.7803, -0.411953, -15.3654, 13.5303, 0.088047, -14.8654, 14.5303, -0.161953, -14.1154, 16.2803, -0.911953, -14.6154, 14.0303, 0.588047, -13.1154, 15.0303, 0.838047, -11.6154, 15.2803, 0.588047, -12.1154, 14.5303, 0.338047, -13.3654, 16.2803, -0.911953, -14.6154, 16.0303, 0.088047, -12.1154, 16.5303, -0.161953, -11.6154, 16.5303, 0.338047, -10.8654, 16.0303, 0.588047, -10.6154, 16.7803, 0.838047, -9.11539, 19.2803, 0.088047, -5.36539, 18.7803, 0.588047, -5.11539, 19.0303, 0.588047, -3.61539, 20.0303, -0.161953, -3.61539, 16.5303, -0.161953, -11.6154, 17.7803, -0.161953, -9.36539, 18.2803, -0.161953, -8.86539, 20.0303, -0.911953, -10.1154, 16.2803, -0.911953, -14.6154, 18.2803, -0.161953, -8.86539, 18.2803, 0.088047, -8.11539, 19.2803, -0.161953, -6.61539, 22.0303, -0.911953, -5.36539, 20.0303, -0.911953, -10.1154, 20.0303, -0.161953, -3.61539, 22.0303, -0.911953, -4.61539, 22.0303, -0.911953, -5.36539, 19.2803, -0.161953, -6.61539, 19.2803, 0.088047, -5.36539, 14.5303, 0.338047, -13.3654, 15.2803, 0.588047, -12.1154, 16.0303, 0.088047, -12.1154, 16.2803, -0.911953, -14.6154, 14.5303, -0.161953, -14.1154, 16.5303, 0.338047, -10.8654, 16.7803, 0.838047, -9.11539, 17.7803, -0.161953, -9.36539, 16.5303, -0.161953, -11.6154, -29.9697, -1.66195, -15.1154, -28.7197, -0.661953, -6.86539, -28.4697, -1.66195, -14.3654, -29.9697, -1.66195, -15.1154, -28.4697, -1.66195, -14.3654, -26.9697, -1.91195, -14.6154, -20.2197, 0.838047, -4.11539, -20.2197, 0.588047, -4.61539, -21.2197, 0.088047, -4.86539, -24.2197, -0.411953, -4.11539, -22.8863, -0.411953, -4.11539, -22.2197, -0.411953, -4.61539, -11.4697, -0.161953, -11.3654, -10.4697, -0.161953, -11.6154, -10.4697, -0.411953, -12.3654, -12.2197, -0.911953, -12.8654, -20.9697, -0.661953, -5.86539, -17.7197, -1.16195, -7.36539, -15.9697, -0.911953, -9.11539, -17.2197, -1.41195, -8.30289, -11.4697, 0.088047, -10.8654, -11.4697, -0.161953, -11.3654, -12.2197, -0.911953, -12.8654, -14.7197, -2.16195, -14.6154, -17.7197, -2.41195, -13.6154, -15.9697, -0.911953, -9.11539, -20.9697, -0.661953, -5.86539, -15.9697, -0.911953, -9.11539, -17.7197, -2.41195, -13.6154, -24.2197, -2.16195, -14.3654, -24.2197, -0.411953, -4.11539, -17.2197, -1.41195, -8.30289, -19.0197, -2.66195, -13.7654, -24.2197, -0.411953, -4.11539, -21.2197, 0.088047, -4.86539, -20.9697, -0.661953, -5.86539, -22.2197, -0.411953, -4.61539, -20.2197, 0.588047, -4.61539, -20.2197, 0.838047, -4.11539, -19.4697, 1.33805, -4.11539, -16.2197, 1.58805, -5.36539, -21.9697, 0.338047, 2.63461, -21.4697, 0.588047, 3.38461, -20.9697, 0.588047, 3.38461, -19.9697, 1.08805, 3.13461, -20.2197, 1.33805, 0.134615, -17.7197, 1.33805, 4.13461, -16.9697, 0.588047, 5.63461, -16.7197, 0.338047, 5.63461, -16.9697, 1.58805, 3.38461, -11.7197, 2.08805, -8.61539, -15.2197, 1.58805, -8.11539, -16.2197, 1.58805, -5.36539, -3.71966, 3.58805, -7.86539, -5.71966, 3.08805, -8.11539, -9.27521, 2.83805, -6.75427, -6.49743, 2.83805, -7.30983, -16.2197, 1.58805, -5.36539, -14.4697, 2.08805, 4.88461, -13.4697, 1.83805, 8.63461, 1.03034, 2.83805, 8.63461, 1.03034, 2.58805, 7.38461, -3.71966, 3.58805, -7.86539, -6.49743, 2.83805, -7.30983, -9.27521, 2.83805, -6.75427, -15.4697, 2.33805, -0.972528, -10.5697, 1.83805, 8.63461, -3.31966, 3.08805, 8.63461, 0.166708, 3.33805, 4.61189, -1.56056, 3.33805, -0.933567, -2.85602, 3.83805, -5.09266, -9.46456, 3.83805, -3.85249, -0.493813, 2.33805, 6.62871, -1.97882, 2.58805, 6.61772, -6.48386, 3.08805, 6.63476, -1.98902, 3.33805, 3.64193, -3.49393, 2.58805, 5.11884, -4.95904, 3.33805, 3.61996, -4.95952, 3.33805, -3.86953, -7.98926, 3.08805, 0.622189, -9.48398, 2.83805, 5.12489, -7.94945, 3.83805, -2.3536, -10.9889, 2.08805, 6.6518, -4.95461, 3.58805, -5.34644, -10.9496, 3.08805, -3.86348, -10.9695, 3.33805, -2.37558, -13.9696, 2.58805, -3.88545, -9.71966, 2.33805, -9.86539, -10.4697, 2.33805, -9.86539, -11.7197, 2.08805, -8.61539, -5.71966, 3.08805, -8.11539, -19.9697, 1.08805, 3.13461, -17.7197, 1.33805, 4.13461, -16.9697, 1.58805, 3.38461, -19.7197, 1.58805, -3.11539, -20.2197, 1.58805, -0.615385, -20.2197, 1.33805, 0.134615, -20.2197, 1.33805, 0.134615, -27.9697, -0.911953, 0.134615, -27.9697, -0.911953, 0.634615, -23.2197, -0.411953, 2.88461, -21.9697, 0.338047, 2.63461, -24.0947, -0.411953, 0.134615, -19.9697, 1.08805, 3.13461, -16.9697, 1.58805, 3.38461, -15.9697, 2.08805, 3.13461, -16.2197, 1.58805, -5.36539, -19.4697, 1.33805, -4.11539, -19.7197, 1.58805, -3.11539, -20.2197, 1.33805, 0.134615, -19.9697, 1.08805, 3.13461, -15.9697, 2.08805, 3.13461, -16.0947, 2.33805, -1.11539, -18.4896, 1.83805, 0.642576, -18.4696, 1.33805, 2.11455, -5.71966, 2.08805, -13.6154, -6.71966, 2.08805, -14.1154, -9.71966, 2.33805, -9.86539, -5.71966, 3.08805, -8.11539, -5.71966, 3.08805, -10.8654, -16.2197, 1.58805, -5.36539, -15.9697, 2.08805, 3.13461, -14.4697, 2.08805, 4.88461, -15.4697, 2.33805, -0.972528, -16.0947, 2.33805, -1.11539, -27.4697, 1.58805, -6.11539, -28.2197, 1.58805, -5.86539, -28.2197, 1.58805, -3.61539, -27.4697, 1.58805, -3.36539, -25.2197, 1.58805, -3.36539, -25.2197, 1.58805, -13.6154, -27.4697, 1.58805, -13.6154, -27.4697, 1.58805, -6.11539, -25.2197, 1.58805, -3.36539, -27.4697, 1.58805, -0.865385, -20.2197, 1.58805, -0.615385, -19.7197, 1.58805, -3.11539, -25.2197, 1.58805, -3.36539, -27.4697, 1.58805, -3.36539, -3.46966, 3.83805, -8.36539, -0.469656, 3.83805, -8.36539, -0.469656, 3.83805, -8.86539, -3.46966, 3.83805, -8.86539, -4.71966, 3.83805, -13.1154, -3.46966, 3.83805, -8.86539, -0.469656, 3.83805, -8.86539, -4.71966, 3.83805, -13.1154, -4.71966, 3.83805, -8.86539, -3.46966, 3.83805, -8.86539, 4.03034, 3.83805, -8.61539, 4.53034, 3.83805, -8.86539, 4.53034, 3.83805, -13.1154, -4.71966, 3.83805, -13.1154, -0.469656, 3.83805, -8.86539, 4.53034, 3.83805, -8.86539, 4.03034, 3.83805, -8.61539, 3.78034, 3.58805, -7.86539, 6.28034, 3.08805, 4.63461, 8.03034, 3.08805, 3.38461, 5.53034, 3.58805, -8.86539, 4.3359, 4.33805, -5.08761, 5.44701, 3.33805, 0.467949, 7.47479, 3.08805, 0.662394, 6.64145, 4.33805, -3.42094, 5.80812, 4.08805, -7.50427, 5.03034, 3.08805, 5.63461, 6.28034, 3.08805, 5.13461, 6.28034, 3.08805, 4.63461, 3.78034, 3.58805, -7.86539, 4.03034, 4.33805, -5.16538, 4.40534, 3.33805, -1.11539, 5.44701, 3.33805, 0.467949, 4.3359, 4.33805, -5.08761, -27.2197, -0.411953, -6.86539, -25.4697, -0.411953, -6.86539, -25.4697, -0.411953, -7.86539, -27.2197, -0.411953, -8.61539, -0.469656, 3.33805, -7.86539, -0.469656, 3.83805, -8.36539, -3.46966, 3.83805, -8.36539, -0.469656, 3.33805, -7.86539, -3.46966, 3.83805, -8.36539, -3.71966, 3.58805, -7.86539, 1.03034, 2.58805, 7.38461, 1.28034, 2.83805, 6.88461, 0.930344, 3.33805, 3.93461, -2.85602, 3.83805, -5.09266, -1.56056, 3.33805, -0.933567, 0.166708, 3.33805, 4.61189, 1.28034, 2.83805, 6.88461, 2.78034, 2.83805, 6.88461, 5.03034, 3.08805, 5.63461, 3.78034, 3.58805, -7.86539, -0.469656, 3.33805, -7.86539, 0.930344, 3.33805, 3.93461, 4.40534, 3.33805, -1.11539, 4.03034, 4.33805, -5.16538, 2.36368, 3.08805, -7.86539, 1.00534, 3.08805, -6.89038, 2.53041, 3.58805, -3.88545, -27.2197, -0.411953, -5.61539, -27.2197, -0.411953, -4.11539, -26.2197, -0.411953, -4.86539, -26.2197, -0.411953, -5.61539, -24.2197, -0.411953, -2.86539, -24.2197, -0.411953, -2.11539, -23.4697, -0.411953, -2.61539, -26.9697, -0.411953, -2.61539, -26.2197, -0.411953, -1.86539, -26.4697, -0.411953, -2.61539, -13.7197, 1.58805, 9.63461, -14.4697, 1.08805, 9.63461, -13.9697, 1.58805, 10.3846, -20.9697, 0.338047, 4.13461, -20.9697, 0.588047, 3.38461, -21.4697, 0.588047, 3.38461, -16.7197, 0.338047, 5.63461, -16.9697, 0.588047, 5.63461, -16.7197, -0.411953, 7.13461, -15.9697, -0.161953, 7.88461, -13.4697, 1.83805, 8.63461, -13.7197, 1.58805, 9.63461, -13.7197, 0.838047, 13.3846, -12.4697, 0.088047, 17.1346, -15.9697, -0.161953, 7.88461, -16.7197, -0.411953, 7.13461, -17.7197, -0.911953, 7.38461, -19.7197, -1.41195, 8.63461, -16.9697, -0.161953, 13.1346, -16.2197, -0.911953, 11.6346, -18.3447, -1.41195, 10.8846, -16.9596, -1.16195, 9.6206, 8.78034, 0.838047, 16.1346, 10.5303, 0.338047, 15.3846, 10.2803, 1.08805, 14.3846, -0.219656, 0.838047, 18.8846, 1.78034, 0.588047, 19.3846, 2.28034, 0.838047, 18.8846, 6.03034, 0.838047, 17.8846, 7.78034, 0.588047, 17.8846, 8.78034, 0.838047, 16.1346, 5.78034, 1.83805, 15.3846, 10.2803, 1.08805, 14.3846, 13.5303, 0.588047, 11.8846, 12.5303, 1.08805, 11.6346, -13.7197, 1.58805, 9.63461, -13.9697, 1.58805, 10.3846, -13.7197, 0.838047, 13.3846, 2.28034, 0.838047, 18.8846, 4.78034, 0.588047, 18.8846, 6.03034, 0.838047, 17.8846, -6.71966, 0.088047, 19.6346, -0.969656, 0.588047, 19.3846, -0.219656, 0.838047, 18.8846, 10.2803, 1.08805, 14.3846, 12.5303, 1.08805, 11.6346, 5.78034, 1.83805, 15.3846, 8.78034, 0.838047, 16.1346, 9.15534, 1.58805, 13.5096, -0.219656, 0.838047, 18.8846, 4.53034, 1.83805, 15.3846, 1.03034, 2.83805, 8.63461, -13.4697, 1.83805, 8.63461, -12.4697, 0.088047, 17.1346, -6.71966, 0.088047, 19.6346, 2.19701, 2.83805, 10.8846, -3.31966, 3.08805, 8.63461, -10.5697, 1.83805, 8.63461, -6.49417, 1.58805, 15.6491, -10.9795, 1.83805, 11.1585, -7.95952, 1.58805, 11.1305, -6.4943, 1.33805, 14.1392, -1.98926, 2.33805, 14.1222, -9.46432, 1.58805, 14.1173, -4.9895, 2.58805, 11.1524, -9.47463, 2.08805, 9.63159, -4.96959, 2.83805, 9.61455, -10.9492, 0.588047, 15.6161, -10.9493, 1.33805, 14.1563, -13.7197, 0.838047, 13.3846, -14.7197, 0.338047, 13.3846, -12.4697, 0.088047, 17.1346, 6.03034, 0.838047, 17.8846, 5.78034, 1.83805, 15.3846, 4.53034, 1.83805, 15.3846, -0.219656, 0.838047, 18.8846, 2.28034, 0.838047, 18.8846, -16.9697, -0.161953, 13.1346, -12.4697, 0.088047, 17.1346, -14.7197, 0.338047, 13.3846, -16.2197, -0.911953, 11.6346, -20.9697, 0.338047, 4.13461, -21.4697, 0.588047, 3.38461, -19.7197, -1.41195, 8.63461, -20.5947, -0.161953, 6.00961, -17.7197, -0.911953, 7.38461, -20.9697, 0.338047, 4.13461, -19.7197, -1.41195, 8.63461, -18.5322, -0.911953, 6.57211, 1.53034, 6.33805, 8.13461, 1.53034, 6.83805, 8.88461, 4.78034, 6.58805, 14.6346, 12.0303, 6.33805, 10.8846, 8.78034, 6.58805, 4.38461, 3.48034, 9.08805, 12.3346, 5.98868, 6.58805, 14.0096, 10.7303, 9.08805, 8.28462, 7.03544, 8.83805, 9.64751, 8.52045, 8.83805, 9.6585, 8.53041, 8.58805, 8.11455, 5.28034, 2.08805, 13.6346, 11.0303, 1.83805, 10.6346, 8.53034, 2.83805, 5.63461, 2.53034, 2.83805, 8.63461, 5.51038, 2.08805, 9.64258, 8.53041, 2.33805, 9.61455, 7.05043, 1.83805, 11.1365 )
polygons = [ PoolIntArray( 1, 0, 2 ), PoolIntArray( 2, 0, 3 ), PoolIntArray( 5, 4, 6 ), PoolIntArray( 6, 4, 7 ), PoolIntArray( 12, 17, 13 ), PoolIntArray( 13, 17, 14 ), PoolIntArray( 14, 17, 8 ), PoolIntArray( 8, 17, 9 ), PoolIntArray( 9, 16, 10 ), PoolIntArray( 10, 15, 11 ), PoolIntArray( 11, 15, 12 ), PoolIntArray( 12, 15, 17 ), PoolIntArray( 17, 16, 9 ), PoolIntArray( 16, 15, 10 ), PoolIntArray( 15, 16, 17 ), PoolIntArray( 18, 21, 19 ), PoolIntArray( 19, 21, 20 ), PoolIntArray( 24, 23, 22 ), PoolIntArray( 27, 26, 25 ), PoolIntArray( 29, 28, 30 ), PoolIntArray( 30, 28, 31 ), PoolIntArray( 34, 33, 32 ), PoolIntArray( 35, 38, 36 ), PoolIntArray( 36, 38, 37 ), PoolIntArray( 43, 48, 44 ), PoolIntArray( 44, 48, 39 ), PoolIntArray( 39, 45, 40 ), PoolIntArray( 40, 45, 41 ), PoolIntArray( 41, 46, 42 ), PoolIntArray( 42, 47, 43 ), PoolIntArray( 43, 47, 48 ), PoolIntArray( 48, 45, 39 ), PoolIntArray( 45, 46, 41 ), PoolIntArray( 46, 47, 42 ), PoolIntArray( 47, 46, 48 ), PoolIntArray( 48, 46, 45 ), PoolIntArray( 51, 50, 49 ), PoolIntArray( 53, 52, 54 ), PoolIntArray( 54, 52, 56 ), PoolIntArray( 54, 56, 55 ), PoolIntArray( 58, 57, 59 ), PoolIntArray( 59, 57, 61 ), PoolIntArray( 59, 61, 60 ), PoolIntArray( 65, 64, 62 ), PoolIntArray( 62, 64, 63 ), PoolIntArray( 68, 67, 66 ), PoolIntArray( 71, 70, 69 ), PoolIntArray( 74, 73, 72 ), PoolIntArray( 77, 76, 79 ), PoolIntArray( 79, 76, 75 ), PoolIntArray( 79, 75, 78 ), PoolIntArray( 81, 80, 82 ), PoolIntArray( 82, 80, 83 ), PoolIntArray( 86, 85, 84 ), PoolIntArray( 98, 93, 92 ), PoolIntArray( 93, 99, 94 ), PoolIntArray( 94, 101, 95 ), PoolIntArray( 95, 88, 87 ), PoolIntArray( 88, 107, 96 ), PoolIntArray( 96, 97, 89 ), PoolIntArray( 97, 105, 90 ), PoolIntArray( 90, 105, 91 ), PoolIntArray( 91, 104, 98 ), PoolIntArray( 98, 99, 93 ), PoolIntArray( 99, 101, 94 ), PoolIntArray( 101, 102, 95 ), PoolIntArray( 95, 107, 88 ), PoolIntArray( 107, 100, 96 ), PoolIntArray( 96, 100, 97 ), PoolIntArray( 97, 100, 105 ), PoolIntArray( 105, 103, 91 ), PoolIntArray( 104, 99, 98 ), PoolIntArray( 91, 103, 104 ), PoolIntArray( 99, 100, 101 ), PoolIntArray( 102, 107, 95 ), PoolIntArray( 101, 100, 102 ), PoolIntArray( 107, 102, 100 ), PoolIntArray( 100, 106, 105 ), PoolIntArray( 105, 106, 103 ), PoolIntArray( 104, 103, 99 ), PoolIntArray( 99, 106, 100 ), PoolIntArray( 106, 99, 103 ), PoolIntArray( 109, 108, 110 ), PoolIntArray( 110, 108, 111 ), PoolIntArray( 113, 112, 114 ), PoolIntArray( 114, 112, 115 ), PoolIntArray( 117, 116, 118 ), PoolIntArray( 118, 116, 119 ), PoolIntArray( 121, 120, 122 ), PoolIntArray( 122, 120, 123 ), PoolIntArray( 124, 129, 125 ), PoolIntArray( 125, 129, 126 ), PoolIntArray( 126, 129, 130 ), PoolIntArray( 130, 129, 128 ), PoolIntArray( 130, 128, 127 ), PoolIntArray( 132, 131, 133 ), PoolIntArray( 133, 131, 134 ), PoolIntArray( 138, 139, 135 ), PoolIntArray( 135, 139, 136 ), PoolIntArray( 136, 139, 137 ), PoolIntArray( 142, 141, 140 ), PoolIntArray( 145, 144, 143 ), PoolIntArray( 150, 152, 151 ), PoolIntArray( 151, 152, 149 ), PoolIntArray( 151, 149, 148 ), PoolIntArray( 151, 148, 147 ), PoolIntArray( 151, 147, 146 ), PoolIntArray( 154, 153, 155 ), PoolIntArray( 155, 153, 156 ), PoolIntArray( 158, 157, 159 ), PoolIntArray( 159, 157, 160 ), PoolIntArray( 162, 161, 163 ), PoolIntArray( 163, 161, 164 ), PoolIntArray( 168, 167, 165 ), PoolIntArray( 165, 167, 166 ), PoolIntArray( 169, 171, 170 ), PoolIntArray( 172, 174, 173 ), PoolIntArray( 176, 175, 177 ), PoolIntArray( 177, 175, 178 ), PoolIntArray( 181, 180, 182 ), PoolIntArray( 182, 180, 179 ), PoolIntArray( 182, 179, 183 ), PoolIntArray( 185, 184, 186 ), PoolIntArray( 186, 184, 188 ), PoolIntArray( 186, 188, 187 ), PoolIntArray( 190, 189, 191 ), PoolIntArray( 191, 189, 193 ), PoolIntArray( 191, 193, 192 ), PoolIntArray( 195, 194, 196 ), PoolIntArray( 196, 194, 198 ), PoolIntArray( 196, 198, 197 ), PoolIntArray( 200, 199, 201 ), PoolIntArray( 201, 199, 202 ), PoolIntArray( 205, 204, 203 ), PoolIntArray( 208, 207, 206 ), PoolIntArray( 210, 209, 211 ), PoolIntArray( 211, 209, 214 ), PoolIntArray( 214, 209, 213 ), PoolIntArray( 214, 213, 212 ), PoolIntArray( 216, 215, 217 ), PoolIntArray( 217, 215, 218 ), PoolIntArray( 221, 220, 222 ), PoolIntArray( 222, 220, 219 ), PoolIntArray( 224, 223, 225 ), PoolIntArray( 225, 223, 226 ), PoolIntArray( 226, 223, 227 ), PoolIntArray( 227, 223, 228 ), PoolIntArray( 230, 234, 231 ), PoolIntArray( 231, 234, 235 ), PoolIntArray( 235, 234, 229 ), PoolIntArray( 235, 229, 232 ), PoolIntArray( 232, 229, 233 ), PoolIntArray( 237, 239, 238 ), PoolIntArray( 238, 239, 236 ), PoolIntArray( 241, 240, 242 ), PoolIntArray( 242, 240, 243 ), PoolIntArray( 245, 244, 246 ), PoolIntArray( 246, 244, 247 ), PoolIntArray( 247, 244, 248 ), PoolIntArray( 250, 249, 251 ), PoolIntArray( 251, 249, 252 ), PoolIntArray( 256, 259, 257 ), PoolIntArray( 257, 259, 258 ), PoolIntArray( 257, 258, 253 ), PoolIntArray( 253, 258, 254 ), PoolIntArray( 254, 258, 255 ), PoolIntArray( 273, 286, 265 ), PoolIntArray( 265, 286, 266 ), PoolIntArray( 266, 274, 267 ), PoolIntArray( 267, 289, 260 ), PoolIntArray( 260, 289, 268 ), PoolIntArray( 268, 288, 261 ), PoolIntArray( 261, 285, 262 ), PoolIntArray( 262, 285, 269 ), PoolIntArray( 269, 277, 270 ), PoolIntArray( 270, 275, 263 ), PoolIntArray( 263, 275, 264 ), PoolIntArray( 264, 275, 271 ), PoolIntArray( 271, 278, 272 ), PoolIntArray( 272, 281, 273 ), PoolIntArray( 273, 281, 286 ), PoolIntArray( 286, 274, 266 ), PoolIntArray( 274, 287, 267 ), PoolIntArray( 267, 287, 289 ), PoolIntArray( 289, 288, 268 ), PoolIntArray( 288, 282, 261 ), PoolIntArray( 261, 283, 285 ), PoolIntArray( 285, 283, 269 ), PoolIntArray( 277, 279, 270 ), PoolIntArray( 269, 283, 277 ), PoolIntArray( 270, 276, 275 ), PoolIntArray( 275, 276, 271 ), PoolIntArray( 278, 280, 272 ), PoolIntArray( 271, 276, 278 ), PoolIntArray( 272, 282, 281 ), PoolIntArray( 281, 274, 286 ), PoolIntArray( 274, 288, 287 ), PoolIntArray( 287, 288, 289 ), PoolIntArray( 282, 283, 261 ), PoolIntArray( 288, 284, 282 ), PoolIntArray( 279, 276, 270 ), PoolIntArray( 277, 280, 279 ), PoolIntArray( 283, 280, 277 ), PoolIntArray( 280, 282, 272 ), PoolIntArray( 278, 279, 280 ), PoolIntArray( 276, 279, 278 ), PoolIntArray( 282, 284, 281 ), PoolIntArray( 281, 284, 274 ), PoolIntArray( 274, 284, 288 ), PoolIntArray( 282, 280, 283 ), PoolIntArray( 291, 290, 292 ), PoolIntArray( 292, 290, 293 ), PoolIntArray( 296, 295, 294 ), PoolIntArray( 299, 298, 297 ), PoolIntArray( 301, 305, 302 ), PoolIntArray( 302, 305, 303 ), PoolIntArray( 303, 305, 304 ), PoolIntArray( 304, 305, 300 ), PoolIntArray( 308, 307, 306 ), PoolIntArray( 313, 317, 314 ), PoolIntArray( 314, 316, 315 ), PoolIntArray( 315, 310, 309 ), PoolIntArray( 310, 315, 311 ), PoolIntArray( 311, 316, 312 ), PoolIntArray( 312, 317, 313 ), PoolIntArray( 317, 316, 314 ), PoolIntArray( 316, 311, 315 ), PoolIntArray( 316, 317, 312 ), PoolIntArray( 318, 322, 319 ), PoolIntArray( 319, 322, 321 ), PoolIntArray( 319, 321, 320 ), PoolIntArray( 323, 326, 327 ), PoolIntArray( 327, 326, 324 ), PoolIntArray( 324, 326, 325 ), PoolIntArray( 329, 328, 330 ), PoolIntArray( 330, 328, 331 ), PoolIntArray( 331, 328, 332 ), PoolIntArray( 334, 333, 335 ), PoolIntArray( 335, 333, 336 ), PoolIntArray( 341, 340, 337 ), PoolIntArray( 337, 340, 338 ), PoolIntArray( 338, 340, 339 ), PoolIntArray( 345, 344, 342 ), PoolIntArray( 342, 344, 343 ), PoolIntArray( 348, 347, 346 ), PoolIntArray( 351, 350, 349 ), PoolIntArray( 353, 352, 354 ), PoolIntArray( 354, 352, 356 ), PoolIntArray( 354, 356, 355 ), PoolIntArray( 358, 357, 359 ), PoolIntArray( 359, 357, 362 ), PoolIntArray( 359, 362, 367 ), PoolIntArray( 359, 367, 363 ), PoolIntArray( 363, 367, 366 ), PoolIntArray( 363, 366, 364 ), PoolIntArray( 364, 366, 365 ), PoolIntArray( 364, 365, 361 ), PoolIntArray( 364, 361, 360 ), PoolIntArray( 369, 368, 370 ), PoolIntArray( 370, 368, 374 ), PoolIntArray( 374, 368, 373 ), PoolIntArray( 374, 373, 375 ), PoolIntArray( 375, 373, 372 ), PoolIntArray( 375, 372, 371 ), PoolIntArray( 377, 376, 378 ), PoolIntArray( 378, 376, 379 ), PoolIntArray( 382, 381, 380 ), PoolIntArray( 386, 391, 387 ), PoolIntArray( 387, 391, 388 ), PoolIntArray( 388, 391, 390 ), PoolIntArray( 388, 390, 389 ), PoolIntArray( 388, 389, 383 ), PoolIntArray( 383, 389, 385 ), PoolIntArray( 383, 385, 384 ), PoolIntArray( 400, 401, 396 ), PoolIntArray( 396, 402, 397 ), PoolIntArray( 397, 393, 392 ), PoolIntArray( 393, 397, 394 ), PoolIntArray( 394, 397, 398 ), PoolIntArray( 398, 402, 399 ), PoolIntArray( 399, 400, 395 ), PoolIntArray( 401, 402, 396 ), PoolIntArray( 400, 399, 401 ), PoolIntArray( 402, 398, 397 ), PoolIntArray( 402, 401, 399 ), PoolIntArray( 406, 405, 403 ), PoolIntArray( 403, 405, 404 ), PoolIntArray( 409, 408, 407 ), PoolIntArray( 412, 411, 410 ), PoolIntArray( 415, 414, 413 ), PoolIntArray( 418, 417, 416 ), PoolIntArray( 420, 419, 421 ), PoolIntArray( 421, 419, 422 ), PoolIntArray( 424, 423, 425 ), PoolIntArray( 425, 423, 426 ), PoolIntArray( 431, 433, 432 ), PoolIntArray( 432, 434, 427 ), PoolIntArray( 427, 429, 428 ), PoolIntArray( 429, 434, 430 ), PoolIntArray( 430, 434, 433 ), PoolIntArray( 433, 434, 432 ), PoolIntArray( 434, 429, 427 ), PoolIntArray( 437, 436, 435 ), PoolIntArray( 440, 439, 438 ), PoolIntArray( 442, 441, 443 ), PoolIntArray( 443, 441, 444 ), PoolIntArray( 447, 446, 445 ), PoolIntArray( 450, 449, 448 ), PoolIntArray( 451, 453, 452 ), PoolIntArray( 456, 455, 454 ), PoolIntArray( 458, 457, 461 ), PoolIntArray( 461, 457, 460 ), PoolIntArray( 461, 460, 459 ), PoolIntArray( 466, 480, 467 ), PoolIntArray( 467, 471, 462 ), PoolIntArray( 462, 475, 463 ), PoolIntArray( 463, 475, 468 ), PoolIntArray( 468, 475, 464 ), PoolIntArray( 464, 475, 469 ), PoolIntArray( 469, 479, 470 ), PoolIntArray( 470, 472, 465 ), PoolIntArray( 465, 481, 466 ), PoolIntArray( 480, 471, 467 ), PoolIntArray( 466, 481, 480 ), PoolIntArray( 471, 475, 462 ), PoolIntArray( 475, 477, 469 ), PoolIntArray( 479, 478, 470 ), PoolIntArray( 469, 477, 479 ), PoolIntArray( 472, 481, 465 ), PoolIntArray( 470, 478, 472 ), PoolIntArray( 480, 476, 471 ), PoolIntArray( 481, 476, 480 ), PoolIntArray( 471, 474, 475 ), PoolIntArray( 475, 474, 477 ), PoolIntArray( 479, 473, 478 ), PoolIntArray( 477, 473, 479 ), PoolIntArray( 472, 476, 481 ), PoolIntArray( 478, 473, 472 ), PoolIntArray( 476, 474, 471 ), PoolIntArray( 474, 473, 477 ), PoolIntArray( 472, 473, 476 ), PoolIntArray( 476, 473, 474 ), PoolIntArray( 484, 483, 482 ), PoolIntArray( 486, 485, 487 ), PoolIntArray( 487, 485, 489 ), PoolIntArray( 487, 489, 488 ), PoolIntArray( 493, 492, 490 ), PoolIntArray( 490, 492, 491 ), PoolIntArray( 495, 494, 497 ), PoolIntArray( 497, 494, 496 ), PoolIntArray( 498, 500, 501 ), PoolIntArray( 501, 500, 499 ), PoolIntArray( 509, 512, 506 ), PoolIntArray( 506, 512, 502 ), PoolIntArray( 502, 510, 503 ), PoolIntArray( 503, 510, 507 ), PoolIntArray( 507, 508, 504 ), PoolIntArray( 508, 511, 505 ), PoolIntArray( 505, 511, 509 ), PoolIntArray( 509, 511, 512 ), PoolIntArray( 512, 510, 502 ), PoolIntArray( 510, 508, 507 ), PoolIntArray( 508, 510, 511 ), PoolIntArray( 511, 510, 512 ), PoolIntArray( 515, 517, 516 ), PoolIntArray( 516, 517, 513 ), PoolIntArray( 513, 519, 514 ), PoolIntArray( 514, 518, 515 ), PoolIntArray( 515, 518, 517 ), PoolIntArray( 517, 519, 513 ), PoolIntArray( 519, 518, 514 ), PoolIntArray( 518, 519, 517 ) ]
@@ -285,7 +305,7 @@ weapon_slot4 = SubResource( 56 )
ai_target_machine_path = NodePath("../../MACHINES/Gunbrig/ARTILLERY/Cannon12")
[node name="Player8" parent="PLAYERS" instance=ExtResource( 5 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -11.8334, 0.953085, -62.6512 )
+transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -12.992, 1.88819, -64.0999 )
physics_material_override = SubResource( 17 )
weapon_slot1 = SubResource( 53 )
weapon_slot2 = SubResource( 54 )
@@ -337,6 +357,14 @@ weapon_slot2 = SubResource( 21 )
weapon_slot3 = SubResource( 22 )
weapon_slot4 = SubResource( 41 )
+[node name="Marine" parent="PLAYERS" instance=ExtResource( 5 )]
+transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 31.8315, 2.5485, 0.38072 )
+physics_material_override = SubResource( 59 )
+weapon_slot1 = SubResource( 60 )
+weapon_slot2 = SubResource( 61 )
+weapon_slot3 = SubResource( 62 )
+weapon_slot4 = SubResource( 63 )
+
[node name="worldnavmesh" type="NavigationMeshInstance" parent="."]
navmesh = SubResource( 14 )
diff --git a/godot/project.godot b/godot/project.godot
index 08df693..be32035 100644
--- a/godot/project.godot
+++ b/godot/project.godot
@@ -66,7 +66,6 @@ settings/gdscript/max_call_stack=4096
[display]
-window/size/resizable=false
window/vsync/use_vsync=false
window/stretch/mode="2d"
diff --git a/godot/scenes/characters/PlayerRigid.tscn b/godot/scenes/characters/PlayerRigid.tscn
index d66655a..9822c20 100644
--- a/godot/scenes/characters/PlayerRigid.tscn
+++ b/godot/scenes/characters/PlayerRigid.tscn
@@ -43,7 +43,7 @@ physics_material_override = SubResource( 8 )
continuous_cd = true
contacts_reported = 3
contact_monitor = true
-can_sleep = false
+sleeping = true
axis_lock_angular_x = true
axis_lock_angular_y = true
axis_lock_angular_z = true
diff --git a/godot/scenes/vehicles/Gunbrig.tscn b/godot/scenes/vehicles/Gunbrig.tscn
index 250eb69..205b03c 100644
--- a/godot/scenes/vehicles/Gunbrig.tscn
+++ b/godot/scenes/vehicles/Gunbrig.tscn
@@ -333,6 +333,7 @@ shape = SubResource( 35 )
[node name="NavigationMeshInstance" type="NavigationMeshInstance" parent="."]
navmesh = SubResource( 26 )
+enabled = false
[node name="Hull" type="MeshInstance" parent="NavigationMeshInstance"]
visible = false
diff --git a/godot/scenes/weapons/hands.gd b/godot/scenes/weapons/hands.gd
index 567ff85..aac1d5f 100644
--- a/godot/scenes/weapons/hands.gd
+++ b/godot/scenes/weapons/hands.gd
@@ -28,7 +28,7 @@ func attack1():
var hit = player_owner.melee_ray.get_collider()
player_owner.rpc("play_weapon_sound", "res://sounds/punch_generic.wav")
if hit.has_method("damage"):
- hit.rpc("damage", fist_damage, "BLUNT", [player_owner.get_network_master(), player_owner.name], "using fists")
+ hit.rpc("damage", fist_damage, {"type" : "BLUNT", "attacker_net_id" : player_owner.get_network_master(), "attacker_name" : player_owner.name, "weapon_name": "fists"})
if hit.has_method("net_apply_impulse"):
hit.rpc("net_apply_impulse", -100*player_owner.melee_ray.global_transform.basis.z)
yield(player_owner.get_tree().create_timer(0.55), "timeout")
diff --git a/godot/scenes/weapons/pistol.gd b/godot/scenes/weapons/pistol.gd
index 219696b..10130a7 100644
--- a/godot/scenes/weapons/pistol.gd
+++ b/godot/scenes/weapons/pistol.gd
@@ -51,7 +51,7 @@ func attack1():
if player_owner.gun_ray.is_colliding():
var hit = player_owner.gun_ray.get_collider()
if hit.has_method("damage"):
- hit.rpc("damage", bullet_damage, "PIERCE", [player_owner.get_network_master(), player_owner.name], "using a pistol")
+ hit.rpc("damage", bullet_damage, {"type":"PIERCE", "attacker_net_id" : player_owner.get_network_master(), "attacker_name": player_owner.name, "weapon_name" : " pistol"})
else:
var puff = preload("res://particles/DirtPuff.tscn").instance()
player_owner.world.add_child(puff)
diff --git a/godot/scenes/weapons/rockets.gd b/godot/scenes/weapons/rockets.gd
index 5270186..fddeded 100644
--- a/godot/scenes/weapons/rockets.gd
+++ b/godot/scenes/weapons/rockets.gd
@@ -8,7 +8,7 @@ var rockets_left: int = 5
const name: String = "HANDS"
-var trfrm = Transform ( Vector3(1.501,-0.142,-2.418), Vector3(-2.367,-0.693,-1.429),Vector3(-0.516,2.761,-0.483),Vector3(-0.206,0.639,-0.045))
+var trfrm := Transform ( Vector3(1.501,-0.142,-2.418), Vector3(-2.367,-0.693,-1.429),Vector3(-0.516,2.761,-0.483),Vector3(-0.206,0.639,-0.045))
func _init():
rockets_scene = preload("res://scenes/weapons/rockets.tscn").instance()
diff --git a/godot/scripts/Server.gd b/godot/scripts/Server.gd
index e360703..b4ab995 100644
--- a/godot/scripts/Server.gd
+++ b/godot/scripts/Server.gd
@@ -6,6 +6,7 @@ var server_name : String
var player_limit : int
var connected_player_count : int = 0
var connected_players = {}
+enum {PLAYER_NAME, PLAYER_TEAM}
var server_enet : NetworkedMultiplayerENet
var output
@@ -52,6 +53,7 @@ func start_server(_server_name: String, _motd: String, max_players: int, map_pat
world.client_id = 1
print_line("Server started successfully.")
+ NavigationServer.set_active(false)
func stop_server():
print_line("Shutting down server...")
@@ -93,14 +95,14 @@ func _client_connection_confirmed(arguments):
world.rpc("update_players_info", connected_players)
func _client_change_teams(arguments):
- print_line(connected_players[arguments["id"]][0] + " ("+ str(arguments["id"]) +") changed to team " + arguments["team"])
- connected_players[arguments["id"]][1] = arguments["team"]
+ print_line(connected_players[arguments["id"]][PLAYER_NAME] + " ("+ str(arguments["id"]) +") changed to team " + arguments["team"])
+ connected_players[arguments["id"]][PLAYER_TEAM] = arguments["team"]
world.rpc("update_players_info", connected_players)
func _client_request_change_character(arguments):
var dest = world.get_node("PLAYERS/"+arguments["char_name"])
if dest != null and dest.get_network_master() == 1:
- print_line(connected_players[arguments["id"]][0] + " selected character " + arguments["char_name"])
+ print_line(connected_players[arguments["id"]][PLAYER_NAME] + " selected character " + arguments["char_name"])
dest.rpc("set_net_owner", arguments["id"])
if arguments["current_char_name"] != "NULL":
var old = world.get_node("PLAYERS/"+arguments["current_char_name"])
@@ -108,21 +110,24 @@ func _client_request_change_character(arguments):
func _client_request_control_vehicle(arguments):
var dest_machine = world.get_node(arguments["machine_path"])
- var name = "BOT" if arguments["id"] == 1 else connected_players[arguments["id"]][0]
+ var name = "BOT" if arguments["id"] == 1 else connected_players[arguments["id"]][PLAYER_NAME]
if dest_machine != null and dest_machine.get_network_master() == 1 and !dest_machine.in_use:
print_line(arguments["char_name"] + "(" + name + ") is controlling " + dest_machine.name)
dest_machine.rpc("set_net_owner", arguments["id"], arguments["char_name"])
func _character_death(arguments):
- var victim_player = connected_players[arguments["victim_mp_id"]][0] if arguments["victim_mp_id"] != 1 else ""
- print_line(arguments["victim"] + " ("+victim_player+") killed by " + arguments["killer"] + " " + arguments["extra"] + ".")
- world.rpc("game_chat_msg", arguments["victim"] + " ("+victim_player+") killed by " + arguments["killer"] + " " + arguments["extra"] + ".")
- world.get_node("PLAYERS/"+arguments["victim"]).rpc("remove_dead_character")
+ if world.get_node("PLAYERS/"+arguments["victim_name"]) == null:
+ return
+ var victim_player: String = connected_players[arguments["victim_mp_id"]][PLAYER_NAME] if arguments["victim_mp_id"] != 1 else arguments["victim_name"]
+ var killer_player: String = connected_players[arguments["killer_id"]][PLAYER_NAME] if arguments["killer_id"] != 1 else arguments["killer_name"]
+ print_line(victim_player+" killed by " +killer_player+ " using " + arguments["extra"] + ".")
+ world.rpc("game_chat_msg", victim_player+" killed by " +killer_player+ " using " + arguments["extra"] + ".")
+ world.get_node("PLAYERS/"+arguments["victim_name"]).rpc("remove_dead_character")
world.rpc("game_update_chars")
func _send_chat(arguments):
if !("name" in arguments):
- arguments["name"]=connected_players[arguments["id"]][0]
+ arguments["name"]=connected_players[arguments["id"]][PLAYER_NAME]
print_line(arguments["name"]+ ": " + arguments["msg"])
world.rpc("game_chat_msg", arguments["name"]+ ": " + arguments["msg"])
diff --git a/godot/scripts/characters/NetworkedCharacter.gd b/godot/scripts/characters/NetworkedCharacter.gd
index c14d46f..8a0282d 100644
--- a/godot/scripts/characters/NetworkedCharacter.gd
+++ b/godot/scripts/characters/NetworkedCharacter.gd
@@ -71,17 +71,22 @@ func lose_machine():
controlling_machine = false
machine = null
-remotesync func damage(dmg_amt: int, _type: String, shooter: Array, extra: String):
+#args format
+#attacker_net_id
+#attacker_name
+#damage_type
+#weapon_name
+remotesync func damage(dmg_amt: int, args: Dictionary):
print(dmg_amt)
health -= dmg_amt
if health <= 0 and is_network_master():
- if shooter[0] != get_network_master() and shooter[0] != 1: world.rpc_id(shooter[0], "game_killsound")
+ if args["attacker_net_id"] != get_network_master() and args["attacker_net_id"] != 1: world.rpc_id(args["attacker_net_id"], "game_killsound")
if get_network_master() == 1:
- world._call_on_server("_character_death", {"killer_id" : shooter[0], "killer" : shooter[1], "victim_mp_id" : get_network_master(), "victim" : name, "extra" : extra})
+ world._call_on_server("_character_death", {"killer_id" : args["attacker_net_id"], "killer_name" : args["attacker_name"], "victim_mp_id" : get_network_master(), "victim_name" : name, "extra" : args["weapon_name"]})
else:
- world.rpc_id(1, "_call_on_server", "_character_death", {"killer_id" : shooter[0], "killer" : shooter[1], "victim_mp_id" : get_network_master(), "victim" : name, "extra" : extra})
+ world.rpc_id(1, "_call_on_server", "_character_death", {"killer_id" : args["attacker_net_id"], "killer_name" : args["attacker_name"], "victim_mp_id" : get_network_master(), "victim_name" : name, "extra" : args["weapon_name"]})
elif is_network_master():
- if shooter[0] != get_network_master() and shooter[0] != 1: world.rpc_id(shooter[0], "game_hitsound")
+ if args["attacker_net_id"] != get_network_master() and args["attacker_net_id"] != 1: world.rpc_id(args["attacker_net_id"], "game_hitsound")
remotesync func remove_dead_character():
if is_network_master() and machine != null:
diff --git a/godot/scripts/characters/player_controller_new.gd b/godot/scripts/characters/player_controller_new.gd
index 6d45415..d78b6e3 100644
--- a/godot/scripts/characters/player_controller_new.gd
+++ b/godot/scripts/characters/player_controller_new.gd
@@ -38,6 +38,8 @@ export var walk_speed:float = 5.0
var c_friction:float = 4.0
var air_control:float = 0.3
+var idle_t: bool = true
+
#ai
onready var ai_state_machine:StateMachine = get_node("AIStateMachine")
enum AIStates { IDLE, MAN_CANNON }
@@ -57,6 +59,8 @@ var ai_should_track: bool = false
var ai_track_object: Spatial = null
const AI_LOOK_SPEED: float = 4.0
+const DROWN_DICT: Dictionary = {"type" : "DROWN", "attacker_net_id" : 1, "attacker_name" : "Davy Jones", "weapon_name" : "his locker"}
+
# Called when the node enters the scene tree
func _ready() -> void:
if weapon_slot1 == null:
@@ -269,7 +273,7 @@ func _integrate_forces(state: PhysicsDirectBodyState) -> void:
rpc("set_phys_transform", transform, linear_velocity)
if global_transform.origin.y < -30:
- rpc("damage", 500000, "drown", [1, "Davy Jones"], "")
+ rpc("damage", 500000, DROWN_DICT)
nav.set_velocity(velocity)
@@ -354,7 +358,7 @@ func leave_ladder():
if (ladder_m.get_parent().top.global_transform.origin - global_transform.origin).length_squared() < 0.01:
apply_central_impulse(-400*ladder_m.global_transform.basis.z)
global_transform.basis = world.global_transform.basis
- neck.set_global_rotation(old_neck_rot)
+ neck.set_global_rotation(Vector3(0,old_neck_rot.y,0))
set_gravity_scale(1.0)
ladder_m.queue_free()
ladder_m = null
diff --git a/godot/scripts/vehicles/Airplane.gd b/godot/scripts/vehicles/Airplane.gd
index 8ac755b..705820d 100644
--- a/godot/scripts/vehicles/Airplane.gd
+++ b/godot/scripts/vehicles/Airplane.gd
@@ -9,7 +9,7 @@ var brake_control : float = 0.0
const boost_length = 8
const turn_constant = 0.45
const roll_constant = 0.5
-const pitch_constant = 0.9
+const pitch_constant = 0.3
const drag_constant = 0.4
const v_angle_max = 1.0472 #60 deg, also top and bottom of regular steering
const v_angle_min = -1.45626 #-85 deg
@@ -46,7 +46,7 @@ remotesync func set_net_owner(id, char_name):
set_network_master(id)
if id == 1 and char_name == "NONE": #not under control
on_no_control()
- if user != null:
+ if user != null and is_instance_valid(user):
user.lose_machine()
user = null
in_use = false
@@ -66,8 +66,12 @@ func on_new_control():
user.global_transform.origin = $Cockpit.global_transform.origin
func on_no_control():
+ if !is_instance_valid(user): return
user.remove_collision_exception_with(self)
user.global_transform.origin = $PilotExit.global_transform.origin
+ var old_neck_rot = user.neck.get_global_rotation()
+ user.global_transform.basis = world.global_transform.basis
+ user.neck.set_global_rotation(Vector3(0,old_neck_rot.y,0))
func attack1():
pass
@@ -111,7 +115,7 @@ func _physics_process(delta):
if boosting:
add_force(global_transform.basis.x*booster_force,Vector3.ZERO)
countdown -= delta
- if in_use and user.get_network_master() == world.client_id:
+ if in_use and is_network_master():
user.global_transform.origin = $Cockpit.global_transform.origin
user.global_transform.basis = $Cockpit.global_transform.basis.orthonormalized()
user.set_linear_velocity(get_linear_velocity())
@@ -128,13 +132,14 @@ func _physics_process(delta):
if linear_velocity.length() > 16 and linear_velocity.angle_to(global_transform.basis.x) < 0.25:
var v_dir = 1 if linear_velocity.y > 0 else -1
vel_slow = v_dir*sqrt(abs(2*9.8*linear_velocity.y*delta)) + drag_constant + brake_control*5
- add_force(-1*linear_velocity.normalized()*vel_slow*mass,Vector3.ZERO)
+ #add_force(-1*linear_velocity.normalized()*vel_slow*mass,Vector3.ZERO)
func _integrate_forces(state):
if is_network_master():
if linear_velocity.angle_to(global_transform.basis.x) < 0.25:
set_linear_velocity(get_linear_velocity().slerp(transform.basis.x*linear_velocity.length(),0.1))
if linear_velocity.length() > 25:
+ gravity_scale = 0
#linear_velocity = linear_velocity.normalized()*(linear_velocity.length()-vel_slow)
var ang_vel_target = Vector3.ZERO
#pitch plane
@@ -145,15 +150,18 @@ func _integrate_forces(state):
#roll (rotate around lengthwise axis)
var is_returning = 3 if roll_dir == 0 else 1 #return to flat quicker
- print(roll_constant*is_returning*(roll_dir*roll_curve.curve.interpolate((roll_angle_max-roll_angle)/roll_angle_max))*global_transform.basis.x)
- ang_vel_target += roll_constant*is_returning*(roll_dir*roll_curve.curve.interpolate(roll_angle_max-roll_angle))*global_transform.basis.x
-
+ #print(linear_velocity, roll_angle)
+ if roll_dir != 0:
+ ang_vel_target += roll_constant*(roll_dir*roll_curve.curve.interpolate(roll_angle_max-abs(roll_angle)))*global_transform.basis.x
+ else:
+ roll_dir = 1 if roll_angle > 0 else -1
+ 3*roll_constant*(roll_dir*roll_curve.curve.interpolate(roll_angle_max-abs(roll_angle)))*global_transform.basis.x
#turn (based on how much the plane is rolled (need to add
ang_vel_target += turn_constant*Vector3.UP*roll_angle
#apply angular velocity
angular_velocity = ang_vel_target#lerp(angular_velocity,ang_vel_target,0.1)
-
+ gravity_scale = 1
#linear_velocity += parentvel[0]; angular_velocity += parentvel[1]
rpc("update_phys_transform", transform, linear_velocity, angular_velocity)
diff --git a/godot/scripts/vehicles/Gunboat.gd b/godot/scripts/vehicles/Gunboat.gd
index fe5473a..1defce2 100644
--- a/godot/scripts/vehicles/Gunboat.gd
+++ b/godot/scripts/vehicles/Gunboat.gd
@@ -43,9 +43,9 @@ func _ready():
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:
+ if get_tree().get_network_unique_id() == 1:
print("enabling navigation for server")
- $NavigationMeshInstance.set_enabled(true)
+ #$NavigationMeshInstance.set_enabled(true)
func on_no_control():
rpc("reset_controls")
diff --git a/godot/ui/MainMenu.gd b/godot/ui/MainMenu.gd
index 888d401..0b49b36 100644
--- a/godot/ui/MainMenu.gd
+++ b/godot/ui/MainMenu.gd
@@ -1,18 +1,46 @@
extends Node2D
var client : NetworkedMultiplayerENet
+var server
var world
var local_server_tree = null
+var start_server = false
func _ready():
+ #PROCESS ARGS
+ var arguments = {}
+ for argument in OS.get_cmdline_args():
+ if argument.find("=") > -1:
+ var key_value = argument.split("=")
+ arguments[key_value[0].lstrip("--")] = key_value[1]
+ else:
+ # Options without an argument will be present in the dictionary,
+ # with the value set to an empty string.
+ arguments[argument.lstrip("--")] = ""
+ set_process(false)
+ set_physics_process(false)
+ if "server" in arguments:
+ start_server = true
+ print("Server starting in 0.5 seconds.")
+ yield(get_tree().create_timer(0.5), "timeout")
+ print("Server starting...")
+
+ server = preload("res://scenes/Server.tscn").instance()
+ #server.start_server($ServerName.text, $MOTD.text, $PlayerCount.value, $MapPath.text, $IP.text, $Port.value, get_tree(), console, "add_line")
+ server.start_server("Dedicated Server", "Dedicated Multiplayer Server", 3, "res://maps/Main.tscn", "127.0.0.1", 25565, get_tree(), null, "print")
+ get_tree().get_root().set_update_mode(Viewport.UPDATE_DISABLED)
+ Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE)
+
+ call_deferred("queue_free")
+ return
+
+ #if regular game instance:
world = preload("res://scenes/GameBase.tscn").instance()
#get_tree().connect("network_peer_connected", self, "_player_connected")
#get_tree().connect("network_peer_disconnected", self, "_player_disconnected")
var _discard = [get_tree().connect("connected_to_server", self, "_local_connection_successful"),
get_tree().connect("connection_failed", self, "_connected_fail"),
get_tree().connect("server_disconnected", world, "_connection_lost")]
- set_process(false)
- set_physics_process(false)
func to_host_menu():
var host_menu = preload("res://ui/servermenu/ServerUI.tscn").instance()
diff --git a/work/SERVER_BINARY_3.5.1 b/work/SERVER_BINARY_3.5.1
new file mode 100755
index 0000000..76d6b56
--- /dev/null
+++ b/work/SERVER_BINARY_3.5.1
Binary files differ