Compare commits

...

3 commits

13 changed files with 70 additions and 25 deletions

View file

@ -1,23 +1,19 @@
[gd_scene load_steps=6 format=3 uid="uid://djawvtdwp423v"] [gd_scene load_steps=3 format=3 uid="uid://djawvtdwp423v"]
[ext_resource type="Script" uid="uid://b2ji03ekijjnn" path="res://buildings/building.gd" id="1_5j34s"] [ext_resource type="Script" uid="uid://b2ji03ekijjnn" path="res://buildings/building.gd" id="1_5j34s"]
[ext_resource type="Texture2D" uid="uid://cy70quh6k3s1j" path="res://icon.svg" id="2_2yopf"] [ext_resource type="PackedScene" uid="uid://dpv1w56yr1xue" path="res://traps/morning_star.tscn" id="5_xr4t5"]
[ext_resource type="Shader" uid="uid://c7gb1nqwvkr37" path="res://buildings/building.gdshader" id="2_f1gjg"]
[ext_resource type="Script" uid="uid://dj7d4d2xs3nci" path="res://buildings/building_mesh.gd" id="4_qnfc1"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_qnfc1"]
resource_local_to_scene = true
shader = ExtResource("2_f1gjg")
shader_parameter/ground_height = 3000.0
shader_parameter/cell_height = 300.0
shader_parameter/num_cells = 60
[node name="Building" type="Node2D"] [node name="Building" type="Node2D"]
modulate = Color(0.3529412, 0, 0.007843138, 0.007843138) modulate = Color(0.352941, 0, 0.00784314, 0.00784314)
script = ExtResource("1_5j34s") script = ExtResource("1_5j34s")
[node name="Sprite2D" type="Sprite2D" parent="."] [node name="Sprite2D" type="Sprite2D" parent="."]
self_modulate = Color(0.176471, 0, 0.00392157, 0.00392157)
material = SubResource("ShaderMaterial_qnfc1") material = SubResource("ShaderMaterial_qnfc1")
scale = Vector2(250, 250) scale = Vector2(250, 250)
texture = ExtResource("2_2yopf") texture = ExtResource("2_2yopf")
script = ExtResource("4_qnfc1") script = ExtResource("4_qnfc1")
[node name="EnemyList" type="Node2D" parent="."]
[node name="MorningStar" parent="EnemyList" instance=ExtResource("5_xr4t5")]

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=7 format=3 uid="uid://bno6flekdwx88"] [gd_scene load_steps=7 format=3 uid="uid://cmofmd0vf3hx3"]
[ext_resource type="Script" uid="uid://b2ji03ekijjnn" path="res://buildings/building.gd" id="1_q3nfb"] [ext_resource type="Script" uid="uid://b2ji03ekijjnn" path="res://buildings/building.gd" id="1_q3nfb"]
[ext_resource type="Shader" uid="uid://c7gb1nqwvkr37" path="res://buildings/building.gdshader" id="2_uv7v8"] [ext_resource type="Shader" uid="uid://c7gb1nqwvkr37" path="res://buildings/building.gdshader" id="2_uv7v8"]
@ -18,7 +18,7 @@ script = ExtResource("1_q3nfb")
dimension = Vector2i(1, 2) dimension = Vector2i(1, 2)
[node name="Sprite2D" type="Sprite2D" parent="."] [node name="Sprite2D" type="Sprite2D" parent="."]
self_modulate = Color(0.1764706, 0, 0.003921569, 0.003921569) self_modulate = Color(0.176471, 0, 0.00392157, 0.00392157)
material = SubResource("ShaderMaterial_qnfc1") material = SubResource("ShaderMaterial_qnfc1")
scale = Vector2(25, 25) scale = Vector2(25, 25)
texture = ExtResource("3_e6j05") texture = ExtResource("3_e6j05")

View file

@ -1,7 +1,7 @@
[gd_scene load_steps=6 format=3 uid="uid://chu67ci7sl488"] [gd_scene load_steps=6 format=3 uid="uid://chu67ci7sl488"]
[ext_resource type="Script" uid="uid://12jns4dppxxj" path="res://enemies/ghost.gd" id="1_6attn"] [ext_resource type="Script" uid="uid://12jns4dppxxj" path="res://enemies/ghost.gd" id="1_6attn"]
[ext_resource type="PackedScene" uid="uid://mtfsdd4cdf3a" path="res://enemy_hurtbox.tscn" id="2_34o1m"] [ext_resource type="PackedScene" uid="uid://mtfsdd4cdf3a" path="res://utils/enemy_hurtbox.tscn" id="2_34o1m"]
[ext_resource type="Texture2D" uid="uid://cy70quh6k3s1j" path="res://icon.svg" id="2_obmiq"] [ext_resource type="Texture2D" uid="uid://cy70quh6k3s1j" path="res://icon.svg" id="2_obmiq"]
[ext_resource type="PackedScene" uid="uid://chs0u61f45nau" path="res://utils/earth_aligner.tscn" id="3_obmiq"] [ext_resource type="PackedScene" uid="uid://chs0u61f45nau" path="res://utils/earth_aligner.tscn" id="3_obmiq"]
@ -10,6 +10,8 @@
[node name="Ghost" type="Area2D"] [node name="Ghost" type="Area2D"]
z_index = 1 z_index = 1
scale = Vector2(0.4, 0.4) scale = Vector2(0.4, 0.4)
collision_layer = 0
collision_mask = 4
script = ExtResource("1_6attn") script = ExtResource("1_6attn")
[node name="EnemyHurtbox" parent="." instance=ExtResource("2_34o1m")] [node name="EnemyHurtbox" parent="." instance=ExtResource("2_34o1m")]

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=7 format=3 uid="uid://cxo6bq26huau7"] [gd_scene load_steps=8 format=3 uid="uid://cxo6bq26huau7"]
[ext_resource type="PackedScene" uid="uid://cmaovvr15b3qk" path="res://player/player.tscn" id="2_1bvp3"] [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"] [ext_resource type="Script" uid="uid://vgxh2xdevat7" path="res://world/earth.gd" id="2_lquwl"]
@ -6,6 +6,7 @@
[ext_resource type="PackedScene" uid="uid://jjoyj1ldafkf" path="res://world/earth.tscn" id="3_lquwl"] [ext_resource type="PackedScene" uid="uid://jjoyj1ldafkf" path="res://world/earth.tscn" id="3_lquwl"]
[ext_resource type="Script" uid="uid://colvx6wq0e8n7" path="res://world/building_generator.gd" id="4_1bvp3"] [ext_resource type="Script" uid="uid://colvx6wq0e8n7" path="res://world/building_generator.gd" id="4_1bvp3"]
[ext_resource type="PackedScene" uid="uid://cjsrtswk4vgf2" path="res://healthbar/healthbar.tscn" id="6_7mycd"] [ext_resource type="PackedScene" uid="uid://cjsrtswk4vgf2" path="res://healthbar/healthbar.tscn" id="6_7mycd"]
[ext_resource type="PackedScene" uid="uid://dpv1w56yr1xue" path="res://traps/morning_star.tscn" id="7_272bh"]
[node name="main" type="Node2D"] [node name="main" type="Node2D"]
@ -34,5 +35,8 @@ autostart = true
offset_right = 128.0 offset_right = 128.0
offset_bottom = 128.0 offset_bottom = 128.0
[node name="MorningStar" parent="." instance=ExtResource("7_272bh")]
position = Vector2(989, -2939)
[connection signal="health_changed" from="Player" to="CanvasLayer/Healthbar" method="_on_player_health_changed"] [connection signal="health_changed" from="Player" to="CanvasLayer/Healthbar" method="_on_player_health_changed"]
[connection signal="timeout" from="Building Generator/Timer" to="Building Generator" method="_on_timer_timeout"] [connection signal="timeout" from="Building Generator/Timer" to="Building Generator" method="_on_timer_timeout"]

View file

@ -18,8 +18,6 @@ dest_files=["res://.godot/imported/Walk 1.png-47c623e9d3540b4a00d2bddf52ae0b2a.c
compress/mode=0 compress/mode=0
compress/high_quality=false compress/high_quality=false
compress/lossy_quality=0.7 compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1 compress/hdr_compression=1
compress/normal_map=0 compress/normal_map=0
compress/channel_pack=0 compress/channel_pack=0
@ -27,10 +25,6 @@ mipmaps/generate=false
mipmaps/limit=-1 mipmaps/limit=-1
roughness/mode=0 roughness/mode=0
roughness/src_normal="" 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/fix_alpha_border=true
process/premult_alpha=false process/premult_alpha=false
process/normal_map_invert_y=false process/normal_map_invert_y=false

View file

@ -40,6 +40,7 @@ animations = [{
[node name="Player" type="CharacterBody2D"] [node name="Player" type="CharacterBody2D"]
z_index = 10 z_index = 10
collision_layer = 5
script = ExtResource("1_4flbx") script = ExtResource("1_4flbx")
[node name="CollisionShape2D" type="CollisionShape2D" parent="."] [node name="CollisionShape2D" type="CollisionShape2D" parent="."]

View file

@ -12,7 +12,7 @@ config_version=5
config/name="The Dark Side of Earth" config/name="The Dark Side of Earth"
run/main_scene="uid://cxo6bq26huau7" run/main_scene="uid://cxo6bq26huau7"
config/features=PackedStringArray("4.5", "Forward Plus") config/features=PackedStringArray("4.4", "Forward Plus")
config/icon="res://icon.svg" config/icon="res://icon.svg"
[display] [display]
@ -47,3 +47,4 @@ attack={
[layer_names] [layer_names]
2d_physics/layer_2="EnemyHurtBox" 2d_physics/layer_2="EnemyHurtBox"
2d_physics/layer_3="PlayerHurtBox"

23
traps/morning_star.gd Normal file
View file

@ -0,0 +1,23 @@
extends Node2D
@onready var ball : Area2D = $Area2D
var anglespeed = 0.3
var player_damage = 1
var enemy_damage = 10
func _ready() -> void:
rotate(randf() * TAU)
anglespeed = anglespeed * (2 * randi_range(0,1) - 1)
func _physics_process(delta: float) -> void:
rotate(anglespeed * delta * TAU)
for target in ball.get_overlapping_areas():
damage_target(target)
for target in ball.get_overlapping_bodies():
damage_target(target)
func damage_target(target: CollisionObject2D):
var dir = (position - target.position).normalized()
if(target.get_collision_layer_value(3)):
target.hurt(player_damage, dir)
else:
target.hurt(enemy_damage, 2.5*dir)

View file

@ -0,0 +1 @@
uid://bjarfrf4tf3b1

23
traps/morning_star.tscn Normal file
View file

@ -0,0 +1,23 @@
[gd_scene load_steps=4 format=3 uid="uid://dpv1w56yr1xue"]
[ext_resource type="Script" uid="uid://bjarfrf4tf3b1" path="res://traps/morning_star.gd" id="1_iuq6u"]
[ext_resource type="Texture2D" uid="uid://cy70quh6k3s1j" path="res://icon.svg" id="1_ytaxb"]
[sub_resource type="CircleShape2D" id="CircleShape2D_iuq6u"]
[node name="MorningStar" type="Node2D"]
script = ExtResource("1_iuq6u")
[node name="Area2D" type="Area2D" parent="."]
position = Vector2(0, -200)
scale = Vector2(3, 3)
collision_layer = 0
collision_mask = 6
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"]
shape = SubResource("CircleShape2D_iuq6u")
[node name="Sprite2D" type="Sprite2D" parent="Area2D"]
modulate = Color(1, 0, 0, 1)
scale = Vector2(0.15, 0.15)
texture = ExtResource("1_ytaxb")

View file

@ -2,7 +2,7 @@ extends Area2D
@export var max_hp : int @export var max_hp : int
@onready var hp = max_hp @onready var hp = max_hp
var hit_invulnerability = 0.15 @export var hit_invulnerability = 0.35
var inv_time = 0; var inv_time = 0;
signal damage_taken signal damage_taken

View file

@ -1,6 +1,6 @@
[gd_scene load_steps=2 format=3 uid="uid://mtfsdd4cdf3a"] [gd_scene load_steps=2 format=3 uid="uid://mtfsdd4cdf3a"]
[ext_resource type="Script" uid="uid://ct8am2xeyymuj" path="res://enemy_hurtbox.gd" id="1_wa58b"] [ext_resource type="Script" uid="uid://ct8am2xeyymuj" path="res://utils/enemy_hurtbox.gd" id="1_wa58b"]
[node name="EnemyHurtbox" type="Area2D"] [node name="EnemyHurtbox" type="Area2D"]
collision_layer = 2 collision_layer = 2