diff --git a/buildings/Building 1x2 fixed.png.import b/buildings/Building 1x2 fixed.png.import index 39a81c9..0ac93ca 100644 --- a/buildings/Building 1x2 fixed.png.import +++ b/buildings/Building 1x2 fixed.png.import @@ -18,8 +18,6 @@ dest_files=["res://.godot/imported/Building 1x2 fixed.png-e90afc0d25a8919ada5700 compress/mode=0 compress/high_quality=false compress/lossy_quality=0.7 -compress/uastc_level=0 -compress/rdo_quality_loss=0.0 compress/hdr_compression=1 compress/normal_map=0 compress/channel_pack=0 @@ -27,10 +25,6 @@ mipmaps/generate=false mipmaps/limit=-1 roughness/mode=0 roughness/src_normal="" -process/channel_remap/red=0 -process/channel_remap/green=1 -process/channel_remap/blue=2 -process/channel_remap/alpha=3 process/fix_alpha_border=true process/premult_alpha=false process/normal_map_invert_y=false diff --git a/buildings/Building 2x1 downside.png.import b/buildings/Building 2x1 downside.png.import index 0e57d53..52d9ce5 100644 --- a/buildings/Building 2x1 downside.png.import +++ b/buildings/Building 2x1 downside.png.import @@ -18,8 +18,6 @@ dest_files=["res://.godot/imported/Building 2x1 downside.png-4b432eb4152bab7dd59 compress/mode=0 compress/high_quality=false compress/lossy_quality=0.7 -compress/uastc_level=0 -compress/rdo_quality_loss=0.0 compress/hdr_compression=1 compress/normal_map=0 compress/channel_pack=0 @@ -27,10 +25,6 @@ mipmaps/generate=false mipmaps/limit=-1 roughness/mode=0 roughness/src_normal="" -process/channel_remap/red=0 -process/channel_remap/green=1 -process/channel_remap/blue=2 -process/channel_remap/alpha=3 process/fix_alpha_border=true process/premult_alpha=false process/normal_map_invert_y=false diff --git a/buildings/Building 2x1 fixed.png.import b/buildings/Building 2x1 fixed.png.import index e7fdbe6..a78eae3 100644 --- a/buildings/Building 2x1 fixed.png.import +++ b/buildings/Building 2x1 fixed.png.import @@ -18,8 +18,6 @@ dest_files=["res://.godot/imported/Building 2x1 fixed.png-b02748fa52aebae62f987c compress/mode=0 compress/high_quality=false compress/lossy_quality=0.7 -compress/uastc_level=0 -compress/rdo_quality_loss=0.0 compress/hdr_compression=1 compress/normal_map=0 compress/channel_pack=0 @@ -27,10 +25,6 @@ mipmaps/generate=false mipmaps/limit=-1 roughness/mode=0 roughness/src_normal="" -process/channel_remap/red=0 -process/channel_remap/green=1 -process/channel_remap/blue=2 -process/channel_remap/alpha=3 process/fix_alpha_border=true process/premult_alpha=false process/normal_map_invert_y=false diff --git a/enemies/ghost.gd b/enemies/ghost.gd index dfb72e7..d64f6ca 100644 --- a/enemies/ghost.gd +++ b/enemies/ghost.gd @@ -25,7 +25,7 @@ func _physics_process(delta: float) -> void: self.position += motion * delta * min(1, dist/(motion.length()*delta)) - self.position += earth_aligner.global_from_local(current_knockback) * delta + self.position += current_knockback * delta current_knockback = current_knockback/pow(1.3, 60*delta) if(self.overlaps_body(player)): diff --git a/items/arrow.gd b/items/arrow.gd new file mode 100644 index 0000000..388e66a --- /dev/null +++ b/items/arrow.gd @@ -0,0 +1,10 @@ +extends Area2D + +var damage = 10 +var direction = Vector2(1,0) +@export var speed = 2000 + +func _physics_process(delta: float) -> void: + self.position += delta * speed * direction + for area in get_overlapping_areas(): + area.hurt(damage, direction) diff --git a/items/arrow.gd.uid b/items/arrow.gd.uid new file mode 100644 index 0000000..2dc851c --- /dev/null +++ b/items/arrow.gd.uid @@ -0,0 +1 @@ +uid://bglrm0bb4nla diff --git a/items/arrow.tscn b/items/arrow.tscn new file mode 100644 index 0000000..7e18afd --- /dev/null +++ b/items/arrow.tscn @@ -0,0 +1,20 @@ +[gd_scene load_steps=4 format=3 uid="uid://dfva4dhflxglr"] + +[ext_resource type="Script" uid="uid://bglrm0bb4nla" path="res://items/arrow.gd" id="1_lxthq"] +[ext_resource type="Texture2D" uid="uid://cy70quh6k3s1j" path="res://icon.svg" id="1_tl37p"] + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_tfcgf"] +size = Vector2(20, 5) + +[node name="Arrow" type="Area2D"] +collision_layer = 0 +collision_mask = 2 +script = ExtResource("1_lxthq") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +scale = Vector2(2, 2) +shape = SubResource("RectangleShape2D_tfcgf") + +[node name="Sprite2D" type="Sprite2D" parent="."] +scale = Vector2(0.31, 0.078) +texture = ExtResource("1_tl37p") diff --git a/items/bow.gd b/items/bow.gd new file mode 100644 index 0000000..d94bab1 --- /dev/null +++ b/items/bow.gd @@ -0,0 +1,12 @@ +extends ActiveItem +@export var cooldown = 1 +@export var arrow_scene : PackedScene + + +func activate(): + player.item_cooldown = cooldown + var arrow : Area2D = arrow_scene.instantiate() + get_tree().get_root().add_child(arrow) + arrow.position = player.position + arrow.rotation = player.rotation + arrow.direction = player.earth_aligner.global_from_local(Vector2(player.facing, 0)) diff --git a/items/bow.gd.uid b/items/bow.gd.uid new file mode 100644 index 0000000..372e8fe --- /dev/null +++ b/items/bow.gd.uid @@ -0,0 +1 @@ +uid://bkcip66at5sug diff --git a/items/bow.tscn b/items/bow.tscn new file mode 100644 index 0000000..76a26e3 --- /dev/null +++ b/items/bow.tscn @@ -0,0 +1,22 @@ +[gd_scene load_steps=5 format=3 uid="uid://ddn025xnjngko"] + +[ext_resource type="Script" uid="uid://bkcip66at5sug" path="res://items/bow.gd" id="1_xppub"] +[ext_resource type="PackedScene" uid="uid://dfva4dhflxglr" path="res://items/arrow.tscn" id="2_0id2q"] +[ext_resource type="Texture2D" uid="uid://cy70quh6k3s1j" path="res://icon.svg" id="2_gllxn"] + +[sub_resource type="CircleShape2D" id="CircleShape2D_gllxn"] + +[node name="Bow" type="Area2D"] +collision_layer = 0 +collision_mask = 4 +script = ExtResource("1_xppub") +arrow_scene = ExtResource("2_0id2q") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +scale = Vector2(3.1, 3.1) +shape = SubResource("CircleShape2D_gllxn") + +[node name="Sprite2D" type="Sprite2D" parent="."] +modulate = Color(1, 0, 1, 1) +scale = Vector2(0.45, 0.45) +texture = ExtResource("2_gllxn") diff --git a/main.tscn b/main.tscn index c3311cf..656a170 100644 --- a/main.tscn +++ b/main.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=11 format=3 uid="uid://cxo6bq26huau7"] +[gd_scene load_steps=13 format=3 uid="uid://cxo6bq26huau7"] [ext_resource type="PackedScene" uid="uid://cmaovvr15b3qk" path="res://player/player.tscn" id="2_1bvp3"] [ext_resource type="Script" uid="uid://vgxh2xdevat7" path="res://world/earth.gd" id="2_lquwl"] @@ -8,8 +8,10 @@ [ext_resource type="PackedScene" uid="uid://cjsrtswk4vgf2" path="res://healthbar/healthbar.tscn" id="6_7mycd"] [ext_resource type="PackedScene" uid="uid://dpdn2php3ydsv" path="res://death_screen/death_screen.tscn" id="7_5vw27"] [ext_resource type="PackedScene" uid="uid://4l3elvxpghw8" path="res://utils/platform.tscn" id="7_272bh"] -[ext_resource type="PackedScene" uid="uid://gwctb2xqsbj" path="res://items/healthup.tscn" id="9_4c57u"] +[ext_resource type="PackedScene" uid="uid://ddn025xnjngko" path="res://items/bow.tscn" id="9_4c57u"] [ext_resource type="PackedScene" uid="uid://chu67ci7sl488" path="res://enemies/ghost.tscn" id="9_kek77"] +[ext_resource type="PackedScene" uid="uid://dfva4dhflxglr" path="res://items/arrow.tscn" id="10_4c57u"] +[ext_resource type="PackedScene" uid="uid://gwctb2xqsbj" path="res://items/healthup.tscn" id="11_efxa6"] [node name="main" type="Node2D"] @@ -56,7 +58,13 @@ scale = Vector2(5, 3.1) [node name="Ghost" parent="." instance=ExtResource("9_kek77")] position = Vector2(0, -3000) -[node name="HealthUp" parent="." instance=ExtResource("9_4c57u")] +[node name="Arrow" parent="." instance=ExtResource("10_4c57u")] +position = Vector2(0, -3150) + +[node name="HealthUp" parent="." instance=ExtResource("11_efxa6")] +position = Vector2(200, -3100) + +[node name="Bow" parent="." instance=ExtResource("9_4c57u")] position = Vector2(0, -3100) [connection signal="active_item_changed" from="Player" to="CanvasLayer/ItemUI" method="_on_player_active_item_changed"] diff --git a/player/Player_Walk/Walk 1.png.import b/player/Player_Walk/Walk 1.png.import index 7803358..97cf918 100644 --- a/player/Player_Walk/Walk 1.png.import +++ b/player/Player_Walk/Walk 1.png.import @@ -18,8 +18,6 @@ dest_files=["res://.godot/imported/Walk 1.png-47c623e9d3540b4a00d2bddf52ae0b2a.c compress/mode=0 compress/high_quality=false compress/lossy_quality=0.7 -compress/uastc_level=0 -compress/rdo_quality_loss=0.0 compress/hdr_compression=1 compress/normal_map=0 compress/channel_pack=0 @@ -27,10 +25,6 @@ mipmaps/generate=false mipmaps/limit=-1 roughness/mode=0 roughness/src_normal="" -process/channel_remap/red=0 -process/channel_remap/green=1 -process/channel_remap/blue=2 -process/channel_remap/alpha=3 process/fix_alpha_border=true process/premult_alpha=false process/normal_map_invert_y=false diff --git a/player/Player_Walk/Walk 2.png.import b/player/Player_Walk/Walk 2.png.import index 3fac54f..48f18ef 100644 --- a/player/Player_Walk/Walk 2.png.import +++ b/player/Player_Walk/Walk 2.png.import @@ -18,8 +18,6 @@ dest_files=["res://.godot/imported/Walk 2.png-5dea4fdec55fa43e26680e08090fd654.c compress/mode=0 compress/high_quality=false compress/lossy_quality=0.7 -compress/uastc_level=0 -compress/rdo_quality_loss=0.0 compress/hdr_compression=1 compress/normal_map=0 compress/channel_pack=0 @@ -27,10 +25,6 @@ mipmaps/generate=false mipmaps/limit=-1 roughness/mode=0 roughness/src_normal="" -process/channel_remap/red=0 -process/channel_remap/green=1 -process/channel_remap/blue=2 -process/channel_remap/alpha=3 process/fix_alpha_border=true process/premult_alpha=false process/normal_map_invert_y=false diff --git a/player/Player_Walk/Walk 3.png.import b/player/Player_Walk/Walk 3.png.import index c65053d..285ace3 100644 --- a/player/Player_Walk/Walk 3.png.import +++ b/player/Player_Walk/Walk 3.png.import @@ -18,8 +18,6 @@ dest_files=["res://.godot/imported/Walk 3.png-27890c0cb512383b8ecbd848c73efee1.c compress/mode=0 compress/high_quality=false compress/lossy_quality=0.7 -compress/uastc_level=0 -compress/rdo_quality_loss=0.0 compress/hdr_compression=1 compress/normal_map=0 compress/channel_pack=0 @@ -27,10 +25,6 @@ mipmaps/generate=false mipmaps/limit=-1 roughness/mode=0 roughness/src_normal="" -process/channel_remap/red=0 -process/channel_remap/green=1 -process/channel_remap/blue=2 -process/channel_remap/alpha=3 process/fix_alpha_border=true process/premult_alpha=false process/normal_map_invert_y=false diff --git a/player/Player_Walk/Walk 4.png.import b/player/Player_Walk/Walk 4.png.import index c12f6b8..03aa90d 100644 --- a/player/Player_Walk/Walk 4.png.import +++ b/player/Player_Walk/Walk 4.png.import @@ -18,8 +18,6 @@ dest_files=["res://.godot/imported/Walk 4.png-232b1eae2acf3ad82130431014262cde.c compress/mode=0 compress/high_quality=false compress/lossy_quality=0.7 -compress/uastc_level=0 -compress/rdo_quality_loss=0.0 compress/hdr_compression=1 compress/normal_map=0 compress/channel_pack=0 @@ -27,10 +25,6 @@ mipmaps/generate=false mipmaps/limit=-1 roughness/mode=0 roughness/src_normal="" -process/channel_remap/red=0 -process/channel_remap/green=1 -process/channel_remap/blue=2 -process/channel_remap/alpha=3 process/fix_alpha_border=true process/premult_alpha=false process/normal_map_invert_y=false diff --git a/player/Player_Walk/Walk 5.png.import b/player/Player_Walk/Walk 5.png.import index 47122be..fe3ebef 100644 --- a/player/Player_Walk/Walk 5.png.import +++ b/player/Player_Walk/Walk 5.png.import @@ -18,8 +18,6 @@ dest_files=["res://.godot/imported/Walk 5.png-cfb8eb15ace876127c083283fe74cdc0.c compress/mode=0 compress/high_quality=false compress/lossy_quality=0.7 -compress/uastc_level=0 -compress/rdo_quality_loss=0.0 compress/hdr_compression=1 compress/normal_map=0 compress/channel_pack=0 @@ -27,10 +25,6 @@ mipmaps/generate=false mipmaps/limit=-1 roughness/mode=0 roughness/src_normal="" -process/channel_remap/red=0 -process/channel_remap/green=1 -process/channel_remap/blue=2 -process/channel_remap/alpha=3 process/fix_alpha_border=true process/premult_alpha=false process/normal_map_invert_y=false diff --git a/player/Player_Walk/Walk 6.png.import b/player/Player_Walk/Walk 6.png.import index 5b2bdef..22d7868 100644 --- a/player/Player_Walk/Walk 6.png.import +++ b/player/Player_Walk/Walk 6.png.import @@ -18,8 +18,6 @@ dest_files=["res://.godot/imported/Walk 6.png-f243f98e182be67eb8681a11d34ee554.c compress/mode=0 compress/high_quality=false compress/lossy_quality=0.7 -compress/uastc_level=0 -compress/rdo_quality_loss=0.0 compress/hdr_compression=1 compress/normal_map=0 compress/channel_pack=0 @@ -27,10 +25,6 @@ mipmaps/generate=false mipmaps/limit=-1 roughness/mode=0 roughness/src_normal="" -process/channel_remap/red=0 -process/channel_remap/green=1 -process/channel_remap/blue=2 -process/channel_remap/alpha=3 process/fix_alpha_border=true process/premult_alpha=false process/normal_map_invert_y=false diff --git a/project.godot b/project.godot index 182a0cf..ec9b026 100644 --- a/project.godot +++ b/project.godot @@ -12,7 +12,7 @@ config_version=5 config/name="The Dark Side of Earth" run/main_scene="uid://cxo6bq26huau7" -config/features=PackedStringArray("4.5", "Forward Plus") +config/features=PackedStringArray("4.4", "Forward Plus") config/icon="res://icon.svg" [display] diff --git a/traps/morning_star.gd b/traps/morning_star.gd index 154d9f5..6413568 100644 --- a/traps/morning_star.gd +++ b/traps/morning_star.gd @@ -16,7 +16,7 @@ func _physics_process(delta: float) -> void: damage_target(target) func damage_target(target: CollisionObject2D): - var dir = (position - target.position).normalized() + var dir = -(ball.global_position - target.global_position).normalized() if(target.get_collision_layer_value(3)): target.hurt(player_damage, dir) else: