diff --git a/audio/sounds/die_robot.wav b/audio/sounds/die_robot.wav new file mode 100644 index 0000000..4a4b28f Binary files /dev/null and b/audio/sounds/die_robot.wav differ diff --git a/audio/sounds/die_robot.wav.import b/audio/sounds/die_robot.wav.import new file mode 100644 index 0000000..88d7774 --- /dev/null +++ b/audio/sounds/die_robot.wav.import @@ -0,0 +1,23 @@ +[remap] + +importer="wav" +type="AudioStreamSample" +path="res://.import/die_robot.wav-0427c625164396232ce1323d11ec4e7e.sample" + +[deps] + +source_file="res://audio/sounds/die_robot.wav" +dest_files=[ "res://.import/die_robot.wav-0427c625164396232ce1323d11ec4e7e.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/graphics/enemy/tin.png b/graphics/enemy/tin.png new file mode 100644 index 0000000..a9ba19c Binary files /dev/null and b/graphics/enemy/tin.png differ diff --git a/graphics/enemy/tin.png.import b/graphics/enemy/tin.png.import new file mode 100644 index 0000000..4f33a40 --- /dev/null +++ b/graphics/enemy/tin.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/tin.png-5d733ddd1f13d5cb9a4546391a220dfb.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://graphics/enemy/tin.png" +dest_files=[ "res://.import/tin.png-5d733ddd1f13d5cb9a4546391a220dfb.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/graphics/enemy/tin_eye.png b/graphics/enemy/tin_eye.png new file mode 100644 index 0000000..2e8acd6 Binary files /dev/null and b/graphics/enemy/tin_eye.png differ diff --git a/graphics/enemy/tin_eye.png.import b/graphics/enemy/tin_eye.png.import new file mode 100644 index 0000000..995c231 --- /dev/null +++ b/graphics/enemy/tin_eye.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/tin_eye.png-dd282f2fe6b907439d8561e8a420df07.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://graphics/enemy/tin_eye.png" +dest_files=[ "res://.import/tin_eye.png-dd282f2fe6b907439d8561e8a420df07.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/maps/test_room.tscn b/maps/test_room.tscn index 34be860..b1a5625 100644 --- a/maps/test_room.tscn +++ b/maps/test_room.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=21 format=2] +[gd_scene load_steps=22 format=2] [ext_resource path="res://objects/player/player.tscn" type="PackedScene" id=1] [ext_resource path="res://tilesets/t_cave.tres" type="TileSet" id=2] @@ -19,6 +19,7 @@ [ext_resource path="res://objects/player/arrow_projectile.tscn" type="PackedScene" id=17] [ext_resource path="res://objects/enemy/mine.tscn" type="PackedScene" id=18] [ext_resource path="res://objects/enemy/explosion.tscn" type="PackedScene" id=19] +[ext_resource path="res://objects/enemy/tin.tscn" type="PackedScene" id=20] [sub_resource type="RectangleShape2D" id=1] extents = Vector2( 16, 20 ) @@ -133,3 +134,14 @@ position = Vector2( 232, 144 ) [node name="Explosion" parent="." instance=ExtResource( 19 )] position = Vector2( 160, 128 ) + +[node name="Tin" parent="." instance=ExtResource( 20 )] +position = Vector2( 80, 48 ) +up_boundary = 3.0 +down_boundary = 3.0 +move_direction = 1 + +[node name="Tin2" parent="." instance=ExtResource( 20 )] +position = Vector2( 32, 72 ) +up_boundary = 3.0 +down_boundary = 3.0 diff --git a/objects/enemy/enemy_move_diagonal.gd b/objects/enemy/enemy_move_diagonal.gd new file mode 100644 index 0000000..fbd5dae --- /dev/null +++ b/objects/enemy/enemy_move_diagonal.gd @@ -0,0 +1,29 @@ +extends "res://objects/enemy/enemy.gd" + +#How far to move +export var up_boundary = 0.0 +export var down_boundary = 0.0 +#Start direction +var direction = Vector2(1,1) +export var speed = 50 +#Move horizontal or vertical +export(int, "Left To Right", "Right To Left") var move_direction +#Onreadys +onready var startpos = position + +func _ready(): + death_sound = Game.a_die_robot + up_boundary *= 8 + down_boundary *= 8 + #Move in direction selected + if move_direction == 0: + direction = Vector2(-1,-1) + +func _physics_process(delta): + #Move + position += direction * (speed * delta) + #Switch dir + if position.y >= startpos.y + (down_boundary): + direction *= -1 + if position.y <= startpos.y - (up_boundary): + direction *= -1 diff --git a/objects/enemy/tin.tscn b/objects/enemy/tin.tscn new file mode 100644 index 0000000..bb5ffc3 --- /dev/null +++ b/objects/enemy/tin.tscn @@ -0,0 +1,54 @@ +[gd_scene load_steps=8 format=2] + +[ext_resource path="res://objects/enemy/enemy_move_diagonal.gd" type="Script" id=1] +[ext_resource path="res://scripts/1px_border.gdshader" type="Shader" id=2] +[ext_resource path="res://graphics/enemy/tin.png" type="Texture" id=3] +[ext_resource path="res://graphics/enemy/tin_eye.png" type="Texture" id=4] + +[sub_resource type="ShaderMaterial" id=1] +shader = ExtResource( 2 ) +shader_param/border_color = Color( 0, 0, 0, 1 ) +shader_param/border_corners = true + +[sub_resource type="Animation" id=2] +resource_name = "eye_hue" +loop = true +tracks/0/type = "value" +tracks/0/path = NodePath("Eye:modulate") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0, 0.5, 1 ), +"transitions": PoolRealArray( 1, 1, 1 ), +"update": 0, +"values": [ Color( 0.560784, 1, 0.560784, 1 ), Color( 1, 0.56, 0.567333, 1 ), Color( 0.560784, 1, 0.560784, 1 ) ] +} + +[sub_resource type="RectangleShape2D" id=3] +extents = Vector2( 4, 4 ) + +[node name="Tin" type="Node2D"] +script = ExtResource( 1 ) +score_for_killing = 100 +blood = false + +[node name="Sprite" type="Sprite" parent="."] +material = SubResource( 1 ) +texture = ExtResource( 3 ) + +[node name="Eye" type="Sprite" parent="."] +modulate = Color( 0.823775, 0.736539, 0.564706, 1 ) +texture = ExtResource( 4 ) + +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +autoplay = "eye_hue" +anims/eye_hue = SubResource( 2 ) + +[node name="Hitbox" type="Area2D" parent="." groups=["enemy_hitbox"]] + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox"] +shape = SubResource( 3 ) + +[connection signal="area_entered" from="Hitbox" to="." method="_on_Hitbox_area_entered"]