diff --git a/audio/sounds/bonebreak.wav b/audio/sounds/bonebreak.wav new file mode 100644 index 0000000..7576af3 Binary files /dev/null and b/audio/sounds/bonebreak.wav differ diff --git a/audio/sounds/bonebreak.wav.import b/audio/sounds/bonebreak.wav.import new file mode 100644 index 0000000..89c8997 --- /dev/null +++ b/audio/sounds/bonebreak.wav.import @@ -0,0 +1,23 @@ +[remap] + +importer="wav" +type="AudioStreamSample" +path="res://.import/bonebreak.wav-14186323e77d90e5dc18927fa3d77983.sample" + +[deps] + +source_file="res://audio/sounds/bonebreak.wav" +dest_files=[ "res://.import/bonebreak.wav-14186323e77d90e5dc18927fa3d77983.sample" ] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=0 diff --git a/game.gd b/game.gd index 92830e3..35570ad 100644 --- a/game.gd +++ b/game.gd @@ -35,6 +35,7 @@ const a_doublejump = preload("res://audio/sounds/a_bree.wav") const a_shoot = preload("res://audio/sounds/a_egg_shoot.ogg") const a_die = preload("res://audio/sounds/die.wav") const a_gover = preload("res://audio/sounds/gover.wav") +const a_bone = preload("res://audio/sounds/bonebreak.wav") #Objects const block_text = preload("res://objects/hud/blocktext.tscn") const pause_screen = preload("res://objects/hud/pause_screen.tscn") diff --git a/graphics/enemy/bone.png b/graphics/enemy/bone.png index 769a583..f178f0e 100644 Binary files a/graphics/enemy/bone.png and b/graphics/enemy/bone.png differ diff --git a/objects/enemy/bone_particle.tscn b/objects/enemy/bone_particle.tscn index 02c8c89..11a1a2a 100644 --- a/objects/enemy/bone_particle.tscn +++ b/objects/enemy/bone_particle.tscn @@ -5,9 +5,8 @@ [sub_resource type="PhysicsMaterial" id=2] bounce = 0.75 -[sub_resource type="SegmentShape2D" id=1] -a = Vector2( 0, -2 ) -b = Vector2( 0, 2 ) +[sub_resource type="RectangleShape2D" id=3] +extents = Vector2( 0.5, 1.5 ) [node name="BoneParticle" type="RigidBody2D"] collision_layer = 16 @@ -17,4 +16,8 @@ physics_material_override = SubResource( 2 ) texture = ExtResource( 1 ) [node name="CollisionShape2D" type="CollisionShape2D" parent="."] -shape = SubResource( 1 ) +position = Vector2( -0.5, 0.5 ) +shape = SubResource( 3 ) +__meta__ = { +"_edit_group_": true +} diff --git a/objects/enemy/enemy.gd b/objects/enemy/enemy.gd index 77684b3..613119c 100644 --- a/objects/enemy/enemy.gd +++ b/objects/enemy/enemy.gd @@ -17,6 +17,9 @@ const DeathParticles = preload("res://objects/enemy/death_particles.tscn") #export var can_be_squashed = true export var score_for_killing = 0 +export var blood = true + +var death_sound = Game.a_die func _on_Hitbox_area_entered(area): #Kill player @@ -24,11 +27,12 @@ func _on_Hitbox_area_entered(area): area.get_parent().die() func die(): - var death_particles = DeathParticles.instance() - death_particles.global_position = global_position - death_particles.emitting = true - get_parent().add_child(death_particles) + if blood: + var death_particles = DeathParticles.instance() + death_particles.global_position = global_position + death_particles.emitting = true + get_parent().add_child(death_particles) - Game.play_sound(Game.a_die, Game.ac_die) + Game.play_sound(death_sound, Game.ac_die) Game.score += score_for_killing queue_free() diff --git a/objects/enemy/skelarcher.gd b/objects/enemy/skelarcher.gd index 6b7a5dd..7847c4d 100644 --- a/objects/enemy/skelarcher.gd +++ b/objects/enemy/skelarcher.gd @@ -15,6 +15,7 @@ onready var anims = $AnimationPlayer onready var sprite = $Sprite func _ready(): + death_sound = Game.a_bone timer.start(shoot_time) func _on_Timer_timeout(): diff --git a/objects/enemy/skelarcher.tscn b/objects/enemy/skelarcher.tscn index 65b8981..39369d4 100644 --- a/objects/enemy/skelarcher.tscn +++ b/objects/enemy/skelarcher.tscn @@ -143,6 +143,7 @@ tracks/3/keys = { [node name="Skelarcher" type="Node2D" groups=["enemy"]] script = ExtResource( 4 ) +blood = false shoot_time = 3.0 [node name="Sprite" type="Sprite" parent="."] diff --git a/objects/player/arrow_projectile.gd b/objects/player/arrow_projectile.gd index 3198bbd..fb30fce 100644 --- a/objects/player/arrow_projectile.gd +++ b/objects/player/arrow_projectile.gd @@ -55,6 +55,9 @@ func _on_Hitbox_area_entered(area): if target_group == "enemy_hitbox": Game.arrows = max(0, Game.arrows - 1) # clamp arrows above 0 queue_free() + elif area.is_in_group("arrow"): + _make_sparks() + queue_free() func _make_sparks(): var particles = $SparkParticles diff --git a/objects/player/arrow_projectile.tscn b/objects/player/arrow_projectile.tscn index c4535ab..dd624ab 100644 --- a/objects/player/arrow_projectile.tscn +++ b/objects/player/arrow_projectile.tscn @@ -75,7 +75,6 @@ process_material = SubResource( 5 ) texture = ExtResource( 4 ) [node name="Hitbox" type="Area2D" parent="." groups=["arrow"]] -collision_layer = 0 [node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox"] position = Vector2( -0.5, -0.5 ) @@ -86,6 +85,7 @@ position = Vector2( 4, 0 ) emitting = false amount = 16 lifetime = 0.5 +one_shot = true explosiveness = 1.0 process_material = SubResource( 8 ) texture = ExtResource( 4 )