Renamed a bunch of player stuff to pawn stuff and implemented extensive work on getting single-address 'netplay' code working. Not sure if I've created issues with single player but in theory it should all transfer across as if the player is simply always the host.
This commit is contained in:
355
templates/pawn_controller.tscn
Normal file
355
templates/pawn_controller.tscn
Normal file
@@ -0,0 +1,355 @@
|
||||
[gd_scene load_steps=34 format=3 uid="uid://c8xf3qawk5c6u"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://bcs7ygh6s3l35" path="res://scripts/pawn_controller.gd" id="1_h27ep"]
|
||||
[ext_resource type="Script" uid="uid://wye3mat5y5yg" path="res://scripts/pawn_body.gd" id="2_dn5ph"]
|
||||
[ext_resource type="PackedScene" uid="uid://cfunlbp8arnlh" path="res://templates/bullet.tscn" id="3_pnc3q"]
|
||||
[ext_resource type="Material" uid="uid://b8e84edfrnn1a" path="res://visuals/materials/pawn.tres" id="4_8twd3"]
|
||||
[ext_resource type="AudioStream" uid="uid://b8ko5lwikj8ts" path="res://audio/sounds/Whoosh Blade 001.wav" id="5_77xwu"]
|
||||
[ext_resource type="AudioStream" uid="uid://dufoyvysi4pa1" path="res://audio/sounds/Whoosh Blade 002.wav" id="6_fjlhr"]
|
||||
[ext_resource type="AudioStream" uid="uid://boe6fidhl6ut5" path="res://audio/sounds/Whoosh Blade 003.wav" id="7_3ldvn"]
|
||||
[ext_resource type="AudioStream" uid="uid://b3x0xqu8yrib4" path="res://audio/sounds/Whoosh Blade 004.wav" id="8_5bpar"]
|
||||
[ext_resource type="AudioStream" uid="uid://1m2yfje18spo" path="res://audio/sounds/Whoosh Blade 005.wav" id="9_a4li3"]
|
||||
[ext_resource type="AudioStream" uid="uid://c1j8hjmw45x86" path="res://audio/sounds/Hitech Shot A.wav" id="10_80lp4"]
|
||||
[ext_resource type="AudioStream" uid="uid://dgftxjb34d2ph" path="res://audio/sounds/Hitech Shot B.wav" id="11_n15br"]
|
||||
[ext_resource type="AudioStream" uid="uid://bguwdvatsf87l" path="res://audio/sounds/Hitech Shot C.wav" id="12_rtmky"]
|
||||
[ext_resource type="AudioStream" uid="uid://cw31ymbqgqcq2" path="res://audio/sounds/sci-fi_weapon_reload_03.wav" id="13_bdfr7"]
|
||||
[ext_resource type="Script" uid="uid://6w608y2grdqb" path="res://scripts/pawn_level_data.gd" id="14_ncd3b"]
|
||||
[ext_resource type="AudioStream" uid="uid://cjrlb4qiy23sj" path="res://audio/sounds/impact_deep_thud_bounce_09.wav" id="15_rsl1q"]
|
||||
[ext_resource type="AudioStream" uid="uid://blbk74d50ldut" path="res://audio/sounds/sci-fi_forcefield_hum_loop_02.wav" id="16_t8028"]
|
||||
[ext_resource type="AudioStream" uid="uid://fqnkbcrbpi0s" path="res://audio/sounds/2 BROKEN - CK - BEAM Wood Ceiling Drop On Concrete.wav" id="17_o127k"]
|
||||
[ext_resource type="AudioStream" uid="uid://cfq0pu0qxgb6u" path="res://audio/sounds/134688__otbtechno__bike-bell.wav" id="18_1x3g1"]
|
||||
[ext_resource type="Texture2D" uid="uid://dmnwtwu5v4voh" path="res://visuals/images/icons/detect mark.png" id="19_5822g"]
|
||||
[ext_resource type="AudioStream" uid="uid://cmnibhyxpag0a" path="res://audio/sounds/BeepBeep_high.wav" id="20_v7o58"]
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_y646j"]
|
||||
next_pass = ExtResource("4_8twd3")
|
||||
albedo_color = Color(0.08468992, 0.08468992, 0.08468992, 1)
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_lnbra"]
|
||||
next_pass = ExtResource("4_8twd3")
|
||||
albedo_color = Color(0, 1, 1, 1)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_j3lta"]
|
||||
size = Vector3(0.25, 0.6, 1)
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_fifli"]
|
||||
albedo_color = Color(1, 0.60701716, 0.54817975, 1)
|
||||
emission_enabled = true
|
||||
emission = Color(1, 0, 0, 1)
|
||||
emission_energy_multiplier = 16.0
|
||||
|
||||
[sub_resource type="Animation" id="Animation_56qyi"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("MeleeArea/HitShape:disabled")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [true]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("MeleeArea/HitShape:position")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0.6446533, 0.4691162, 0.6541977)]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("MeleeArea/HitShape:rotation")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0, 0.76134753, 0)]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("MeleeArea/HitShape:visible")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_ofpku"]
|
||||
resource_name = "melee"
|
||||
length = 0.25
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("MeleeArea/HitShape:disabled")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 0.2),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"values": [false, true]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("MeleeArea/HitShape:position")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0, 0.03333333, 0.1),
|
||||
"transitions": PackedFloat32Array(1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0.6446533, 0.4691162, 0.6541977), Vector3(0.04156494, 0.4691162, 0.937973), Vector3(-0.645, 0.469, 0.654)]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("MeleeArea/HitShape:rotation")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0, 0.03333333, 0.1),
|
||||
"transitions": PackedFloat32Array(1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0, 0.76134753, 0), Vector3(0, 0, 0), Vector3(0, -0.76096356, 0)]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("MeleeArea/HitShape:visible")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0, 0.2),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"values": [true, false]
|
||||
}
|
||||
tracks/4/type = "method"
|
||||
tracks/4/imported = false
|
||||
tracks/4/enabled = true
|
||||
tracks/4/path = NodePath("../MeleeSound")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"values": [{
|
||||
"args": [0.0],
|
||||
"method": &"play"
|
||||
}]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_ac3v1"]
|
||||
resource_name = "shoot"
|
||||
length = 0.2
|
||||
tracks/0/type = "method"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("../RangedSound")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"values": [{
|
||||
"args": [0.0],
|
||||
"method": &"play"
|
||||
}]
|
||||
}
|
||||
tracks/1/type = "method"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("../..")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0.033333335),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"values": [{
|
||||
"args": [],
|
||||
"method": &"fire_ranged"
|
||||
}]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_ucins"]
|
||||
_data = {
|
||||
&"RESET": SubResource("Animation_56qyi"),
|
||||
&"melee": SubResource("Animation_ofpku"),
|
||||
&"shoot": SubResource("Animation_ac3v1")
|
||||
}
|
||||
|
||||
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_ghbft"]
|
||||
streams_count = 5
|
||||
stream_0/stream = ExtResource("5_77xwu")
|
||||
stream_1/stream = ExtResource("6_fjlhr")
|
||||
stream_2/stream = ExtResource("7_3ldvn")
|
||||
stream_3/stream = ExtResource("8_5bpar")
|
||||
stream_4/stream = ExtResource("9_a4li3")
|
||||
|
||||
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_rclin"]
|
||||
streams_count = 3
|
||||
stream_0/stream = ExtResource("10_80lp4")
|
||||
stream_1/stream = ExtResource("11_n15br")
|
||||
stream_2/stream = ExtResource("12_rtmky")
|
||||
|
||||
[sub_resource type="ViewportTexture" id="ViewportTexture_yixtd"]
|
||||
viewport_path = NodePath("PawnBody/Subviewport")
|
||||
|
||||
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_a5wj7"]
|
||||
radius = 0.3
|
||||
height = 1.0
|
||||
|
||||
[sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_h27ep"]
|
||||
properties/0/path = NodePath(".:position")
|
||||
properties/0/spawn = true
|
||||
properties/0/replication_mode = 1
|
||||
|
||||
[node name="Player" type="CharacterBody3D" groups=["combat"]]
|
||||
physics_interpolation_mode = 1
|
||||
collision_layer = 2
|
||||
collision_mask = 5
|
||||
floor_constant_speed = true
|
||||
floor_max_angle = 0.93549645
|
||||
floor_snap_length = 1.0
|
||||
script = ExtResource("1_h27ep")
|
||||
speed = 3.0
|
||||
|
||||
[node name="PawnBody" type="Node3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.425, 0)
|
||||
script = ExtResource("2_dn5ph")
|
||||
projectile_template = ExtResource("3_pnc3q")
|
||||
|
||||
[node name="Mesh" type="CSGBox3D" parent="PawnBody"]
|
||||
size = Vector3(0.5, 0.85, 0.5)
|
||||
material = SubResource("StandardMaterial3D_y646j")
|
||||
|
||||
[node name="CSGCylinder3D" type="CSGCylinder3D" parent="PawnBody/Mesh"]
|
||||
transform = Transform3D(1, 0, 0, 0, -4.371139e-08, -1, 0, 1, -4.371139e-08, 0, 0.21490532, 0.29997927)
|
||||
radius = 0.15
|
||||
height = 0.05
|
||||
material = SubResource("StandardMaterial3D_lnbra")
|
||||
|
||||
[node name="MeleeArea" type="Area3D" parent="PawnBody/Mesh"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.425, 0)
|
||||
collision_layer = 0
|
||||
collision_mask = 2
|
||||
|
||||
[node name="HitShape" type="CollisionShape3D" parent="PawnBody/Mesh/MeleeArea"]
|
||||
transform = Transform3D(0.723907, 0, 0.68989754, 0, 1, 0, -0.68989754, 0, 0.723907, 0.6446533, 0.4691162, 0.6541977)
|
||||
visible = false
|
||||
shape = SubResource("BoxShape3D_j3lta")
|
||||
disabled = true
|
||||
|
||||
[node name="CSGBox3D" type="CSGBox3D" parent="PawnBody/Mesh/MeleeArea/HitShape"]
|
||||
size = Vector3(0.1, 0.1, 1)
|
||||
material = SubResource("StandardMaterial3D_fifli")
|
||||
|
||||
[node name="OmniLight3D" type="OmniLight3D" parent="PawnBody/Mesh/MeleeArea/HitShape/CSGBox3D"]
|
||||
light_color = Color(1, 0, 0, 1)
|
||||
light_energy = 1.137
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="PawnBody/Mesh"]
|
||||
unique_name_in_owner = true
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_ucins")
|
||||
}
|
||||
|
||||
[node name="RangedPoint" type="Node3D" parent="PawnBody/Mesh"]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.4537468)
|
||||
|
||||
[node name="MeleeSound" type="AudioStreamPlayer3D" parent="PawnBody"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.425, 0)
|
||||
stream = SubResource("AudioStreamRandomizer_ghbft")
|
||||
|
||||
[node name="RangedSound" type="AudioStreamPlayer3D" parent="PawnBody"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.425, 0)
|
||||
stream = SubResource("AudioStreamRandomizer_rclin")
|
||||
|
||||
[node name="ReloadSound" type="AudioStreamPlayer3D" parent="PawnBody"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.425, 0)
|
||||
stream = ExtResource("13_bdfr7")
|
||||
|
||||
[node name="Subviewport" type="SubViewport" parent="PawnBody"]
|
||||
disable_3d = true
|
||||
transparent_bg = true
|
||||
handle_input_locally = false
|
||||
gui_disable_input = true
|
||||
size = Vector2i(150, 60)
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="PawnBody/Subviewport"]
|
||||
offset_right = 40.0
|
||||
offset_bottom = 40.0
|
||||
|
||||
[node name="Label" type="Label" parent="PawnBody/Subviewport/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "Struggle to Escape!"
|
||||
|
||||
[node name="StruggleBar" type="ProgressBar" parent="PawnBody/Subviewport/VBoxContainer"]
|
||||
unique_name_in_owner = true
|
||||
custom_minimum_size = Vector2(0, 20)
|
||||
layout_mode = 2
|
||||
max_value = 5.0
|
||||
value = 5.0
|
||||
show_percentage = false
|
||||
|
||||
[node name="StruggleUI" type="Sprite3D" parent="PawnBody"]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.75085443, 0)
|
||||
visible = false
|
||||
billboard = 1
|
||||
texture = SubResource("ViewportTexture_yixtd")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.4665325, 0)
|
||||
shape = SubResource("CapsuleShape3D_a5wj7")
|
||||
|
||||
[node name="Data" type="Node" parent="."]
|
||||
script = ExtResource("14_ncd3b")
|
||||
|
||||
[node name="TrapSound" type="AudioStreamPlayer3D" parent="."]
|
||||
stream = ExtResource("15_rsl1q")
|
||||
|
||||
[node name="FlingSound" type="AudioStreamPlayer3D" parent="."]
|
||||
stream = ExtResource("16_t8028")
|
||||
|
||||
[node name="CrashSound" type="AudioStreamPlayer3D" parent="."]
|
||||
stream = ExtResource("17_o127k")
|
||||
|
||||
[node name="AudioListener3D" type="AudioListener3D" parent="."]
|
||||
current = true
|
||||
|
||||
[node name="DetectSound" type="AudioStreamPlayer3D" parent="."]
|
||||
stream = ExtResource("18_1x3g1")
|
||||
volume_db = -80.0
|
||||
max_db = -11.464
|
||||
|
||||
[node name="DetectIcon" type="Sprite3D" parent="."]
|
||||
transform = Transform3D(0.75, 0, 0, 0, 0.75, 0, 0, 0, 0.75, 0, 1.2337646, 0)
|
||||
visible = false
|
||||
billboard = 1
|
||||
no_depth_test = true
|
||||
texture = ExtResource("19_5822g")
|
||||
|
||||
[node name="DetonateSound" type="AudioStreamPlayer3D" parent="."]
|
||||
stream = ExtResource("20_v7o58")
|
||||
max_db = -7.0
|
||||
|
||||
[node name="MultiplayerSynchronizer" type="MultiplayerSynchronizer" parent="."]
|
||||
replication_config = SubResource("SceneReplicationConfig_h27ep")
|
||||
Reference in New Issue
Block a user