summaryrefslogtreecommitdiff
path: root/godot/scenes
diff options
context:
space:
mode:
authorAnson Bridges <bridges.anson@gmail.com>2022-10-11 00:15:48 -0400
committerAnson Bridges <bridges.anson@gmail.com>2022-10-11 00:15:48 -0400
commite7fb9bacf3ebb5209f90f412757c35276af51e85 (patch)
tree2dfac9d1273bf5efa1da5cfe82b4d8e64ae0bf3a /godot/scenes
parent7dbec964a375598d454e04719576eb6c469a5d7b (diff)
ai cannon-manning state machine
Diffstat (limited to 'godot/scenes')
-rw-r--r--godot/scenes/GameBase.tscn4
-rw-r--r--godot/scenes/ballistics/Cannonball.tscn6
-rw-r--r--godot/scenes/characters/PlayerRigid.tscn33
-rw-r--r--godot/scenes/environment/BallBarrel.gd10
-rw-r--r--godot/scenes/environment/BallBarrel.tscn31
-rw-r--r--godot/scenes/machines/Cannon.tscn13
-rw-r--r--godot/scenes/vehicles/Gunbrig.tscn55
-rw-r--r--godot/scenes/worldprops/ball_bucket.tscn1
8 files changed, 131 insertions, 22 deletions
diff --git a/godot/scenes/GameBase.tscn b/godot/scenes/GameBase.tscn
index 1f09aa2..c339c37 100644
--- a/godot/scenes/GameBase.tscn
+++ b/godot/scenes/GameBase.tscn
@@ -9,7 +9,7 @@
script = ExtResource( 3 )
[node name="Water" parent="." instance=ExtResource( 1 )]
-transform = Transform( 6000, 0, 0, 0, 100, 0, 0, 0, 6000, 0, 0, 0 )
+transform = Transform( 10000, 0, 0, 0, 100, 0, 0, 0, 10000, 0, 0, 0 )
[node name="WORLDGEO" type="Spatial" parent="."]
@@ -27,5 +27,5 @@ far = 8192.0
[node name="PLAYERCAM" type="ClippedCamera" parent="."]
near = 0.01
-far = 520.7
+far = 2000.0
script = ExtResource( 4 )
diff --git a/godot/scenes/ballistics/Cannonball.tscn b/godot/scenes/ballistics/Cannonball.tscn
index b9d5a0d..8412fee 100644
--- a/godot/scenes/ballistics/Cannonball.tscn
+++ b/godot/scenes/ballistics/Cannonball.tscn
@@ -14,6 +14,7 @@ rings = 8
[sub_resource type="OpenSimplexNoise" id=4]
[sub_resource type="NoiseTexture" id=5]
+seamless = true
as_normalmap = true
bump_strength = 8.7
noise = SubResource( 4 )
@@ -43,12 +44,11 @@ shape = SubResource( 1 )
mesh = SubResource( 2 )
material/0 = SubResource( 3 )
-[node name="CarryArea" type="Area" parent="."]
+[node name="PickupArea" type="Area" parent="."]
collision_layer = 2
collision_mask = 2
-monitoring = false
-[node name="CollisionShape" type="CollisionShape" parent="CarryArea"]
+[node name="CollisionShape" type="CollisionShape" parent="PickupArea"]
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 bc5f588..d66655a 100644
--- a/godot/scenes/characters/PlayerRigid.tscn
+++ b/godot/scenes/characters/PlayerRigid.tscn
@@ -1,4 +1,4 @@
-[gd_scene load_steps=14 format=2]
+[gd_scene load_steps=18 format=2]
[ext_resource path="res://scripts/characters/player_controller_new.gd" type="Script" id=1]
[ext_resource path="res://theming/Rapscallion-q341.ttf" type="DynamicFontData" id=2]
@@ -8,6 +8,9 @@
[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]
+[ext_resource path="res://scripts/fsm/StateMachine.gd" type="Script" id=9]
+[ext_resource path="res://scripts/characters/ManCannon.gd" type="Script" id=10]
+[ext_resource path="res://scripts/characters/Idle.gd" type="Script" id=11]
[sub_resource type="PhysicsMaterial" id=8]
resource_local_to_scene = true
@@ -28,7 +31,10 @@ font_data = ExtResource( 2 )
[sub_resource type="BoxShape" id=1]
extents = Vector3( 0.325, 0.9, 0.325 )
-[node name="Soldier" type="RigidBody" groups=["playable", "player"]]
+[sub_resource type="SphereShape" id=9]
+radius = 50.0
+
+[node name="Marine" type="RigidBody" groups=["playable", "player"]]
collision_layer = 32769
collision_mask = 32769
mode = 2
@@ -93,11 +99,8 @@ transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.9, 0 )
mesh = SubResource( 4 )
[node name="NavigationAgent" type="NavigationAgent" parent="."]
-path_desired_distance = 1.5
-target_desired_distance = 1.5
-agent_height_offset = -0.5
-path_max_distance = 1.0
-neighbor_dist = 15.0
+avoidance_enabled = true
+radius = 0.3
[node name="Nametag" type="Label3D" parent="."]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.08522, 0 )
@@ -115,5 +118,21 @@ script = ExtResource( 3 )
[node name="Collision" type="CollisionShape" parent="AreaDetect"]
shape = SubResource( 1 )
+[node name="AISearchArea" type="Area" parent="."]
+monitorable = false
+
+[node name="Collision" type="CollisionShape" parent="AISearchArea"]
+shape = SubResource( 9 )
+
+[node name="AIStateMachine" type="Node" parent="."]
+script = ExtResource( 9 )
+initial_state = NodePath("Idle")
+
+[node name="Idle" type="Node" parent="AIStateMachine"]
+script = ExtResource( 11 )
+
+[node name="ManCannon" type="Node" parent="AIStateMachine"]
+script = ExtResource( 10 )
+
[connection signal="area_entered" from="AreaDetect" to="AreaDetect" method="_on_AreaDetect_area_entered"]
[connection signal="area_exited" from="AreaDetect" to="AreaDetect" method="_on_AreaDetect_area_exited"]
diff --git a/godot/scenes/environment/BallBarrel.gd b/godot/scenes/environment/BallBarrel.gd
new file mode 100644
index 0000000..80b721e
--- /dev/null
+++ b/godot/scenes/environment/BallBarrel.gd
@@ -0,0 +1,10 @@
+extends RigidBody
+
+const balls_max = 100
+onready var balls_left = balls_max
+
+func use_generic(player: NetChar) -> void:
+ if balls_left > 0 and player.inventory["cannonball"] < player.inventory_caps["cannonball"]:
+ player.inventory["cannonball"] += 1
+ balls_left -= 1
+ player.rset("inventory", player.inventory)
diff --git a/godot/scenes/environment/BallBarrel.tscn b/godot/scenes/environment/BallBarrel.tscn
new file mode 100644
index 0000000..4378d7e
--- /dev/null
+++ b/godot/scenes/environment/BallBarrel.tscn
@@ -0,0 +1,31 @@
+[gd_scene load_steps=6 format=2]
+
+[ext_resource path="res://meshes/barrel.tres" type="ArrayMesh" id=1]
+[ext_resource path="res://scenes/environment/BallBarrel.gd" type="Script" id=2]
+
+[sub_resource type="PhysicsMaterial" id=3]
+resource_local_to_scene = true
+
+[sub_resource type="CylinderShape" id=1]
+height = 1.18356
+radius = 0.597426
+
+[sub_resource type="BoxShape" id=2]
+extents = Vector3( 0.62804, 0.686083, 0.635326 )
+
+[node name="BallBarrel" type="RigidBody"]
+mass = 400.0
+physics_material_override = SubResource( 3 )
+script = ExtResource( 2 )
+
+[node name="CollisionShape" type="CollisionShape" parent="."]
+shape = SubResource( 1 )
+
+[node name="MeshInstance" type="MeshInstance" parent="."]
+mesh = ExtResource( 1 )
+
+[node name="UseArea" type="Area" parent="."]
+monitoring = false
+
+[node name="CollisionShape" type="CollisionShape" parent="UseArea"]
+shape = SubResource( 2 )
diff --git a/godot/scenes/machines/Cannon.tscn b/godot/scenes/machines/Cannon.tscn
index 9bcd95d..182ff8a 100644
--- a/godot/scenes/machines/Cannon.tscn
+++ b/godot/scenes/machines/Cannon.tscn
@@ -1,4 +1,4 @@
-[gd_scene load_steps=10 format=2]
+[gd_scene load_steps=9 format=2]
[ext_resource path="res://scripts/machines/Cannon.gd" type="Script" id=1]
[ext_resource path="res://sounds/explode.wav" type="AudioStream" id=2]
@@ -6,9 +6,6 @@
[ext_resource path="res://meshes/cannon_base.tres" type="ArrayMesh" id=4]
[ext_resource path="res://theming/FreeMono.otf" type="DynamicFontData" id=5]
-[sub_resource type="PhysicsMaterial" id=8]
-rough = true
-
[sub_resource type="BoxShape" id=1]
extents = Vector3( 1, 0.5, 0.5 )
@@ -23,7 +20,7 @@ font_data = ExtResource( 5 )
[node name="Cannon" type="RigidBody"]
mass = 3180.0
-physics_material_override = SubResource( 8 )
+linear_damp = 0.0
script = ExtResource( 1 )
[node name="CollisionShape" type="CollisionShape" parent="."]
@@ -69,3 +66,9 @@ transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.748, 1.143, 0 )
billboard = 2
text = "!"
font = SubResource( 9 )
+
+[node name="NavigationObstacle" type="NavigationObstacle" parent="."]
+estimate_radius = false
+
+[node name="AINavPoint" type="Spatial" parent="."]
+transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1.392, 0, 0 )
diff --git a/godot/scenes/vehicles/Gunbrig.tscn b/godot/scenes/vehicles/Gunbrig.tscn
index 70a30ad..250eb69 100644
--- a/godot/scenes/vehicles/Gunbrig.tscn
+++ b/godot/scenes/vehicles/Gunbrig.tscn
@@ -1,4 +1,4 @@
-[gd_scene load_steps=25 format=2]
+[gd_scene load_steps=29 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]
@@ -12,8 +12,10 @@
[ext_resource path="res://scenes/environment/Cable.tscn" type="PackedScene" id=10]
[ext_resource path="res://meshes/ship_components/rudder.tres" type="ArrayMesh" id=11]
[ext_resource path="res://scenes/vehicles/ship_parts/SquareSail.tscn" type="PackedScene" id=12]
+[ext_resource path="res://scenes/environment/BallBarrel.tscn" type="PackedScene" id=13]
[sub_resource type="PhysicsMaterial" id=28]
+resource_local_to_scene = true
rough = true
[sub_resource type="BoxShape" id=5]
@@ -22,6 +24,9 @@ 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="PhysicsMaterial" id=50]
+resource_local_to_scene = true
+
[sub_resource type="BoxShape" id=7]
extents = Vector3( 0.1, 0.1, 0.1 )
@@ -45,17 +50,23 @@ extents = Vector3( 1.20173, 0.287114, 1.17431 )
extents = Vector3( 0.294164, 0.287114, 7.50894 )
[sub_resource type="NavigationMesh" id=26]
-vertices = PoolVector3Array( -11.5351, 2.7234, -0.635424, -10.5351, 2.7234, -1.13542, -10.5351, 2.7234, -3.13542, -13.5351, 2.7234, -3.13542, -13.5351, 2.7234, 2.86458, -10.5351, 2.7234, 2.86458, -11.5351, 2.7234, -0.635424, -13.5351, 2.7234, -3.13542, 9.46486, 1.9734, 2.86458, 10.9649, 1.7234, 2.86458, 13.4649, 1.9734, 0.864576, 12.4649, 1.9734, -1.63542, 9.46486, 1.9734, -3.13542, -4.03514, 0.473404, 2.36458, -3.53514, 0.473404, 1.36458, -4.53514, 0.473404, 0.864576, -9.53514, 0.473404, 2.36458, -4.53514, 0.473404, -0.635424, -3.03514, 0.473404, -1.13542, -3.03514, 0.473404, -2.63542, -9.53514, 0.473404, -2.13542, -4.53514, 0.473404, 0.864576, -4.53514, 0.473404, -0.635424, -9.53514, 0.473404, -2.13542, -9.53514, 0.473404, 2.36458, -2.03514, 0.473404, 0.364576, -3.53514, 0.473404, 1.36458, -4.03514, 0.473404, 2.36458, 1.46486, 0.473404, 2.86458, -3.03514, 0.473404, -2.63542, -3.03514, 0.473404, -1.13542, -2.03514, 0.473404, 0.364576, 1.46486, 0.473404, 2.86458, 7.96486, 0.473404, 2.86458, 7.96486, 0.473404, -2.63542 )
-polygons = [ PoolIntArray( 1, 0, 2 ), PoolIntArray( 2, 0, 3 ), PoolIntArray( 5, 4, 6 ), PoolIntArray( 6, 4, 7 ), PoolIntArray( 9, 8, 10 ), PoolIntArray( 10, 8, 11 ), PoolIntArray( 11, 8, 12 ), PoolIntArray( 14, 13, 15 ), PoolIntArray( 15, 13, 16 ), PoolIntArray( 18, 17, 19 ), PoolIntArray( 19, 17, 20 ), PoolIntArray( 21, 24, 22 ), PoolIntArray( 22, 24, 23 ), PoolIntArray( 26, 25, 27 ), PoolIntArray( 27, 25, 28 ), PoolIntArray( 30, 29, 31 ), PoolIntArray( 31, 29, 32 ), PoolIntArray( 32, 29, 33 ), PoolIntArray( 33, 29, 34 ) ]
+vertices = PoolVector3Array( -11.5351, 2.7234, -0.635424, -10.5351, 2.7234, -1.13542, -10.5351, 2.7234, -3.13542, -13.5351, 2.7234, -3.13542, -13.5351, 2.7234, 2.86458, -10.5351, 2.7234, 2.86458, -11.5351, 2.7234, -0.635424, -13.5351, 2.7234, -3.13542, 9.46486, 1.9734, 2.86458, 10.9649, 1.7234, 2.86458, 13.4649, 1.9734, 0.864576, 12.4649, 1.9734, -1.63542, 9.46486, 1.9734, -3.13542, -4.03514, 0.473404, 2.36458, -3.53514, 0.473404, 1.36458, -4.53514, 0.473404, 0.864576, -9.53514, 0.473404, 2.36458, -4.53514, 0.473404, -0.635424, -2.53514, 0.473404, -1.13542, -2.53514, 0.473404, -2.63542, -9.53514, 0.473404, -2.13542, -4.53514, 0.473404, 0.864576, -4.53514, 0.473404, -0.635424, -9.53514, 0.473404, -2.13542, -9.53514, 0.473404, 2.36458, -2.53514, 0.473404, -2.63542, -2.53514, 0.473404, -1.13542, -1.03514, 0.473404, -0.635424, 7.96486, 0.473404, -2.63542, -1.03514, 0.473404, 0.864576, -3.53514, 0.473404, 1.36458, -4.03514, 0.473404, 2.36458, 1.46486, 0.473404, 2.86458, -1.03514, 0.473404, -0.635424, -1.03514, 0.473404, 0.864576, 1.46486, 0.473404, 2.86458, 7.96486, 0.473404, 2.86458, 7.96486, 0.473404, -2.63542 )
+polygons = [ PoolIntArray( 1, 0, 2 ), PoolIntArray( 2, 0, 3 ), PoolIntArray( 5, 4, 6 ), PoolIntArray( 6, 4, 7 ), PoolIntArray( 9, 8, 10 ), PoolIntArray( 10, 8, 11 ), PoolIntArray( 11, 8, 12 ), PoolIntArray( 14, 13, 15 ), PoolIntArray( 15, 13, 16 ), PoolIntArray( 18, 17, 19 ), PoolIntArray( 19, 17, 20 ), PoolIntArray( 21, 24, 22 ), PoolIntArray( 22, 24, 23 ), PoolIntArray( 26, 25, 27 ), PoolIntArray( 27, 25, 28 ), PoolIntArray( 30, 29, 31 ), PoolIntArray( 31, 29, 32 ), PoolIntArray( 34, 33, 35 ), PoolIntArray( 35, 33, 36 ), PoolIntArray( 36, 33, 37 ) ]
cell_size = 0.5
agent_height = 1.8
agent_radius = 0.18
agent_max_slope = 46.0
region_min_size = 3.0
+[sub_resource type="CubeMesh" id=51]
+size = Vector3( 2, 2, 1.1 )
+
[sub_resource type="BoxShape" id=36]
extents = Vector3( 10.0294, 0.598376, 0.166381 )
+[sub_resource type="PhysicsMaterial" id=49]
+resource_local_to_scene = true
+
[node name="Gunbrig" type="RigidBody"]
mass = 238000.0
physics_material_override = SubResource( 28 )
@@ -77,39 +88,63 @@ mesh = SubResource( 6 )
[node name="Cannon" parent="ARTILLERY" instance=ExtResource( 2 )]
transform = Transform( 1.31134e-07, 0, -1, 0, 1, 0, 1, 0, 1.31134e-07, 6.33448, 0.107111, 3.3196 )
+mode = 3
+physics_material_override = SubResource( 50 )
[node name="Cannon2" parent="ARTILLERY" instance=ExtResource( 2 )]
transform = Transform( 1.31134e-07, 0, -1, 0, 1, 0, 1, 0, 1.31134e-07, 3.36645, 0.107111, 3.3196 )
+mode = 3
+physics_material_override = SubResource( 50 )
[node name="Cannon3" parent="ARTILLERY" instance=ExtResource( 2 )]
transform = Transform( 1.31134e-07, 0, -1, 0, 1, 0, 1, 0, 1.31134e-07, 0.322236, 0.107111, 3.3196 )
+mode = 3
+physics_material_override = SubResource( 50 )
[node name="Cannon4" parent="ARTILLERY" instance=ExtResource( 2 )]
transform = Transform( 1.31134e-07, 0, -1, 0, 1, 0, 1, 0, 1.31134e-07, -2.66973, 0.107111, 3.21655 )
+mode = 3
+physics_material_override = SubResource( 50 )
[node name="Cannon5" parent="ARTILLERY" instance=ExtResource( 2 )]
transform = Transform( 1.31134e-07, 0, -1, 0, 1, 0, 1, 0, 1.31134e-07, -5.62184, 0.107111, 3.19748 )
+mode = 3
+physics_material_override = SubResource( 50 )
[node name="Cannon6" parent="ARTILLERY" instance=ExtResource( 2 )]
transform = Transform( 1.31134e-07, 0, -1, 0, 1, 0, 1, 0, 1.31134e-07, -8.72409, 0.107111, 2.8206 )
+mode = 3
+physics_material_override = SubResource( 50 )
[node name="Cannon7" parent="ARTILLERY" instance=ExtResource( 2 )]
transform = Transform( -0.0811907, 0, 0.996699, 0, 1, 0, -0.996699, 0, -0.0811907, -8.6751, 0.107111, -2.89481 )
+mode = 3
+physics_material_override = SubResource( 50 )
[node name="Cannon8" parent="ARTILLERY" instance=ExtResource( 2 )]
transform = Transform( -2.18557e-07, 0, 1, 0, 1, 0, -1, 0, -2.18557e-07, -5.70608, 0.107111, -3.29825 )
+mode = 3
+physics_material_override = SubResource( 50 )
[node name="Cannon9" parent="ARTILLERY" instance=ExtResource( 2 )]
transform = Transform( -2.18557e-07, 0, 1, 0, 1, 0, -1, 0, -2.18557e-07, -2.67884, 0.107111, -3.31267 )
+mode = 3
+physics_material_override = SubResource( 50 )
[node name="Cannon10" parent="ARTILLERY" instance=ExtResource( 2 )]
transform = Transform( -2.18557e-07, 0, 1, 0, 1, 0, -1, 0, -2.18557e-07, 0.421378, 0.107111, -3.35383 )
+mode = 3
+physics_material_override = SubResource( 50 )
[node name="Cannon11" parent="ARTILLERY" instance=ExtResource( 2 )]
transform = Transform( 0.0172777, 0, 0.999851, 0, 1, 0, -0.999851, 0, 0.0172777, 3.36481, 0.107111, -3.38258 )
+mode = 3
+physics_material_override = SubResource( 50 )
[node name="Cannon12" parent="ARTILLERY" instance=ExtResource( 2 )]
transform = Transform( -2.18557e-07, 0, 1, 0, 1, 0, -1, 0, -2.18557e-07, 6.37315, 0.107111, -3.35613 )
+mode = 3
+physics_material_override = SubResource( 50 )
[node name="FloatPoints" type="Spatial" parent="."]
@@ -285,7 +320,7 @@ transform = Transform( 0.949512, -0.0304534, 0, 0.0304534, 0.949512, 0, 0, 0, 0.
transform = Transform( 0.797373, -0.0647854, 0, 0.0647854, 0.797373, 0, 0, 0, 0.8, -3.33794, 24.7801, 0 )
[node name="CollisionShape" type="CollisionShape" parent="."]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -3.3912, 5.52662, 0.0706616 )
+transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -3.29681, 5.52662, 0.0706616 )
shape = SubResource( 33 )
[node name="CollisionShape2" type="CollisionShape" parent="."]
@@ -298,7 +333,6 @@ shape = SubResource( 35 )
[node name="NavigationMeshInstance" type="NavigationMeshInstance" parent="."]
navmesh = SubResource( 26 )
-enabled = false
[node name="Hull" type="MeshInstance" parent="NavigationMeshInstance"]
visible = false
@@ -350,6 +384,11 @@ transform = Transform( 0.926234, 1.7263e-09, 0.0323448, 0.0323448, -1.10483e-07,
visible = false
mesh = ExtResource( 7 )
+[node name="MeshInstance" type="MeshInstance" parent="NavigationMeshInstance"]
+transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -2.60567, 0.683043, 0 )
+visible = false
+mesh = SubResource( 51 )
+
[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 )
@@ -358,4 +397,10 @@ shape = SubResource( 36 )
transform = Transform( 0.999486, 0, 0.0320562, 0, 1, 0, -0.0320562, 0, 0.999486, -0.646409, 0.658986, -3.46571 )
shape = SubResource( 36 )
+[node name="BallBarrel" parent="." instance=ExtResource( 13 )]
+transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1.93881, 0.836955, 0.05643 )
+mode = 1
+mass = 0.01
+physics_material_override = SubResource( 49 )
+
[connection signal="navigation_mesh_changed" from="NavigationMeshInstance" to="NavigationMeshInstance" method="mesh_changed"]
diff --git a/godot/scenes/worldprops/ball_bucket.tscn b/godot/scenes/worldprops/ball_bucket.tscn
index d85a2fc..25a454e 100644
--- a/godot/scenes/worldprops/ball_bucket.tscn
+++ b/godot/scenes/worldprops/ball_bucket.tscn
@@ -11,6 +11,7 @@ albedo_color = Color( 0.266667, 0.168627, 0.0235294, 1 )
metallic_specular = 0.0
[node name="ball_bucket" type="StaticBody"]
+collision_layer = 0
[node name="CollisionShape" type="CollisionShape" parent="."]
shape = SubResource( 1 )