Redesigned bullet emitters

This commit is contained in:
MaddoScientisto 2025-03-14 23:04:59 +01:00
commit 7b24e47739
16 changed files with 306 additions and 28 deletions

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=77 format=4 uid="uid://6a6tjohypmmb"]
[gd_scene load_steps=81 format=4 uid="uid://6a6tjohypmmb"]
[ext_resource type="Script" uid="uid://doxmbokehw8ci" path="res://Scripts/GameManager.cs" id="1_t2k72"]
[ext_resource type="PackedScene" uid="uid://c4pr2707hbeph" path="res://Scenes/Actors/fsm_player.tscn" id="2_2jsgm"]
@ -38,13 +38,16 @@
[ext_resource type="PackedScene" uid="uid://dcbcyp1qogcl0" path="res://Scenes/Props/BigTankHorizontal.tscn" id="30_i668q"]
[ext_resource type="PackedScene" uid="uid://b0gpbkxdfbnjh" path="res://Scenes/Actors/ForceField_Horizontal.tscn" id="31_hvfip"]
[ext_resource type="AudioStream" uid="uid://blohh20jktoyo" path="res://SFX/270641__phantastonia__alarm2.wav" id="31_nb1db"]
[ext_resource type="PackedScene" uid="uid://b7gkxlll3b1eg" path="res://Scenes/Activable/FloorEmitter.tscn" id="33_6h3t3"]
[ext_resource type="Texture2D" uid="uid://r2bdhalt8sih" path="res://Sprites/Items/ofudagun_test.png" id="33_v8wj6"]
[ext_resource type="PackedScene" uid="uid://dre2wvw4pa3hc" path="res://Scenes/Weapons/Bullets/enemyBullet_mid_blue.tscn" id="35_owyq0"]
[ext_resource type="Script" uid="uid://dslyrfcej3g2n" path="res://Scripts/Resources/BulletResource.cs" id="36_qo7ri"]
[ext_resource type="PackedScene" uid="uid://b0k2grrc8xp1l" path="res://Scenes/Props/BigTank.tscn" id="37_47klv"]
[sub_resource type="Resource" id="Resource_6wo78"]
script = ExtResource("4_s1vkf")
EggIndex = 0
StartingEquipment = [ExtResource("3_mqt4u")]
StartingEquipment = Array[ExtResource("3_hw1so")]([ExtResource("3_mqt4u")])
[sub_resource type="Resource" id="Resource_s23f3"]
script = ExtResource("14_s23f3")
@ -288,6 +291,20 @@ animations = [{
"speed": 5.0
}]
[sub_resource type="Resource" id="Resource_5j8ks"]
script = ExtResource("36_qo7ri")
BulletScene = ExtResource("35_owyq0")
BulletSpeed = 100.0
Direction = Vector2(1, 0)
BulletDamage = 4.0
LifeTime = 10.0
DestroyOnCollision = true
Owner = 2
DamageType = 0
Controllable = false
TimeModifiers = null
metadata/_custom_type_script = "uid://dslyrfcej3g2n"
[node name="GameScene" type="Node2D"]
script = ExtResource("1_t2k72")
PlayerTemplate = ExtResource("2_2jsgm")
@ -317,7 +334,7 @@ metadata/_edit_lock_ = true
[node name="Props" type="TileMapLayer" parent="Tilemaps" groups=["Solid"]]
y_sort_enabled = true
tile_map_data = PackedByteArray("AAARABEAAQAAAAAAAgASABEAAQAAAAAAAgAVABQAAQAAAAAAAgAVABEAAQAAAAAADAAVABIAAQAAAAAADAAUABEAAQAAAAAADQAKABAAAAAGAAAAAAALABAAAAAHAAAAAAAHABAAAAAGAAAAAAAIABAAAAAHAAAAAAAFABAAAQAAAAAAAgAGABAAAQAAAAAAAgADABUAAQAAAAAAAQADABYAAQAAAAAAAQAEABcAAQAAAAAADgADABcAAQAAAAAAAQATABEAAQAAAAAADwAVABMAAQAAAAAADwADABgAAQAAAAAADgAEABgAAQAAAAAADgALABgAAQAAAAAACQAKABgAAQAAAAAADwALABcAAQAAAAAAAQAJABgAAQAAAAAAEAAIABgAAQAAAAAAEAADABMAAQAAAAAAEAADABQAAQAAAAAAEAAKAB4AAQAAAAAAEAALAB4AAQAAAAAAEAACAB4AAQAAAAAAEAADAB4AAQAAAAAAAQALAB8AAQAAAAAAAQAJACMAAQAAAAAAAgAKACMAAQAAAAAAAgALACMAAQAAAAAACQAIACMAAQAAAAAADAAEACMAAQAAAAAADAAHACMAAQAAAAAAEAADACMAAQAAAAAADQAFACMAAQAAAAAADgAGACMAAQAAAAAAEAAJABAAAQAAAAAAEQACACAAAAAGAAMAAAANAB8AAQAAAAAACQAUACEAAQAAAAAAEAANACEAAQAAAAAAEAAGABMAAAAIAAYAAAAGABQAAAAIAAYAAAAHABUAAAAHAAUAAAAIABUAAAAHAAUAAAAJABMAAAAGAAYAAAAJABQAAAAGAAYAAAAHABIAAAAHAAcAAAAIABIAAAAHAAcAAAAHABMAAQAAAAAAAQAHABQAAQAAAAAAAQAIABMAAQAAAAAAAQAIABQAAQAAAAAAAQAVACAAAAAIAAYAAAAXAB8AAAAIAAYAAAAXACAAAAAIAAYAAAAXACEAAAAIAAYAAAAXACIAAAAIAAYAAAAYACMAAAAHAAUAAAAZACMAAAAHAAUAAAAaACMAAAAHAAUAAAAbACMAAAAHAAUAAAAcACMAAAAHAAUAAAAdACMAAAAHAAUAAAAeAB8AAAAGAAYAAAAeACAAAAAGAAYAAAAeACEAAAAGAAYAAAAeACIAAAAGAAYAAAAYAB4AAAAHAAcAAAAZAB4AAAAHAAcAAAAaAB4AAAAHAAcAAAAbAB4AAAAHAAcAAAAcAB4AAAAHAAcAAAAdAB4AAAAHAAcAAAAfAB0AAQAAAAAADgAVAB4AAAAKAA4AAAAcABsAAAAKAAQAAAAZABsAAAAKAAQAAAAHABwAAAAJAAwAAAAHAB0AAAAJAA0AAAAMABEAAAAJAAwAAAAMABIAAAAJAA0AAAAEABwAAAAKAAwAAAAEAB0AAAAKAA0AAAABAB8AAAAKAAwAAAABACAAAAAKAA0AAAAQABEAAAAKAAwAAAAQABIAAAAKAA0AAAD7/x0AAAAKAAwAAAD7/x4AAAAKAA0AAAD+/x0AAAAJAAwAAAD+/x4AAAAJAA0AAAD//x8AAAAJAAwAAAD//yAAAAAJAA0AAAAMAB4AAAAKAA4AAAAMAB8AAAAKAA8AAAAVAB8AAAAKAA8AAAD6/yAAAAAMAAQAAAD9/yMAAAAGAAwAAAD9/yQAAAAGAAwAAAD9/yUAAAAHAAsAAAD+/yUAAAAHAAsAAADz/yAAAAAHAAsAAAD0/yAAAAAHAAsAAAD1/yAAAAAHAAsAAAD2/yAAAAAHAAsAAAD3/yAAAAAHAAsAAAD4/yAAAAAHAAsAAAD5/yAAAAAHAAsAAADz/x8AAAAGAAwAAADz/x4AAAAGAAwAAAD9/yEAAAAGAAYAAAD9/yIAAAAGAAYAAAD7/yAAAAAHAAcAAAD8/yAAAAAHAAcAAAAKABMAAAANAAgAAAAKABQAAAANAAkAAAALABMAAAAOAAgAAAALABQAAAAOAAkAAAAXACMAAAAEAA8AAAAeAB4AAAAFAA4AAAAeACMAAAAFAA8AAAAXAB4AAAAEAA4AAAD9/yAAAAAFAA4AAAAJABIAAAAFAA4AAAAGABIAAAAEAA4AAAAGABUAAAAEAA8AAAAJABUAAAAFAA8AAADV/x8AAAAJAAwAAADV/yAAAAAJAA0AAADi/x8AAAAKAAwAAADi/yAAAAAKAA0AAADr/xAAAAAKAAwAAADr/xEAAAAKAA0AAADq/xAAAAAJAAwAAADq/xEAAAAJAA0AAADV/x0AAAAGAAYAAADV/x4AAAAGAAYAAADT/xwAAAAHAAcAAADU/xwAAAAHAAcAAADV/xwAAAAFAA4AAAD6/yMAAAAIAAYAAAD6/yQAAAAIAAYAAAD7/yUAAAAHAAUAAAD8/yUAAAAHAAUAAAD6/yUAAAAEAA8AAADT/xkAAAAHAAsAAADU/xkAAAAHAAsAAADV/xkAAAAHAAsAAADW/xkAAAAHAAsAAADX/xkAAAAHAAsAAADY/xkAAAAHAAsAAADZ/xkAAAAHAAsAAADa/xkAAAAHAAsAAADb/xkAAAAHAAsAAADd/w8AAAAIAAwAAADd/xAAAAAIAAwAAADd/xEAAAAIAAwAAADd/xIAAAAIAAwAAADd/xMAAAAIAAwAAADd/xQAAAAIAAwAAADd/xUAAAAIAAwAAADc/xkAAAAHAAsAAADd/xkAAAAHAAsAAADd/xYAAAAHAAsAAAA=")
tile_map_data = PackedByteArray("AAARABEAAQAAAAAAAgASABEAAQAAAAAAAgAVABQAAQAAAAAAAgAVABEAAQAAAAAADAAVABIAAQAAAAAADAAUABEAAQAAAAAADQAKABAAAAAGAAAAAAALABAAAAAHAAAAAAAHABAAAAAGAAAAAAAIABAAAAAHAAAAAAAFABAAAQAAAAAAAgAGABAAAQAAAAAAAgADABUAAQAAAAAAAQADABYAAQAAAAAAAQAEABcAAQAAAAAADgADABcAAQAAAAAAAQATABEAAQAAAAAADwAVABMAAQAAAAAADwADABgAAQAAAAAADgAEABgAAQAAAAAADgALABgAAQAAAAAACQAKABgAAQAAAAAADwALABcAAQAAAAAAAQAJABgAAQAAAAAAEAAIABgAAQAAAAAAEAADABMAAQAAAAAAEAADABQAAQAAAAAAEAAKAB4AAQAAAAAAEAALAB4AAQAAAAAAEAACAB4AAQAAAAAAEAADAB4AAQAAAAAAAQALAB8AAQAAAAAAAQAJACMAAQAAAAAAAgAKACMAAQAAAAAAAgALACMAAQAAAAAACQAIACMAAQAAAAAADAAEACMAAQAAAAAADAAHACMAAQAAAAAAEAADACMAAQAAAAAADQAFACMAAQAAAAAADgAGACMAAQAAAAAAEAAJABAAAQAAAAAAEQACACAAAAAGAAMAAAANAB8AAQAAAAAACQAUACEAAQAAAAAAEAANACEAAQAAAAAAEAAGABMAAAAIAAYAAAAGABQAAAAIAAYAAAAHABUAAAAHAAUAAAAIABUAAAAHAAUAAAAJABMAAAAGAAYAAAAJABQAAAAGAAYAAAAHABIAAAAHAAcAAAAIABIAAAAHAAcAAAAHABMAAQAAAAAAAQAHABQAAQAAAAAAAQAIABMAAQAAAAAAAQAIABQAAQAAAAAAAQAVACAAAAAIAAYAAAAXAB8AAAAIAAYAAAAXACAAAAAIAAYAAAAXACEAAAAIAAYAAAAXACIAAAAIAAYAAAAYACMAAAAHAAUAAAAZACMAAAAHAAUAAAAaACMAAAAHAAUAAAAbACMAAAAHAAUAAAAcACMAAAAHAAUAAAAdACMAAAAHAAUAAAAeAB8AAAAGAAYAAAAeACAAAAAGAAYAAAAeACEAAAAGAAYAAAAeACIAAAAGAAYAAAAYAB4AAAAHAAcAAAAZAB4AAAAHAAcAAAAaAB4AAAAHAAcAAAAbAB4AAAAHAAcAAAAcAB4AAAAHAAcAAAAdAB4AAAAHAAcAAAAfAB0AAQAAAAAADgAVAB4AAAAKAA4AAAAcABsAAAAKAAQAAAAZABsAAAAKAAQAAAAHABwAAAAJAAwAAAAHAB0AAAAJAA0AAAAMABEAAAAJAAwAAAAMABIAAAAJAA0AAAAEABwAAAAKAAwAAAAEAB0AAAAKAA0AAAABAB8AAAAKAAwAAAABACAAAAAKAA0AAAAQABEAAAAKAAwAAAAQABIAAAAKAA0AAAD7/x0AAAAKAAwAAAD7/x4AAAAKAA0AAAD+/x0AAAAJAAwAAAD+/x4AAAAJAA0AAAD//x8AAAAJAAwAAAD//yAAAAAJAA0AAAAMAB4AAAAKAA4AAAAMAB8AAAAKAA8AAAAVAB8AAAAKAA8AAAD6/yAAAAAMAAQAAAD9/yMAAAAGAAwAAAD9/yQAAAAGAAwAAAD9/yUAAAAHAAsAAAD+/yUAAAAHAAsAAADz/yAAAAAHAAsAAAD0/yAAAAAHAAsAAAD1/yAAAAAHAAsAAAD2/yAAAAAHAAsAAAD3/yAAAAAHAAsAAAD4/yAAAAAHAAsAAAD5/yAAAAAHAAsAAADz/x8AAAAGAAwAAADz/x4AAAAGAAwAAAD9/yEAAAAGAAYAAAD9/yIAAAAGAAYAAAD7/yAAAAAHAAcAAAD8/yAAAAAHAAcAAAAKABMAAAANAAgAAAAKABQAAAANAAkAAAALABMAAAAOAAgAAAALABQAAAAOAAkAAAAXACMAAAAEAA8AAAAeAB4AAAAFAA4AAAAeACMAAAAFAA8AAAAXAB4AAAAEAA4AAAD9/yAAAAAFAA4AAAAJABIAAAAFAA4AAAAGABIAAAAEAA4AAAAGABUAAAAEAA8AAAAJABUAAAAFAA8AAADV/x8AAAAJAAwAAADV/yAAAAAJAA0AAADi/x8AAAAKAAwAAADi/yAAAAAKAA0AAADr/xAAAAAKAAwAAADr/xEAAAAKAA0AAADq/xAAAAAJAAwAAADq/xEAAAAJAA0AAADV/x0AAAAGAAYAAADV/x4AAAAGAAYAAADT/xwAAAAHAAcAAADU/xwAAAAHAAcAAADV/xwAAAAFAA4AAAD6/yMAAAAIAAYAAAD6/yQAAAAIAAYAAAD7/yUAAAAHAAUAAAD8/yUAAAAHAAUAAAD6/yUAAAAEAA8AAADT/xkAAAAHAAsAAADU/xkAAAAHAAsAAADV/xkAAAAHAAsAAADW/xkAAAAHAAsAAADX/xkAAAAHAAsAAADY/xkAAAAHAAsAAADZ/xkAAAAHAAsAAADa/xkAAAAHAAsAAADb/xkAAAAHAAsAAADd/w8AAAAIAAwAAADd/xAAAAAIAAwAAADd/xEAAAAIAAwAAADd/xIAAAAIAAwAAADd/xMAAAAIAAwAAADd/xQAAAAIAAwAAADd/xUAAAAIAAwAAADc/xkAAAAHAAsAAADd/xkAAAAHAAsAAADd/xYAAAAHAAsAAAD3/ysAAAAKAAwAAAD3/ywAAAAKAA0AAADy/ysAAAAJAAwAAADy/ywAAAAJAA0AAAA=")
tile_set = ExtResource("5_06rc0")
metadata/_edit_lock_ = true
@ -327,6 +344,15 @@ metadata/_edit_lock_ = true
[node name="Teleporter" parent="Tilemaps/Actors" instance=ExtResource("6_e12id")]
position = Vector2(311, 304)
[node name="DebugTeleporter" parent="Tilemaps/Actors" node_paths=PackedStringArray("Target") instance=ExtResource("6_e12id")]
position = Vector2(323.708, 324.168)
IsEnabled = true
Target = NodePath("../DebugTeleporterDestination")
[node name="DebugTeleporterDestination" parent="Tilemaps/Actors" instance=ExtResource("6_e12id")]
position = Vector2(-72.1223, 735.098)
Invisible = true
[node name="Vials" type="Sprite2D" parent="Tilemaps/Actors"]
position = Vector2(134, 259)
texture = ExtResource("9_j5c74")
@ -374,6 +400,7 @@ Events = Array[ExtResource("14_hvfip")]([SubResource("Resource_mq37i")])
position = Vector2(264, 482)
BulletResource = ExtResource("22_uaqq6")
EmitCoolDown = 0.5
BurstCoolDown = 0.0
[node name="WallEmitter3" parent="Tilemaps/Actors" instance=ExtResource("21_qi6uc")]
position = Vector2(456, 455)
@ -384,6 +411,7 @@ EmitCoolDown = 0.5
position = Vector2(312, 482)
BulletResource = ExtResource("22_uaqq6")
EmitCoolDown = 0.5
BurstCoolDown = 0.0
[node name="Elevator" parent="Tilemaps/Actors" instance=ExtResource("23_577wb")]
position = Vector2(-64, 576)
@ -443,7 +471,7 @@ position = Vector2(-274, 530)
[node name="SwitchBox" parent="Tilemaps/Actors" node_paths=PackedStringArray("Targets") instance=ExtResource("30_47klv")]
position = Vector2(-152, 707)
StartingState = 0
Targets = [NodePath("../HorizontalForceField")]
Targets = [NodePath("../HorizontalForceField"), NodePath("../FloorEmitter"), NodePath("../FloorEmitter2"), NodePath("../FloorEmitter3")]
[node name="HorizontalForceField" parent="Tilemaps/Actors" instance=ExtResource("31_hvfip")]
position = Vector2(-48, 480)
@ -455,6 +483,36 @@ autoplay = "default"
frame = 22
frame_progress = 0.83544
[node name="FloorEmitter" parent="Tilemaps/Actors" instance=ExtResource("33_6h3t3")]
position = Vector2(-97, 661)
BulletResource = SubResource("Resource_5j8ks")
InvertSignal = true
BurstCoolDown = 0.7
Spread = 360.0
Count = 8
RotationSpeed = 5.0
BulletsPerBurst = 4
[node name="FloorEmitter2" parent="Tilemaps/Actors" instance=ExtResource("33_6h3t3")]
position = Vector2(-170.149, 591.864)
BulletResource = SubResource("Resource_5j8ks")
InvertSignal = true
BurstCoolDown = 0.7
Spread = 360.0
Count = 8
RotationSpeed = 5.0
BulletsPerBurst = 4
[node name="FloorEmitter3" parent="Tilemaps/Actors" instance=ExtResource("33_6h3t3")]
position = Vector2(-282.728, 648.41)
BulletResource = SubResource("Resource_5j8ks")
InvertSignal = true
BurstCoolDown = 0.7
Spread = 360.0
Count = 8
RotationSpeed = 5.0
BulletsPerBurst = 4
[node name="CameraController" type="Camera2D" parent="."]
script = ExtResource("7_lxkiw")
pixel_snap = false