Blooper.tscn 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. [gd_scene load_steps=16 format=3 uid="uid://b6drci0vml1as"]
  2. [ext_resource type="Script" uid="uid://coocdv3t4548x" path="res://Scripts/Classes/Entities/Enemies/Blooper.gd" id="1_qryyi"]
  3. [ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_6d25s"]
  4. [ext_resource type="Script" uid="uid://caq1qiwmy0mox" path="res://Scripts/Parts/BetterAnimatedSprite.gd" id="3_vrg07"]
  5. [ext_resource type="Texture2D" uid="uid://c25807pd3b6fh" path="res://Assets/Sprites/Enemies/Blooper.png" id="3_xxfro"]
  6. [ext_resource type="Script" uid="uid://chj8hu207lrh" path="res://Scripts/Classes/Components/EnemyPlayerDetection.gd" id="4_n7b35"]
  7. [ext_resource type="JSON" path="res://Assets/Sprites/Enemies/Blooper.json" id="4_vrg07"]
  8. [ext_resource type="Script" uid="uid://dri2d5jtu0fbq" path="res://Scripts/Classes/Components/FireballDetection.gd" id="5_aukyh"]
  9. [ext_resource type="Script" uid="uid://c3gg32ivrlq8n" path="res://Scripts/Classes/Components/GibSpawner.gd" id="6_mpdyb"]
  10. [ext_resource type="Script" uid="uid://5octqlf4ohel" path="res://Scripts/Classes/Components/ScoreNoteSpawner.gd" id="7_mpdyb"]
  11. [ext_resource type="Script" uid="uid://d4a7yp6e55u8t" path="res://Scripts/Classes/Components/TrackJoint.gd" id="10_e03yh"]
  12. [ext_resource type="Script" uid="uid://ba18grqjixded" path="res://Scripts/Classes/Components/ExplosionDetection.gd" id="11_2xaie"]
  13. [sub_resource type="AtlasTexture" id="AtlasTexture_aukyh"]
  14. atlas = ExtResource("3_xxfro")
  15. region = Rect2(16, 0, 16, 24)
  16. [sub_resource type="AtlasTexture" id="AtlasTexture_mpdyb"]
  17. atlas = ExtResource("3_xxfro")
  18. region = Rect2(0, 0, 16, 24)
  19. [sub_resource type="SpriteFrames" id="SpriteFrames_6d25s"]
  20. animations = [{
  21. "frames": [{
  22. "duration": 1.0,
  23. "texture": SubResource("AtlasTexture_aukyh")
  24. }],
  25. "loop": true,
  26. "name": &"Fall",
  27. "speed": 5.0
  28. }, {
  29. "frames": [{
  30. "duration": 1.0,
  31. "texture": SubResource("AtlasTexture_mpdyb")
  32. }],
  33. "loop": true,
  34. "name": &"Rise",
  35. "speed": 5.0
  36. }]
  37. [sub_resource type="RectangleShape2D" id="RectangleShape2D_qryyi"]
  38. size = Vector2(8, 8)
  39. [node name="Blooper" type="CharacterBody2D" node_paths=PackedStringArray("on_screen_enabler", "score_note_adder") groups=["Enemies"]]
  40. script = ExtResource("1_qryyi")
  41. on_screen_enabler = NodePath("VisibleOnScreenEnabler2D")
  42. score_note_adder = NodePath("ScoreNoteSpawner")
  43. metadata/_custom_type_script = "uid://bpydbpyjk1mt4"
  44. [node name="Sprite" type="AnimatedSprite2D" parent="."]
  45. sprite_frames = SubResource("SpriteFrames_6d25s")
  46. animation = &"Rise"
  47. autoplay = "Fall"
  48. script = ExtResource("3_vrg07")
  49. do_offset = false
  50. metadata/_custom_type_script = "uid://caq1qiwmy0mox"
  51. [node name="ResourceSetterNew" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
  52. script = ExtResource("3_6d25s")
  53. node_to_affect = NodePath("..")
  54. property_name = "sprite_frames"
  55. resource_json = ExtResource("4_vrg07")
  56. metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
  57. [node name="Hitbox" type="Area2D" parent="."]
  58. position = Vector2(0, 4)
  59. [node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox"]
  60. position = Vector2(0, -5)
  61. shape = SubResource("RectangleShape2D_qryyi")
  62. [node name="EnemyPlayerDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
  63. script = ExtResource("4_n7b35")
  64. hitbox = NodePath("../Hitbox")
  65. metadata/_custom_type_script = "uid://chj8hu207lrh"
  66. [node name="FireballDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
  67. script = ExtResource("5_aukyh")
  68. hitbox = NodePath("../Hitbox")
  69. metadata/_custom_type_script = "uid://dri2d5jtu0fbq"
  70. [node name="GibSpawner" type="Node" parent="." node_paths=PackedStringArray("visuals")]
  71. script = ExtResource("6_mpdyb")
  72. visuals = NodePath("../Sprite")
  73. metadata/_custom_type_script = "uid://c3gg32ivrlq8n"
  74. [node name="VisibleOnScreenEnabler2D" type="VisibleOnScreenEnabler2D" parent="."]
  75. [node name="ScoreNoteSpawner" type="Node" parent="."]
  76. script = ExtResource("7_mpdyb")
  77. add_score = true
  78. metadata/_custom_type_script = "uid://5octqlf4ohel"
  79. [node name="TrackJoint" type="Node" parent="."]
  80. script = ExtResource("10_e03yh")
  81. offset = Vector2(0, 0)
  82. metadata/_custom_type_script = "uid://d4a7yp6e55u8t"
  83. [node name="ExplosionDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
  84. script = ExtResource("11_2xaie")
  85. hitbox = NodePath("../Hitbox")
  86. metadata/_custom_type_script = "uid://ba18grqjixded"
  87. [connection signal="killed" from="." to="GibSpawner" method="summon_gib"]
  88. [connection signal="invincible_player_hit" from="EnemyPlayerDetection" to="." method="die_from_object"]
  89. [connection signal="invincible_player_hit" from="EnemyPlayerDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [200]]
  90. [connection signal="player_hit" from="EnemyPlayerDetection" to="." method="damage_player"]
  91. [connection signal="player_stomped_on" from="EnemyPlayerDetection" to="GibSpawner" method="stomp_die"]
  92. [connection signal="fireball_hit" from="FireballDetection" to="." method="die_from_object"]
  93. [connection signal="fireball_hit" from="FireballDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [200]]
  94. [connection signal="explosion_entered" from="ExplosionDetection" to="." method="die_from_object"]
  95. [connection signal="explosion_entered" from="ExplosionDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [200]]