Compare commits

..

3 Commits

Author SHA1 Message Date
1622acf0c1 Add ball to diner 2026-07-21 22:25:43 +03:00
3967069c37 Add ball spawner to diner 2026-07-21 22:25:06 +03:00
3f967a85f3 Implement dropping the ball upon death 2026-07-21 22:24:14 +03:00
2 changed files with 11 additions and 1 deletions

View File

@ -3,6 +3,7 @@
[ext_resource type="PackedScene" uid="uid://ct70bpbca8one" path="res://scenes/player/local_player.tscn" id="1_wffmg"]
[ext_resource type="PackedScene" uid="uid://kfxc0migw80o" path="res://scenes/player/remote_player.tscn" id="2_msi5w"]
[ext_resource type="Script" uid="uid://cwu5cf7a0awcd" path="res://addons/func_godot/src/map/func_godot_map.gd" id="3_jyww1"]
[ext_resource type="PackedScene" uid="uid://dfnbc8sbufa4j" path="res://scenes/misc/ball.tscn" id="3_msi5w"]
[ext_resource type="Resource" uid="uid://blt2w6o2bluf" path="res://maps/meta/map_settings.tres" id="4_1d2sd"]
[ext_resource type="Material" uid="uid://hpsrvwx1o2v0" path="res://maps/materials/wall_foam.tres" id="5_1sdvq"]
[ext_resource type="Material" uid="uid://jk1vi81uwn88" path="res://maps/materials/foam_trimsheet.tres" id="6_h4ywl"]
@ -146,10 +147,12 @@ exposure_multiplier = 2.641
[sub_resource type="BoxShape3D" id="BoxShape3D_1cgct"]
size = Vector3(1000, 1, 1000)
[node name="diner" type="Map" unique_id=1971127396 node_paths=PackedStringArray("spawner")]
[node name="diner" type="Map" unique_id=1971127396 node_paths=PackedStringArray("spawner", "ball_spawner")]
spawner = NodePath("spawner")
ball_spawner = NodePath("ball_spawner")
local_player = ExtResource("1_wffmg")
remote_player = ExtResource("2_msi5w")
ball = ExtResource("3_msi5w")
[node name="func_godot_map" type="Node3D" parent="." unique_id=473152478]
script = ExtResource("3_jyww1")
@ -264,3 +267,6 @@ collision_mask = 7
[node name="collision_shape_3d" type="CollisionShape3D" parent="killbox" unique_id=55584443]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -3.1150565, 0)
shape = SubResource("BoxShape3D_1cgct")
[node name="ball_spawner" type="Node3D" parent="." unique_id=1771283598]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -8.061559, 4.79361, 5.0088587)

View File

@ -272,6 +272,8 @@ impl IPlayer for LocalPlayer {
}
fn kill(&mut self, source: DamageSource) {
self.drop_ball(false);
let (signal, player) = source.into_signal();
self.run_deferred(move |s| s.signals().on_die().emit(signal, player));
if let Some(mut mesh) = self.soldier_mesh.take() {
@ -620,6 +622,8 @@ impl IPlayer for RemotePlayer {
}
fn kill(&mut self, source: DamageSource) {
self.drop_ball(false);
let (signal, player) = source.into_signal();
self.run_deferred(move |s| s.signals().on_die().emit(signal, player));
if let Some(mut mesh) = self.soldier_mesh.take() {