diff --git a/objects/enemy/enemy_arrow.tscn b/objects/enemy/enemy_arrow.tscn new file mode 100644 index 0000000..7e1dc44 --- /dev/null +++ b/objects/enemy/enemy_arrow.tscn @@ -0,0 +1,74 @@ +[gd_scene load_steps=9 format=2] + +[ext_resource path="res://scripts/1px_border.gdshader" type="Shader" id=1] +[ext_resource path="res://graphics/player/arrow.png" type="Texture" id=2] +[ext_resource path="res://objects/player/arrow_projectile.gd" type="Script" id=3] +[ext_resource path="res://graphics/particles/dust.png" type="Texture" id=4] + +[sub_resource type="ShaderMaterial" id=1] +shader = ExtResource( 1 ) +shader_param/border_color = Color( 0, 0, 0, 1 ) +shader_param/border_corners = true + +[sub_resource type="Curve" id=3] +_data = [ Vector2( 0, 1 ), 0.0, -0.139481, 0, 0, Vector2( 1, 0 ), -2.82064, 0.0, 0, 0 ] + +[sub_resource type="RectangleShape2D" id=7] +extents = Vector2( 4.5, 0.5 ) + +[sub_resource type="Curve" id=6] +_data = [ Vector2( 0, 1 ), 0.0, -1.45746, 0, 0, Vector2( 1, 0 ), 0.00323196, 0.0, 0, 0 ] + +[node name="ArrowProjectile" type="Node2D"] +script = ExtResource( 3 ) + +[node name="Sprite" type="Sprite" parent="."] +material = SubResource( 1 ) +z_index = -1 +texture = ExtResource( 2 ) + +[node name="DustParticles" type="CPUParticles2D" parent="."] +show_behind_parent = true +position = Vector2( -4, 0 ) +z_index = -1 +amount = 24 +local_coords = false +texture = ExtResource( 4 ) +spread = 180.0 +gravity = Vector2( 0, 0 ) +initial_velocity = 8.0 +initial_velocity_random = 0.18 +damping = 1.0 +angle = 720.0 +angle_random = 1.0 +scale_amount = 0.25 +scale_amount_random = 0.25 +scale_amount_curve = SubResource( 3 ) + +[node name="Hitbox" type="Area2D" parent="." groups=["arrow"]] + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox"] +position = Vector2( -0.5, -0.5 ) +shape = SubResource( 7 ) + +[node name="SparkParticles" type="CPUParticles2D" parent="."] +position = Vector2( 4, 0 ) +emitting = false +amount = 16 +lifetime = 0.5 +one_shot = true +explosiveness = 1.0 +texture = ExtResource( 4 ) +spread = 180.0 +gravity = Vector2( 0, 0 ) +initial_velocity = 30.0 +initial_velocity_random = 0.5 +damping = 50.0 +angle = 720.0 +angle_random = 1.0 +scale_amount = 0.3 +scale_amount_curve = SubResource( 6 ) +color = Color( 1, 1, 0.290196, 1 ) + +[connection signal="area_entered" from="Hitbox" to="." method="_on_Hitbox_area_entered"] +[connection signal="body_entered" from="Hitbox" to="." method="_on_Hitbox_body_entered"] diff --git a/objects/enemy/skelarcher.gd b/objects/enemy/skelarcher.gd index 6960cd3..ad99ef6 100644 --- a/objects/enemy/skelarcher.gd +++ b/objects/enemy/skelarcher.gd @@ -1,6 +1,6 @@ extends "res://objects/enemy/enemy.gd" -const ArrowProjectile = preload("res://objects/player/arrow_projectile.tscn") +const ArrowProjectile = preload("res://objects/enemy/enemy_arrow.tscn") const BoneParticle = preload("res://objects/enemy/bone_particle.tscn") const arrowpos = Vector2(9,2)