From f2e6025b35d7e9bc9f01f40abb57d2d7f39ceb9a Mon Sep 17 00:00:00 2001 From: Marco Date: Sat, 15 Feb 2025 14:33:44 +0100 Subject: [PATCH] Marisa bullets --- Resources/BossPhases/Marisa/marisa_ns1.tres | 29 ++++++++++++++++ Scenes/Actors/Marisa.tscn | 5 +-- .../Bullets/enemyBullet_star_yellow.tscn | 29 ++++++++++++++++ Scenes/test.tscn | 3 +- Scripts/Interactables/Switch.cs | 7 ++-- .../Bullets/start_bullet_blue_small.aseprite | 3 ++ Sprites/Bullets/start_bullet_blue_small.png | 3 ++ .../start_bullet_blue_small.png.import | 34 +++++++++++++++++++ .../Bullets/start_bullet_green_small.aseprite | 3 ++ Sprites/Bullets/start_bullet_green_small.png | 3 ++ .../start_bullet_green_small.png.import | 34 +++++++++++++++++++ .../Bullets/start_bullet_red_small.aseprite | 3 ++ Sprites/Bullets/start_bullet_red_small.png | 3 ++ .../Bullets/start_bullet_red_small.png.import | 34 +++++++++++++++++++ .../start_bullet_yellow_small.aseprite | 3 ++ Sprites/Bullets/start_bullet_yellow_small.png | 3 ++ .../start_bullet_yellow_small.png.import | 34 +++++++++++++++++++ 17 files changed, 227 insertions(+), 6 deletions(-) create mode 100644 Resources/BossPhases/Marisa/marisa_ns1.tres create mode 100644 Scenes/Weapons/Bullets/enemyBullet_star_yellow.tscn create mode 100644 Sprites/Bullets/start_bullet_blue_small.aseprite create mode 100644 Sprites/Bullets/start_bullet_blue_small.png create mode 100644 Sprites/Bullets/start_bullet_blue_small.png.import create mode 100644 Sprites/Bullets/start_bullet_green_small.aseprite create mode 100644 Sprites/Bullets/start_bullet_green_small.png create mode 100644 Sprites/Bullets/start_bullet_green_small.png.import create mode 100644 Sprites/Bullets/start_bullet_red_small.aseprite create mode 100644 Sprites/Bullets/start_bullet_red_small.png create mode 100644 Sprites/Bullets/start_bullet_red_small.png.import create mode 100644 Sprites/Bullets/start_bullet_yellow_small.aseprite create mode 100644 Sprites/Bullets/start_bullet_yellow_small.png create mode 100644 Sprites/Bullets/start_bullet_yellow_small.png.import diff --git a/Resources/BossPhases/Marisa/marisa_ns1.tres b/Resources/BossPhases/Marisa/marisa_ns1.tres new file mode 100644 index 00000000..13d87958 --- /dev/null +++ b/Resources/BossPhases/Marisa/marisa_ns1.tres @@ -0,0 +1,29 @@ +[gd_resource type="Resource" script_class="BossPhase" load_steps=5 format=3 uid="uid://da1vjfavqs7u2"] + +[ext_resource type="PackedScene" uid="uid://c034favdy56p0" path="res://Scenes/Weapons/Bullets/enemyBullet_star_yellow.tscn" id="1_0bb8a"] +[ext_resource type="Script" path="res://Scripts/Resources/BossPhase.cs" id="1_7asq8"] +[ext_resource type="Script" path="res://Scripts/AttackPatterns/SpiralPattern.cs" id="1_ys2v3"] + +[sub_resource type="Resource" id="Resource_q4pcc"] +script = ExtResource("1_ys2v3") +BulletScene = ExtResource("1_0bb8a") +bulletSpeed = 30.0 +bulletCount = 16 +rotationSpeed = 4.0 +_rotationOffset = 0.0 +duration = 5.0 +burstInterval = 0.9 +spread = 360.0 +owner = 2 +_damageType = 0 +_bulletDamage = 1.0 +_timeModifiers = null +_targetPlayer = false +WaitForCompletion = true + +[resource] +script = ExtResource("1_7asq8") +PhaseName = "" +Threshold = 300 +PlayAnimation = false +Patterns = Array[Object]([SubResource("Resource_q4pcc")]) diff --git a/Scenes/Actors/Marisa.tscn b/Scenes/Actors/Marisa.tscn index be76b2cc..ebd42eff 100644 --- a/Scenes/Actors/Marisa.tscn +++ b/Scenes/Actors/Marisa.tscn @@ -1,6 +1,7 @@ -[gd_scene load_steps=13 format=3 uid="uid://c5fiv1nioghfb"] +[gd_scene load_steps=14 format=3 uid="uid://c5fiv1nioghfb"] [ext_resource type="Script" path="res://Scripts/Actors/Boss.cs" id="1_4dxms"] +[ext_resource type="Resource" uid="uid://da1vjfavqs7u2" path="res://Resources/BossPhases/Marisa/marisa_ns1.tres" id="2_q4m3q"] [ext_resource type="Texture2D" uid="uid://ch72faq5f0xqr" path="res://Sprites/Actors/Marisa_boss.png" id="4_jniuv"] [ext_resource type="PackedScene" uid="uid://bwlstkdibs7oc" path="res://Scenes/HUD/BossHud.tscn" id="6_r0018"] [ext_resource type="Texture2D" uid="uid://csuprfskdo1qp" path="res://Sprites/Portraits/Rumia.png" id="7_h84or"] @@ -26,7 +27,7 @@ collision_layer = 16 collision_mask = 9 script = ExtResource("1_4dxms") BossName = "Marisa" -Phases = Array[Resource]([]) +Phases = Array[Resource]([ExtResource("2_q4m3q")]) BossHudPrefab = ExtResource("6_r0018") _bossPortraitTexture = ExtResource("7_h84or") Health = 200.0 diff --git a/Scenes/Weapons/Bullets/enemyBullet_star_yellow.tscn b/Scenes/Weapons/Bullets/enemyBullet_star_yellow.tscn new file mode 100644 index 00000000..19b7c4a2 --- /dev/null +++ b/Scenes/Weapons/Bullets/enemyBullet_star_yellow.tscn @@ -0,0 +1,29 @@ +[gd_scene load_steps=4 format=3 uid="uid://c034favdy56p0"] + +[ext_resource type="Script" path="res://Scripts/Bullet.cs" id="1_l1hs7"] +[ext_resource type="Texture2D" uid="uid://bqunl602ko6b7" path="res://Sprites/Bullets/start_bullet_yellow_small.png" id="2_wvl35"] + +[sub_resource type="CircleShape2D" id="CircleShape2D_jxptd"] +radius = 2.23607 + +[node name="Bullet" type="Area2D" groups=["bullets"]] +collision_layer = 128 +collision_mask = 71 +script = ExtResource("1_l1hs7") +Speed = 200.0 +metadata/_edit_group_ = true + +[node name="Sprite2D" type="Sprite2D" parent="."] +texture = ExtResource("2_wvl35") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +shape = SubResource("CircleShape2D_jxptd") + +[node name="Node2D" type="Node2D" parent="."] +editor_description = "Player Bullet" + +[node name="VisibleOnScreenNotifier2D" type="VisibleOnScreenNotifier2D" parent="."] + +[connection signal="area_entered" from="." to="." method="_on_area_entered"] +[connection signal="body_entered" from="." to="." method="_on_body_entered"] +[connection signal="screen_exited" from="VisibleOnScreenNotifier2D" to="." method="_on_visible_on_screen_notifier_2d_screen_exited"] diff --git a/Scenes/test.tscn b/Scenes/test.tscn index 440eec75..2b7d41b2 100644 --- a/Scenes/test.tscn +++ b/Scenes/test.tscn @@ -163,8 +163,9 @@ position = Vector2(-565, -399) [node name="Marisa" parent="Factory Tilemaps/Debug Room" instance=ExtResource("50_mp5ma")] position = Vector2(-615, -565) -[node name="ControlPad" parent="Factory Tilemaps/Debug Room" instance=ExtResource("12_hfkf1")] +[node name="ControlPad" parent="Factory Tilemaps/Debug Room" node_paths=PackedStringArray("Target") instance=ExtResource("12_hfkf1")] position = Vector2(-666, -491) +Target = NodePath("../Marisa") [node name="Label2" type="Label" parent="Factory Tilemaps/Debug Room"] offset_left = -687.0 diff --git a/Scripts/Interactables/Switch.cs b/Scripts/Interactables/Switch.cs index b2253444..8ff92ddc 100644 --- a/Scripts/Interactables/Switch.cs +++ b/Scripts/Interactables/Switch.cs @@ -4,13 +4,14 @@ namespace Cirno.Scripts.Interactables; public partial class Switch : Interactable { - [Export] public Activable Target { get; set; } + [Export] public Node2D Target { get; set; } + [Export] public ActivationType ActivationType { get; set; } = ActivationType.Toggle; public override bool Activate() { - if (MeetsRequirements()) + if (MeetsRequirements() && Target is IActivable activable) { - Target?.Activate(); + activable?.Activate(ActivationType); return true; } diff --git a/Sprites/Bullets/start_bullet_blue_small.aseprite b/Sprites/Bullets/start_bullet_blue_small.aseprite new file mode 100644 index 00000000..78600bd2 --- /dev/null +++ b/Sprites/Bullets/start_bullet_blue_small.aseprite @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:90c0dc8711a6442721c652ca45bf14c3921a9dd5585ff4860bd5b0ab3695cc71 +size 597 diff --git a/Sprites/Bullets/start_bullet_blue_small.png b/Sprites/Bullets/start_bullet_blue_small.png new file mode 100644 index 00000000..3e56ae9d --- /dev/null +++ b/Sprites/Bullets/start_bullet_blue_small.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:214261f636e1731bce99f8975e22990406553951632ac49e140b248d4c35634d +size 154 diff --git a/Sprites/Bullets/start_bullet_blue_small.png.import b/Sprites/Bullets/start_bullet_blue_small.png.import new file mode 100644 index 00000000..ac45345d --- /dev/null +++ b/Sprites/Bullets/start_bullet_blue_small.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dl3if4b7k3g64" +path="res://.godot/imported/start_bullet_blue_small.png-04c21d32cfaf2a3dd1fc2db4116c3e0b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Sprites/Bullets/start_bullet_blue_small.png" +dest_files=["res://.godot/imported/start_bullet_blue_small.png-04c21d32cfaf2a3dd1fc2db4116c3e0b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/Sprites/Bullets/start_bullet_green_small.aseprite b/Sprites/Bullets/start_bullet_green_small.aseprite new file mode 100644 index 00000000..a8b35bc0 --- /dev/null +++ b/Sprites/Bullets/start_bullet_green_small.aseprite @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c0d2a1dea30131130bd9b5e0838695e3b612f36c40cd933b7c4d6f931fcf7584 +size 597 diff --git a/Sprites/Bullets/start_bullet_green_small.png b/Sprites/Bullets/start_bullet_green_small.png new file mode 100644 index 00000000..83b91f0e --- /dev/null +++ b/Sprites/Bullets/start_bullet_green_small.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bbec5d80f2e6ebc9ff07edaf2fabfa3f3fceaf7ad1e8b3827b2c3b8c6dcfeaf6 +size 157 diff --git a/Sprites/Bullets/start_bullet_green_small.png.import b/Sprites/Bullets/start_bullet_green_small.png.import new file mode 100644 index 00000000..cc1f5040 --- /dev/null +++ b/Sprites/Bullets/start_bullet_green_small.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bfkll8y4jkeuy" +path="res://.godot/imported/start_bullet_green_small.png-4a782ff116b02e8d0695955b1fb897dd.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Sprites/Bullets/start_bullet_green_small.png" +dest_files=["res://.godot/imported/start_bullet_green_small.png-4a782ff116b02e8d0695955b1fb897dd.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/Sprites/Bullets/start_bullet_red_small.aseprite b/Sprites/Bullets/start_bullet_red_small.aseprite new file mode 100644 index 00000000..f14a217f --- /dev/null +++ b/Sprites/Bullets/start_bullet_red_small.aseprite @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1e62e78481ec0f19ab45795c3345f57eea9c4abe1d9e7d7b79f0fa69e2c58ded +size 597 diff --git a/Sprites/Bullets/start_bullet_red_small.png b/Sprites/Bullets/start_bullet_red_small.png new file mode 100644 index 00000000..2213bcca --- /dev/null +++ b/Sprites/Bullets/start_bullet_red_small.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fd6ab57f432d7ce614d2f82d5a6275a23c5d2d425fb6b01b780bedbe69263142 +size 157 diff --git a/Sprites/Bullets/start_bullet_red_small.png.import b/Sprites/Bullets/start_bullet_red_small.png.import new file mode 100644 index 00000000..e1bbaeec --- /dev/null +++ b/Sprites/Bullets/start_bullet_red_small.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b21en366su81x" +path="res://.godot/imported/start_bullet_red_small.png-03fa3e17ba6ae16c0d360eb0c5d80761.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Sprites/Bullets/start_bullet_red_small.png" +dest_files=["res://.godot/imported/start_bullet_red_small.png-03fa3e17ba6ae16c0d360eb0c5d80761.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/Sprites/Bullets/start_bullet_yellow_small.aseprite b/Sprites/Bullets/start_bullet_yellow_small.aseprite new file mode 100644 index 00000000..efb709b0 --- /dev/null +++ b/Sprites/Bullets/start_bullet_yellow_small.aseprite @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d37939997ce8e621cb309a5512c209a3fd53a3da344d42f31a11234c77b9ab9a +size 597 diff --git a/Sprites/Bullets/start_bullet_yellow_small.png b/Sprites/Bullets/start_bullet_yellow_small.png new file mode 100644 index 00000000..566a79c4 --- /dev/null +++ b/Sprites/Bullets/start_bullet_yellow_small.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c3081288f092e15dc292e214d6a74d273ec212dd3e0ca994670f8206b0fcaaea +size 158 diff --git a/Sprites/Bullets/start_bullet_yellow_small.png.import b/Sprites/Bullets/start_bullet_yellow_small.png.import new file mode 100644 index 00000000..9275dd31 --- /dev/null +++ b/Sprites/Bullets/start_bullet_yellow_small.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bqunl602ko6b7" +path="res://.godot/imported/start_bullet_yellow_small.png-9f18a1d7ab0d368a2994e538b71c8bae.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Sprites/Bullets/start_bullet_yellow_small.png" +dest_files=["res://.godot/imported/start_bullet_yellow_small.png-9f18a1d7ab0d368a2994e538b71c8bae.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1