From 56af7a3481896b11186b738dc367a7fd7c376db4 Mon Sep 17 00:00:00 2001 From: derek Date: Mon, 5 May 2025 16:37:57 -0500 Subject: [PATCH] tweaks to assassinate vip mode --- assets/switch_1.tscn | 12 ++++++++-- scenes/on_all_sides.tscn | 20 ++++++++--------- scripts/assassinate_vip.gd | 23 ++++++++++++++----- scripts/hud.gd | 4 ++++ scripts/room_manager.gd | 3 +++ scripts/signal_bus.gd | 2 ++ scripts/switch_basic.gd | 36 ++++++++++++++++-------------- scripts/switch_interactandshoot.gd | 2 ++ scripts/tube_top.gd | 7 ++++++ tube_top.tscn | 4 +++- 10 files changed, 78 insertions(+), 35 deletions(-) diff --git a/assets/switch_1.tscn b/assets/switch_1.tscn index 47ec7e0..3c35bc7 100644 --- a/assets/switch_1.tscn +++ b/assets/switch_1.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=21 format=4 uid="uid://h05qay3qri4e"] +[gd_scene load_steps=22 format=4 uid="uid://h05qay3qri4e"] [ext_resource type="Texture2D" uid="uid://ixeulptnq4t7" path="res://assets/Models/SubstancePainterTest/switch1.base_BaseColor.png" id="1_fj3ta"] [ext_resource type="Script" uid="uid://3dribcjjimj8" path="res://scripts/switch_interactandshoot.gd" id="1_rw0ux"] @@ -9,6 +9,7 @@ [ext_resource type="Texture2D" uid="uid://dblkcqvfif4li" path="res://assets/Models/SubstancePainterTest/switch1.switch_Metallic.png" id="6_1mkxb"] [ext_resource type="Texture2D" uid="uid://c6s1lgmf327te" path="res://assets/Models/SubstancePainterTest/switch1.switch_Normal.png" id="7_0pqjv"] [ext_resource type="Texture2D" uid="uid://2yaxgipvhefg" path="res://assets/Models/SubstancePainterTest/switch1.switch_Roughness.png" id="8_12i20"] +[ext_resource type="FontFile" uid="uid://d2h2tjhxiv5wo" path="res://assets/fonts/White On Black.ttf" id="10_gt83m"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_tk0e5"] resource_name = "switch1.base" @@ -140,10 +141,11 @@ _data = { &"on": SubResource("Animation_c5qda") } -[node name="Switch1" type="StaticBody3D" node_paths=PackedStringArray("anim_player")] +[node name="Switch1" type="StaticBody3D" node_paths=PackedStringArray("label", "anim_player")] collision_layer = 130 collision_mask = 130 script = ExtResource("1_rw0ux") +label = NodePath("SwitchLabel") start_on = true toggle_enabled = true bullet_enabled = false @@ -167,3 +169,9 @@ shape = SubResource("ConcavePolygonShape3D_rw0ux") libraries = { &"": SubResource("AnimationLibrary_ms0kb") } + +[node name="SwitchLabel" type="Label3D" parent="."] +transform = Transform3D(-0.05, 0, -4.37114e-09, 0, 0.05, 0, 4.37114e-09, 0, -0.05, -0.0907298, 0.41084, 0) +font = ExtResource("10_gt83m") +font_size = 347 +horizontal_alignment = 2 diff --git a/scenes/on_all_sides.tscn b/scenes/on_all_sides.tscn index 8b721c3..91c4303 100644 --- a/scenes/on_all_sides.tscn +++ b/scenes/on_all_sides.tscn @@ -12,8 +12,8 @@ [ext_resource type="PackedScene" uid="uid://c5t4uqihf8q0i" path="res://scripts/chest_spawner.tscn" id="18_nmbyo"] [sub_resource type="NavigationMesh" id="NavigationMesh_8aw3d"] -vertices = PackedVector3Array(-23.1638, 0.784201, -34.7984, -17.9138, 0.784201, -34.5484, -17.6638, 0.784201, -36.2984, -23.1638, 0.784201, -46.7984, 22.0862, 0.784201, -36.2984, 22.3362, 0.784201, -34.0484, 27.3362, 0.784201, -34.0484, 27.3362, 0.784201, -46.7984, -9.6638, 8.5342, -32.2984, -8.4138, 8.5342, -32.5484, -8.4138, 8.5342, -35.2984, -16.9138, 8.5342, -35.2984, -16.9138, 8.5342, -28.5484, -9.6638, 8.5342, -28.5484, -7.4138, 8.5342, -32.2984, 21.3362, 8.5342, -35.2984, -7.4138, 8.5342, -28.5484, 21.3362, 8.5342, -28.5484, -29.6638, -24.9658, -35.0484, -29.6638, -24.9658, -23.0484, -11.9138, -24.9658, -23.0484, -11.9138, -24.9658, -35.0484, -16.6638, 0.784201, -35.0484, -16.6638, 0.784201, -28.7984, 21.0862, 0.784201, -28.7984, 21.0862, 0.784201, -35.0484, -23.1638, 0.784201, -29.0484, -17.9138, 0.784201, -29.2984, 22.3362, 0.784201, -27.7984, 20.5862, 0.784201, -27.5484, 20.8362, 0.784201, -22.2984, 27.3362, 0.784201, -22.2984, -17.9138, 0.784201, -27.7984, -16.4138, 0.784201, -22.2984, -16.1638, 0.784201, -27.5484, -23.1638, 0.784201, -22.2984, -43.4138, 0.784201, -20.5484, -41.6638, 0.784201, -20.7984, -41.9138, 0.784201, -26.0484, -53.9138, 0.784201, -26.0484, -41.1638, 0.784201, 24.4516, -41.1638, 0.784201, 19.4516, -43.4138, 0.784201, 19.2016, -53.9138, 0.784201, 24.4516, -36.4138, 0.784201, -20.7984, -36.1638, 0.784201, -26.0484, -34.9138, 0.784201, -20.7984, -34.6638, 0.784201, -19.0484, -29.4138, 0.784201, -19.2984, -29.4138, 0.784201, -26.0484, -29.6638, -11.9658, -21.5484, -29.6638, -11.9658, -9.5484, -11.9138, -11.9658, -9.5484, -11.9138, -11.9658, -21.5484, -42.4138, 8.5342, -19.7984, -42.4138, 8.5342, 18.4516, -35.6638, 8.5342, 18.4516, -35.6638, 8.5342, -19.7984, -42.1638, 0.784201, -19.5484, -42.1638, 0.784201, 18.2016, -35.9138, 0.784201, 18.2016, -35.9138, 0.784201, -19.5484, -34.6638, 0.784201, 17.7016, -29.4138, 0.784201, 17.9516, -8.1638, -0.215799, -19.0484, -8.1638, -0.215799, -7.0484, 0.0862007, -0.215799, -7.0484, 0.0862007, -0.215799, -19.0484, 34.3362, 0.784201, -10.7984, 36.0862, 0.784201, -11.0484, 35.8362, 0.784201, -18.7984, 26.3362, 0.784201, -8.7984, 34.3362, 0.784201, -8.7984, 26.3362, 0.784201, -18.7984, 41.3362, 0.784201, -11.0484, 41.5862, 0.784201, -18.7984, 42.8362, 0.784201, -11.0484, 43.0862, 0.784201, -9.2984, 50.8362, 0.784201, -9.5484, 50.8362, 0.784201, -18.7984, 3.3362, 2.2842, -17.5484, 3.3362, 2.2842, -5.5484, 24.0862, 2.2842, -5.5484, 24.0862, 2.2842, -17.5484, 35.3362, 8.5342, -10.0484, 35.3362, 8.5342, 28.2016, 42.0862, 8.5342, 28.2016, 42.0862, 8.5342, -10.0484, 35.5862, 0.784201, -9.7984, 35.5862, 0.784201, 27.9516, 41.8362, 0.784201, 27.9516, 41.8362, 0.784201, -9.7984, 43.0862, 0.784201, 28.9516, 36.3362, 0.784201, 29.2016, 35.8362, 0.784201, 31.4516, 50.8362, 0.784201, 31.4516, 34.3362, 0.784201, 28.9516, 26.3362, 0.784201, 31.4516, -21.6638, 0.784201, -6.5484, -21.6638, 0.784201, 5.4516, -13.6638, 0.784201, 5.4516, -13.6638, 0.784201, -6.5484, -21.6638, 18.7842, -6.5484, -21.6638, 18.7842, 5.4516, -13.6638, 18.7842, 5.4516, -13.6638, 18.7842, -6.5484, 16.8362, 16.0342, -6.5484, 16.8362, 16.0342, 5.4516, 24.8362, 16.0342, 5.4516, 24.8362, 16.0342, -6.5484, -10.1638, 0.784201, -3.0484, -10.1638, 0.784201, 2.4516, -2.1638, 0.784201, 2.4516, -2.1638, 0.784201, -3.0484, -29.6638, -16.7158, -0.798401, -29.6638, -16.7158, 11.2016, -11.9138, -16.7158, 11.2016, -11.9138, -16.7158, -0.798401, 9.5862, 1.7842, 0.201599, 9.5862, 1.7842, 12.2016, 17.8362, 1.7842, 12.2016, 17.8362, 1.7842, 0.201599, -27.6638, 0.784201, 8.2016, -27.6638, 0.784201, 20.2016, -2.9138, 0.784201, 20.2016, -2.9138, 0.784201, 8.2016, -0.663799, 0.784201, 8.2016, -0.663799, 0.784201, 20.2016, 7.3362, 0.784201, 20.2016, 7.3362, 0.784201, 8.2016, 10.3362, 10.0342, 12.9516, 10.3362, 10.0342, 24.9516, 18.3362, 10.0342, 24.9516, 18.3362, 10.0342, 12.9516, -34.9138, 0.784201, 19.4516, -29.4138, 0.784201, 24.4516, -25.9138, -9.4658, 21.2016, -25.9138, -9.4658, 33.2016, 7.0862, -9.4658, 33.2016, 7.0862, -9.4658, 21.2016, -25.9138, 22.7842, 21.2016, -25.9138, 22.7842, 33.2016, 7.0862, 22.7842, 33.2016, 7.0862, 22.7842, 21.2016, -30.6638, 0.784201, 41.7016, -28.4138, 0.784201, 42.2016, -28.1638, 0.784201, 40.2016, -30.6638, 0.784201, 32.4516, 10.3362, 0.784201, 40.2016, 10.5862, 0.784201, 32.4516, 12.0862, 0.784201, 40.4516, 12.0862, 0.784201, 42.4516, 19.5862, 0.784201, 42.4516, 19.5862, 0.784201, 32.4516, -27.4138, 8.5342, 41.2016, -27.4138, 8.5342, 48.2016, 11.0862, 8.5342, 48.2016, 11.0862, 8.5342, 41.2016, -27.1638, 0.784201, 41.4516, -27.1638, 0.784201, 47.9516, 10.8362, 0.784201, 47.9516, 10.8362, 0.784201, 41.4516, -28.1638, 0.784201, 49.2016, -30.6638, 0.784201, 56.9516, 10.5862, 0.784201, 56.9516, 10.3362, 0.784201, 49.2016, 12.0862, 0.784201, 46.9516, 19.5862, 0.784201, 46.9516, 12.0862, 0.784201, 48.9516, 19.5862, 0.784201, 56.9516) -polygons = [PackedInt32Array(1, 0, 2), PackedInt32Array(2, 0, 3), PackedInt32Array(5, 4, 6), PackedInt32Array(6, 4, 7), PackedInt32Array(4, 2, 7), PackedInt32Array(7, 2, 3), PackedInt32Array(9, 8, 10), PackedInt32Array(10, 8, 11), PackedInt32Array(13, 12, 8), PackedInt32Array(8, 12, 11), PackedInt32Array(9, 10, 14), PackedInt32Array(14, 10, 15), PackedInt32Array(16, 14, 17), PackedInt32Array(17, 14, 15), PackedInt32Array(21, 20, 18), PackedInt32Array(18, 20, 19), PackedInt32Array(25, 24, 22), PackedInt32Array(22, 24, 23), PackedInt32Array(27, 26, 1), PackedInt32Array(1, 26, 0), PackedInt32Array(29, 28, 30), PackedInt32Array(30, 28, 31), PackedInt32Array(5, 6, 28), PackedInt32Array(28, 6, 31), PackedInt32Array(26, 27, 32), PackedInt32Array(32, 34, 33), PackedInt32Array(26, 32, 35), PackedInt32Array(35, 32, 33), PackedInt32Array(34, 29, 33), PackedInt32Array(33, 29, 30), PackedInt32Array(37, 36, 38), PackedInt32Array(38, 36, 39), PackedInt32Array(41, 40, 42), PackedInt32Array(42, 40, 43), PackedInt32Array(42, 43, 36), PackedInt32Array(36, 43, 39), PackedInt32Array(37, 38, 44), PackedInt32Array(44, 38, 45), PackedInt32Array(46, 44, 45), PackedInt32Array(48, 47, 46), PackedInt32Array(45, 49, 46), PackedInt32Array(46, 49, 48), PackedInt32Array(53, 52, 50), PackedInt32Array(50, 52, 51), PackedInt32Array(57, 56, 54), PackedInt32Array(54, 56, 55), PackedInt32Array(61, 60, 58), PackedInt32Array(58, 60, 59), PackedInt32Array(47, 48, 62), PackedInt32Array(62, 48, 63), PackedInt32Array(67, 66, 64), PackedInt32Array(64, 66, 65), PackedInt32Array(70, 69, 68), PackedInt32Array(68, 72, 71), PackedInt32Array(70, 68, 73), PackedInt32Array(73, 68, 71), PackedInt32Array(69, 70, 74), PackedInt32Array(74, 70, 75), PackedInt32Array(76, 74, 75), PackedInt32Array(78, 77, 76), PackedInt32Array(75, 79, 76), PackedInt32Array(76, 79, 78), PackedInt32Array(83, 82, 80), PackedInt32Array(80, 82, 81), PackedInt32Array(87, 86, 84), PackedInt32Array(84, 86, 85), PackedInt32Array(91, 90, 88), PackedInt32Array(88, 90, 89), PackedInt32Array(93, 92, 94), PackedInt32Array(94, 92, 95), PackedInt32Array(77, 78, 92), PackedInt32Array(92, 78, 95), PackedInt32Array(93, 94, 96), PackedInt32Array(96, 94, 97), PackedInt32Array(72, 96, 71), PackedInt32Array(71, 96, 97), PackedInt32Array(101, 100, 98), PackedInt32Array(98, 100, 99), PackedInt32Array(105, 104, 102), PackedInt32Array(102, 104, 103), PackedInt32Array(109, 108, 106), PackedInt32Array(106, 108, 107), PackedInt32Array(113, 112, 110), PackedInt32Array(110, 112, 111), PackedInt32Array(117, 116, 114), PackedInt32Array(114, 116, 115), PackedInt32Array(121, 120, 118), PackedInt32Array(118, 120, 119), PackedInt32Array(125, 124, 122), PackedInt32Array(122, 124, 123), PackedInt32Array(129, 128, 126), PackedInt32Array(126, 128, 127), PackedInt32Array(133, 132, 130), PackedInt32Array(130, 132, 131), PackedInt32Array(62, 63, 134), PackedInt32Array(134, 63, 135), PackedInt32Array(41, 134, 40), PackedInt32Array(40, 134, 135), PackedInt32Array(139, 138, 136), PackedInt32Array(136, 138, 137), PackedInt32Array(143, 142, 140), PackedInt32Array(140, 142, 141), PackedInt32Array(145, 144, 146), PackedInt32Array(146, 144, 147), PackedInt32Array(148, 146, 149), PackedInt32Array(149, 146, 147), PackedInt32Array(152, 151, 150), PackedInt32Array(150, 148, 149), PackedInt32Array(149, 153, 150), PackedInt32Array(150, 153, 152), PackedInt32Array(157, 156, 154), PackedInt32Array(154, 156, 155), PackedInt32Array(161, 160, 158), PackedInt32Array(158, 160, 159), PackedInt32Array(145, 162, 144), PackedInt32Array(144, 162, 163), PackedInt32Array(165, 164, 162), PackedInt32Array(162, 164, 163), PackedInt32Array(151, 152, 166), PackedInt32Array(166, 152, 167), PackedInt32Array(168, 166, 167), PackedInt32Array(164, 165, 168), PackedInt32Array(164, 168, 169), PackedInt32Array(169, 168, 167)] +vertices = PackedVector3Array(-23.1638, 0.784201, -34.7984, -17.9138, 0.784201, -34.5484, -17.6638, 0.784201, -36.2984, -23.1638, 0.784201, -46.7984, 22.0862, 0.784201, -36.2984, 22.3362, 0.784201, -34.0484, 27.3362, 0.784201, -34.0484, 27.3362, 0.784201, -46.7984, -9.6638, 8.5342, -32.2984, -8.4138, 8.5342, -32.5484, -8.4138, 8.5342, -35.2984, -16.9138, 8.5342, -35.2984, -16.9138, 8.5342, -28.5484, -9.6638, 8.5342, -28.5484, -7.4138, 8.5342, -32.2984, 21.3362, 8.5342, -35.2984, -7.4138, 8.5342, -28.5484, 21.3362, 8.5342, -28.5484, -29.6638, -24.9658, -35.0484, -29.6638, -24.9658, -23.0484, -11.9138, -24.9658, -23.0484, -11.9138, -24.9658, -35.0484, -23.1638, 0.784201, -29.0484, -17.9138, 0.784201, -29.2984, 22.3362, 0.784201, -27.7984, 20.5862, 0.784201, -27.5484, 20.8362, 0.784201, -22.2984, 27.3362, 0.784201, -22.2984, -17.9138, 0.784201, -27.7984, -16.4138, 0.784201, -22.2984, -16.1638, 0.784201, -27.5484, -23.1638, 0.784201, -22.2984, -43.4138, 0.784201, -20.5484, -41.6638, 0.784201, -20.7984, -41.9138, 0.784201, -26.0484, -53.9138, 0.784201, -26.0484, -41.1638, 0.784201, 24.4516, -41.1638, 0.784201, 19.4516, -43.4138, 0.784201, 19.2016, -53.9138, 0.784201, 24.4516, -36.4138, 0.784201, -20.7984, -36.1638, 0.784201, -26.0484, -34.9138, 0.784201, -20.7984, -34.6638, 0.784201, -19.0484, -29.4138, 0.784201, -19.2984, -29.4138, 0.784201, -26.0484, -29.6638, -11.9658, -21.5484, -29.6638, -11.9658, -9.5484, -11.9138, -11.9658, -9.5484, -11.9138, -11.9658, -21.5484, -42.4138, 8.5342, -19.7984, -42.4138, 8.5342, 18.4516, -35.6638, 8.5342, 18.4516, -35.6638, 8.5342, -19.7984, -34.6638, 0.784201, 17.7016, -29.4138, 0.784201, 17.9516, -8.1638, -0.215799, -19.0484, -8.1638, -0.215799, -7.0484, 0.0862007, -0.215799, -7.0484, 0.0862007, -0.215799, -19.0484, 34.3362, 0.784201, -10.7984, 36.0862, 0.784201, -11.0484, 35.8362, 0.784201, -18.7984, 26.3362, 0.784201, -8.7984, 34.3362, 0.784201, -8.7984, 26.3362, 0.784201, -18.7984, 41.3362, 0.784201, -11.0484, 41.5862, 0.784201, -18.7984, 42.8362, 0.784201, -11.0484, 43.0862, 0.784201, -9.2984, 50.8362, 0.784201, -9.5484, 50.8362, 0.784201, -18.7984, 3.3362, 2.2842, -17.5484, 3.3362, 2.2842, -5.5484, 24.0862, 2.2842, -5.5484, 24.0862, 2.2842, -17.5484, 35.3362, 8.5342, -10.0484, 35.3362, 8.5342, 28.2016, 42.0862, 8.5342, 28.2016, 42.0862, 8.5342, -10.0484, 43.0862, 0.784201, 28.9516, 36.3362, 0.784201, 29.2016, 35.8362, 0.784201, 31.4516, 50.8362, 0.784201, 31.4516, 34.3362, 0.784201, 28.9516, 26.3362, 0.784201, 31.4516, -21.6638, 0.784201, -6.5484, -21.6638, 0.784201, 5.4516, -13.6638, 0.784201, 5.4516, -13.6638, 0.784201, -6.5484, -21.6638, 18.7842, -6.5484, -21.6638, 18.7842, 5.4516, -13.6638, 18.7842, 5.4516, -13.6638, 18.7842, -6.5484, 16.8362, 16.0342, -6.5484, 16.8362, 16.0342, 5.4516, 24.8362, 16.0342, 5.4516, 24.8362, 16.0342, -6.5484, -10.1638, 0.784201, -3.0484, -10.1638, 0.784201, 2.4516, -2.1638, 0.784201, 2.4516, -2.1638, 0.784201, -3.0484, -29.6638, -16.7158, -0.798401, -29.6638, -16.7158, 11.2016, -11.9138, -16.7158, 11.2016, -11.9138, -16.7158, -0.798401, 9.5862, 1.7842, 0.201599, 9.5862, 1.7842, 12.2016, 17.8362, 1.7842, 12.2016, 17.8362, 1.7842, 0.201599, -27.6638, 0.784201, 8.2016, -27.6638, 0.784201, 20.2016, -2.9138, 0.784201, 20.2016, -2.9138, 0.784201, 8.2016, -0.663799, 0.784201, 8.2016, -0.663799, 0.784201, 20.2016, 7.3362, 0.784201, 20.2016, 7.3362, 0.784201, 8.2016, 10.3362, 10.0342, 12.9516, 10.3362, 10.0342, 24.9516, 18.3362, 10.0342, 24.9516, 18.3362, 10.0342, 12.9516, -34.9138, 0.784201, 19.4516, -29.4138, 0.784201, 24.4516, -25.9138, -9.4658, 21.2016, -25.9138, -9.4658, 33.2016, 7.0862, -9.4658, 33.2016, 7.0862, -9.4658, 21.2016, -25.9138, 22.7842, 21.2016, -25.9138, 22.7842, 33.2016, 7.0862, 22.7842, 33.2016, 7.0862, 22.7842, 21.2016, -30.6638, 0.784201, 41.7016, -28.4138, 0.784201, 42.2016, -28.1638, 0.784201, 40.2016, -30.6638, 0.784201, 32.4516, 10.3362, 0.784201, 40.2016, 10.5862, 0.784201, 32.4516, 12.0862, 0.784201, 40.4516, 12.0862, 0.784201, 42.4516, 19.5862, 0.784201, 42.4516, 19.5862, 0.784201, 32.4516, -27.4138, 8.5342, 41.2016, -27.4138, 8.5342, 48.2016, 11.0862, 8.5342, 48.2016, 11.0862, 8.5342, 41.2016, -28.1638, 0.784201, 49.2016, -30.6638, 0.784201, 56.9516, 10.5862, 0.784201, 56.9516, 10.3362, 0.784201, 49.2016, 12.0862, 0.784201, 46.9516, 19.5862, 0.784201, 46.9516, 12.0862, 0.784201, 48.9516, 19.5862, 0.784201, 56.9516) +polygons = [PackedInt32Array(1, 0, 2), PackedInt32Array(2, 0, 3), PackedInt32Array(5, 4, 6), PackedInt32Array(6, 4, 7), PackedInt32Array(4, 2, 7), PackedInt32Array(7, 2, 3), PackedInt32Array(9, 8, 10), PackedInt32Array(10, 8, 11), PackedInt32Array(13, 12, 8), PackedInt32Array(8, 12, 11), PackedInt32Array(9, 10, 14), PackedInt32Array(14, 10, 15), PackedInt32Array(16, 14, 17), PackedInt32Array(17, 14, 15), PackedInt32Array(21, 20, 18), PackedInt32Array(18, 20, 19), PackedInt32Array(23, 22, 1), PackedInt32Array(1, 22, 0), PackedInt32Array(25, 24, 26), PackedInt32Array(26, 24, 27), PackedInt32Array(5, 6, 24), PackedInt32Array(24, 6, 27), PackedInt32Array(22, 23, 28), PackedInt32Array(28, 30, 29), PackedInt32Array(22, 28, 31), PackedInt32Array(31, 28, 29), PackedInt32Array(30, 25, 29), PackedInt32Array(29, 25, 26), PackedInt32Array(33, 32, 34), PackedInt32Array(34, 32, 35), PackedInt32Array(37, 36, 38), PackedInt32Array(38, 36, 39), PackedInt32Array(38, 39, 32), PackedInt32Array(32, 39, 35), PackedInt32Array(33, 34, 40), PackedInt32Array(40, 34, 41), PackedInt32Array(42, 40, 41), PackedInt32Array(44, 43, 42), PackedInt32Array(41, 45, 42), PackedInt32Array(42, 45, 44), PackedInt32Array(49, 48, 46), PackedInt32Array(46, 48, 47), PackedInt32Array(53, 52, 50), PackedInt32Array(50, 52, 51), PackedInt32Array(43, 44, 54), PackedInt32Array(54, 44, 55), PackedInt32Array(59, 58, 56), PackedInt32Array(56, 58, 57), PackedInt32Array(62, 61, 60), PackedInt32Array(60, 64, 63), PackedInt32Array(62, 60, 65), PackedInt32Array(65, 60, 63), PackedInt32Array(61, 62, 66), PackedInt32Array(66, 62, 67), PackedInt32Array(68, 66, 67), PackedInt32Array(70, 69, 68), PackedInt32Array(67, 71, 68), PackedInt32Array(68, 71, 70), PackedInt32Array(75, 74, 72), PackedInt32Array(72, 74, 73), PackedInt32Array(79, 78, 76), PackedInt32Array(76, 78, 77), PackedInt32Array(81, 80, 82), PackedInt32Array(82, 80, 83), PackedInt32Array(69, 70, 80), PackedInt32Array(80, 70, 83), PackedInt32Array(81, 82, 84), PackedInt32Array(84, 82, 85), PackedInt32Array(64, 84, 63), PackedInt32Array(63, 84, 85), PackedInt32Array(89, 88, 86), PackedInt32Array(86, 88, 87), PackedInt32Array(93, 92, 90), PackedInt32Array(90, 92, 91), PackedInt32Array(97, 96, 94), PackedInt32Array(94, 96, 95), PackedInt32Array(101, 100, 98), PackedInt32Array(98, 100, 99), PackedInt32Array(105, 104, 102), PackedInt32Array(102, 104, 103), PackedInt32Array(109, 108, 106), PackedInt32Array(106, 108, 107), PackedInt32Array(113, 112, 110), PackedInt32Array(110, 112, 111), PackedInt32Array(117, 116, 114), PackedInt32Array(114, 116, 115), PackedInt32Array(121, 120, 118), PackedInt32Array(118, 120, 119), PackedInt32Array(54, 55, 122), PackedInt32Array(122, 55, 123), PackedInt32Array(37, 122, 36), PackedInt32Array(36, 122, 123), PackedInt32Array(127, 126, 124), PackedInt32Array(124, 126, 125), PackedInt32Array(131, 130, 128), PackedInt32Array(128, 130, 129), PackedInt32Array(133, 132, 134), PackedInt32Array(134, 132, 135), PackedInt32Array(136, 134, 137), PackedInt32Array(137, 134, 135), PackedInt32Array(140, 139, 138), PackedInt32Array(138, 136, 137), PackedInt32Array(137, 141, 138), PackedInt32Array(138, 141, 140), PackedInt32Array(145, 144, 142), PackedInt32Array(142, 144, 143), PackedInt32Array(133, 146, 132), PackedInt32Array(132, 146, 147), PackedInt32Array(149, 148, 146), PackedInt32Array(146, 148, 147), PackedInt32Array(139, 140, 150), PackedInt32Array(150, 140, 151), PackedInt32Array(152, 150, 151), PackedInt32Array(148, 149, 152), PackedInt32Array(148, 152, 153), PackedInt32Array(153, 152, 151)] [sub_resource type="BoxShape3D" id="BoxShape3D_57hjo"] size = Vector3(722.834, 289.347, 420.508) @@ -197,10 +197,10 @@ use_collision = true size = Vector3(25.4058, 1, 51.1521) [node name="CSGBox3D9" type="CSGBox3D" parent="NavigationRegion3D"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -39.099, 3.84766, -0.755195) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -39.099, 4.64942, -0.755195) material_override = ExtResource("3_qhpyo") use_collision = true -size = Vector3(7.59146, 8.69531, 39.0459) +size = Vector3(7.59146, 7.0918, 39.0459) [node name="CSGBox3D10" type="CSGBox3D" parent="NavigationRegion3D"] transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 2.14892, 0, -34.5955) @@ -209,10 +209,10 @@ use_collision = true size = Vector3(25.4058, 1, 51.1521) [node name="CSGBox3D11" type="CSGBox3D" parent="NavigationRegion3D"] -transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 2.28703, 3.84766, -31.9873) +transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 2.28703, 5.05762, -31.9873) material_override = ExtResource("3_qhpyo") use_collision = true -size = Vector3(7.59146, 8.69531, 39.0459) +size = Vector3(7.59146, 6.27539, 39.0459) [node name="CSGBox3D12" type="CSGBox3D" parent="NavigationRegion3D"] transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 38.5835, 7.62939e-06, 6.36862) @@ -221,10 +221,10 @@ use_collision = true size = Vector3(25.4058, 1, 51.1521) [node name="CSGBox3D13" type="CSGBox3D" parent="NavigationRegion3D"] -transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 38.7217, 3.84766, 8.97686) +transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 38.7217, 4.82715, 8.97686) material_override = ExtResource("3_qhpyo") use_collision = true -size = Vector3(7.59146, 8.69531, 39.0459) +size = Vector3(7.59146, 6.73633, 39.0459) [node name="CSGBox3D14" type="CSGBox3D" parent="NavigationRegion3D"] transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -5.54569, 7.62939e-06, 44.682) @@ -233,10 +233,10 @@ use_collision = true size = Vector3(25.4058, 1, 51.1521) [node name="CSGBox3D15" type="CSGBox3D" parent="NavigationRegion3D"] -transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -8.15719, 3.84766, 44.728) +transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -8.15719, 4.7732, 44.728) material_override = ExtResource("3_qhpyo") use_collision = true -size = Vector3(7.59146, 8.69531, 39.0459) +size = Vector3(7.59146, 6.84424, 39.0459) [node name="CSGBox3D4" type="CSGBox3D" parent="NavigationRegion3D"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.38403, 0, 14.1554) diff --git a/scripts/assassinate_vip.gd b/scripts/assassinate_vip.gd index 28225dd..e9ca296 100644 --- a/scripts/assassinate_vip.gd +++ b/scripts/assassinate_vip.gd @@ -2,20 +2,28 @@ extends Node class_name Modifier @export var time_to_kill : float = 30.0 +@export var percent_of_targets : float = 1.0 -@onready var level: Node3D = $"../../Level" +@onready var level_node: Node3D = $"../../Level" +@onready var scene_parent: Node3D = $"../.." @onready var marker = preload("res://enemyTargetMarker.tscn") @onready var level_control = get_tree().current_scene var target_enemy +var total_targets var active = false var timer func _ready() -> void: - await get_tree().create_timer(5).timeout - select_random_enemy() + await level_node.all_enemies_spawned SignalBus.connect("enemy_killed",check_killed_target) + SignalBus.connect("player_left_tube",begin_activity) timer = time_to_kill + scene_parent.tube_top.switch.active = false + scene_parent.tube_top.switch.label.text = str("Kill all vip \n targets to exit") + +func begin_activity(): + select_random_enemy() func _process(delta: float) -> void: if active: @@ -24,6 +32,7 @@ func _process(delta: float) -> void: timer -= delta update_timer("kill target") else: + level_control.last_hit = target_enemy level_control.die() active = false else: @@ -48,7 +57,7 @@ func add_marker_to_enemy(): instance_marker.global_position = target_enemy.global_position func select_random_enemy(): - var level_stuff = level.get_children() + var level_stuff = level_node.get_children() var enemies = [] for node in level_stuff: print(node) @@ -61,4 +70,8 @@ func select_random_enemy(): active = true print("TARGET ENEMY : ",target_enemy.name) else: - print("KILLED EM ALL") + activity_completed() + SignalBus.emit_signal("ui_timer_visibility",false) + +func activity_completed(): + scene_parent.tube_top.switch.active = true diff --git a/scripts/hud.gd b/scripts/hud.gd index 2d1950d..4bd0c80 100644 --- a/scripts/hud.gd +++ b/scripts/hud.gd @@ -48,6 +48,7 @@ func _ready() -> void: SignalBus.player_hit.connect(player_hit) SignalBus.ui_timer_update.connect(update_timer) + SignalBus.ui_timer_visibility.connect(toggle_timer_visibility) money_count = GameGlobals.money @@ -125,6 +126,9 @@ func _process(delta: float) -> void: spawn_notifs() wobble_items.position = hud_wobble(delta/Engine.time_scale) +func toggle_timer_visibility(timer_visible): + timer_counter.visible = timer_visible + func update_timer(label,timer): if timer_counter.visible == false: timer_counter.visible = true diff --git a/scripts/room_manager.gd b/scripts/room_manager.gd index 06e759a..3ca2161 100644 --- a/scripts/room_manager.gd +++ b/scripts/room_manager.gd @@ -1,5 +1,7 @@ extends Node +signal all_enemies_spawned + @export_group("Main") @export var room_lockdown : bool = false @export var start_enemies : int = 20 @@ -79,3 +81,4 @@ func spawn_enemies(): add_child(enemy) enemy.global_position = set_pos + emit_signal("all_enemies_spawned") diff --git a/scripts/signal_bus.gd b/scripts/signal_bus.gd index ae684e6..4d15ff8 100644 --- a/scripts/signal_bus.gd +++ b/scripts/signal_bus.gd @@ -18,6 +18,7 @@ signal king_killed() signal weapon_list_changed() ## LEVEL +signal player_left_tube() ##ENEMY signal suspicious_sound(position,loudness,max_distance) @@ -25,3 +26,4 @@ signal engaging_target(enemy,target_position) ##UI signal ui_timer_update(label,timer) +signal ui_timer_visibility(visible) diff --git a/scripts/switch_basic.gd b/scripts/switch_basic.gd index 0b71064..7653494 100644 --- a/scripts/switch_basic.gd +++ b/scripts/switch_basic.gd @@ -12,6 +12,7 @@ signal switch_changed @export var anim_player : AnimationPlayer var switched_on : bool +var active = true # Called when the node enters the scene tree for the first time. func _ready() -> void: @@ -22,14 +23,24 @@ func _ready() -> void: func switch(): - if toggle_enabled: - if switched_on == true: - switched_on = false - switch_changed.emit() - - if anim_player != null: - anim_player.play("off") - + if active: + if toggle_enabled: + if switched_on == true: + switched_on = false + switch_changed.emit() + + if anim_player != null: + anim_player.play("off") + + else: + switched_on = true + switch_changed.emit() + + if anim_player != null: + anim_player.play("on") + + if timer_enabled: + start_timer() else: switched_on = true switch_changed.emit() @@ -39,15 +50,6 @@ func switch(): if timer_enabled: start_timer() - else: - switched_on = true - switch_changed.emit() - - if anim_player != null: - anim_player.play("on") - - if timer_enabled: - start_timer() func start_timer(): await get_tree().create_timer(timer_duration).timeout diff --git a/scripts/switch_interactandshoot.gd b/scripts/switch_interactandshoot.gd index 5e78109..528c890 100644 --- a/scripts/switch_interactandshoot.gd +++ b/scripts/switch_interactandshoot.gd @@ -1,5 +1,7 @@ extends SwitchBasic +@export var label : Label3D + func interact(): switch() diff --git a/scripts/tube_top.gd b/scripts/tube_top.gd index 8ce3d15..cd646e3 100644 --- a/scripts/tube_top.gd +++ b/scripts/tube_top.gd @@ -2,6 +2,7 @@ extends Node3D class_name SpawnTube @export var level_bounds : LevelBounds +@export var switch : SwitchBasic var open = true var active = true @@ -24,6 +25,12 @@ func _on_player_detect_body_entered(body: Node3D) -> void: body.global_position = old_pos + +func _on_player_detect_body_exited(body: Node3D) -> void: + if body is Player: + SignalBus.emit_signal("player_left_tube") + + func _on_switch_1_switch_changed() -> void: if open: anim_player.play("close") diff --git a/tube_top.tscn b/tube_top.tscn index 48b3a57..d336374 100644 --- a/tube_top.tscn +++ b/tube_top.tscn @@ -202,8 +202,9 @@ shadow_mesh = SubResource("ArrayMesh_w3nmi") [sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_uc061"] data = PackedVector3Array(0, -400, -3.33149, 2.35572, 400, -2.35572, 0, 400, -3.33149, 0, -400, -3.33149, 2.35572, -400, -2.35572, 2.35572, 400, -2.35572, 2.35572, -400, -2.35572, 3.33149, 400, 0, 2.35572, 400, -2.35572, 2.35572, -400, -2.35572, 3.33149, -400, 0, 3.33149, 400, 0, 3.33149, -400, 0, 2.35572, 400, 2.35572, 3.33149, 400, 0, 3.33149, -400, 0, 2.35572, -400, 2.35572, 2.35572, 400, 2.35572, 2.35572, -400, 2.35572, 0, 400, 3.33149, 2.35572, 400, 2.35572, 2.35572, -400, 2.35572, 0, -400, 3.33149, 0, 400, 3.33149, 0, -400, 3.33149, -2.35572, 400, 2.35572, 0, 400, 3.33149, 0, -400, 3.33149, -2.35572, -400, 2.35572, -2.35572, 400, 2.35572, -2.35572, -400, 2.35572, -3.33149, 400, 0, -2.35572, 400, 2.35572, -2.35572, -400, 2.35572, -3.33149, -400, 0, -3.33149, 400, 0, -3.33149, -400, 0, -2.35572, 400, -2.35572, -3.33149, 400, 0, -3.33149, -400, 0, -2.35572, -400, -2.35572, -2.35572, 400, -2.35572, -2.35572, -400, -2.35572, 0, 400, -3.33149, -2.35572, 400, -2.35572, -2.35572, -400, -2.35572, 0, -400, -3.33149, 0, 400, -3.33149, 0, -400, -3.19149, 2.25673, 400, -2.25673, 2.25673, -400, -2.25673, 0, -400, -3.19149, 0, 400, -3.19149, 2.25673, 400, -2.25673, 2.25673, -400, -2.25673, 3.19149, 400, 0, 3.19149, -400, 0, 2.25673, -400, -2.25673, 2.25673, 400, -2.25673, 3.19149, 400, 0, 3.19149, -400, 0, 2.25673, 400, 2.25673, 2.25673, -400, 2.25673, 3.19149, -400, 0, 3.19149, 400, 0, 2.25673, 400, 2.25673, 2.25673, -400, 2.25673, 0, 400, 3.19149, 0, -400, 3.19149, 2.25673, -400, 2.25673, 2.25673, 400, 2.25673, 0, 400, 3.19149, 0, -400, 3.19149, -2.25673, 400, 2.25673, -2.25673, -400, 2.25673, 0, -400, 3.19149, 0, 400, 3.19149, -2.25673, 400, 2.25673, -2.25673, -400, 2.25673, -3.19149, 400, 0, -3.19149, -400, 0, -2.25673, -400, 2.25673, -2.25673, 400, 2.25673, -3.19149, 400, 0, -3.19149, -400, 0, -2.25673, 400, -2.25673, -2.25673, -400, -2.25673, -3.19149, -400, 0, -3.19149, 400, 0, -2.25673, 400, -2.25673, -2.25673, -400, -2.25673, 0, 400, -3.19149, 0, -400, -3.19149, -2.25673, -400, -2.25673, -2.25673, 400, -2.25673, 0, 400, -3.19149, 0, -400, -3.33149, 2.25673, -400, -2.25673, 2.35572, -400, -2.35572, 0, -400, -3.33149, 0, -400, -3.19149, 2.25673, -400, -2.25673, 2.35572, 400, -2.35572, 0, 400, -3.19149, 0, 400, -3.33149, 2.35572, 400, -2.35572, 2.25673, 400, -2.25673, 0, 400, -3.19149, 2.35572, -400, -2.35572, 3.19149, -400, 0, 3.33149, -400, 0, 2.35572, -400, -2.35572, 2.25673, -400, -2.25673, 3.19149, -400, 0, 3.33149, 400, 0, 2.25673, 400, -2.25673, 2.35572, 400, -2.35572, 3.33149, 400, 0, 3.19149, 400, 0, 2.25673, 400, -2.25673, 3.33149, -400, 0, 2.25673, -400, 2.25673, 2.35572, -400, 2.35572, 3.33149, -400, 0, 3.19149, -400, 0, 2.25673, -400, 2.25673, 2.35572, 400, 2.35572, 3.19149, 400, 0, 3.33149, 400, 0, 2.35572, 400, 2.35572, 2.25673, 400, 2.25673, 3.19149, 400, 0, 2.35572, -400, 2.35572, 0, -400, 3.19149, 0, -400, 3.33149, 2.35572, -400, 2.35572, 2.25673, -400, 2.25673, 0, -400, 3.19149, 0, 400, 3.33149, 2.25673, 400, 2.25673, 2.35572, 400, 2.35572, 0, 400, 3.33149, 0, 400, 3.19149, 2.25673, 400, 2.25673, 0, -400, 3.33149, -2.25673, -400, 2.25673, -2.35572, -400, 2.35572, 0, -400, 3.33149, 0, -400, 3.19149, -2.25673, -400, 2.25673, -2.35572, 400, 2.35572, 0, 400, 3.19149, 0, 400, 3.33149, -2.35572, 400, 2.35572, -2.25673, 400, 2.25673, 0, 400, 3.19149, -2.35572, -400, 2.35572, -3.19149, -400, 0, -3.33149, -400, 0, -2.35572, -400, 2.35572, -2.25673, -400, 2.25673, -3.19149, -400, 0, -3.33149, 400, 0, -2.25673, 400, 2.25673, -2.35572, 400, 2.35572, -3.33149, 400, 0, -3.19149, 400, 0, -2.25673, 400, 2.25673, -3.33149, -400, 0, -2.25673, -400, -2.25673, -2.35572, -400, -2.35572, -3.33149, -400, 0, -3.19149, -400, 0, -2.25673, -400, -2.25673, -2.35572, 400, -2.35572, -3.19149, 400, 0, -3.33149, 400, 0, -2.35572, 400, -2.35572, -2.25673, 400, -2.25673, -3.19149, 400, 0, -2.35572, -400, -2.35572, 0, -400, -3.19149, 0, -400, -3.33149, -2.35572, -400, -2.35572, -2.25673, -400, -2.25673, 0, -400, -3.19149, 0, 400, -3.33149, -2.25673, 400, -2.25673, -2.35572, 400, -2.35572, 0, 400, -3.33149, 0, 400, -3.19149, -2.25673, 400, -2.25673) -[node name="TubeTop" type="Node3D"] +[node name="TubeTop" type="Node3D" node_paths=PackedStringArray("switch")] script = ExtResource("1_vcnmj") +switch = NodePath("Switch1") [node name="TubeTop" type="MeshInstance3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.87957, 0) @@ -268,4 +269,5 @@ skeleton = NodePath("") shape = SubResource("ConcavePolygonShape3D_uc061") [connection signal="body_entered" from="PlayerDetect" to="." method="_on_player_detect_body_entered"] +[connection signal="body_exited" from="PlayerDetect" to="." method="_on_player_detect_body_exited"] [connection signal="switch_changed" from="Switch1" to="." method="_on_switch_1_switch_changed"]