diff options
Diffstat (limited to 'scenes/defenders')
20 files changed, 0 insertions, 351 deletions
diff --git a/scenes/defenders/base_animation_handler.gd b/scenes/defenders/base_animation_handler.gd deleted file mode 100644 index c9e7630..0000000 --- a/scenes/defenders/base_animation_handler.gd +++ /dev/null @@ -1,24 +0,0 @@ -extends Sprite2D - -@onready var tile_map = preload("res://assets/tilemap.png") - -var idle : Rect2 -var attack : Rect2 -var is_idle : bool = true - -func _ready(): - update_texture() - -func update_texture(): - var atlas_texture = AtlasTexture.new() - atlas_texture.atlas = tile_map - atlas_texture.region = idle if is_idle else attack - texture = atlas_texture - -func attack_state(): - is_idle = false - update_texture() - -func idle_state(): - is_idle = true - update_texture() diff --git a/scenes/defenders/base_animation_handler.gd.uid b/scenes/defenders/base_animation_handler.gd.uid deleted file mode 100644 index 75b9ff2..0000000 --- a/scenes/defenders/base_animation_handler.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://cb5we0gjjbcfu diff --git a/scenes/defenders/base_defender.gd b/scenes/defenders/base_defender.gd deleted file mode 100644 index 66be11d..0000000 --- a/scenes/defenders/base_defender.gd +++ /dev/null @@ -1,49 +0,0 @@ -extends StaticBody2D - -@onready var sprite_node = $Sprite2D - -var defender_range : float -var fire_rate : float -var damage : int -var target : CharacterBody2D - -func _on_fire_timer_timeout() -> void: - # extending classes override here - pass - -func select_target() -> void: - var targets : Array = _find_targets() - - # this is all to select the furthest target on the track - var curr : PathFollow2D = null - for i in targets: - if curr == null: - curr = i.get_node("../") - else: - if i.get_parent().get_progress() > curr.get_progress(): - curr = i.get_node("../") - - _update_state_machine(curr) - -func _find_targets() -> Array: - var targets : Array = get_node("Tower").get_overlapping_bodies() - var tmp : Array = [] - for i in targets: - if "Crawler" in i.name: - tmp.append(i) - return tmp - -func _update_state_machine(curr : PathFollow2D) -> void: - if (curr == null): - target = null - sprite_node.idle_state() - else: - target = curr.get_child(0) - sprite_node.attack_state() - -func _on_tower_body_entered(_body: Node2D) -> void: - var old_target : CharacterBody2D = target - select_target() - if old_target == null && old_target != target: - $FireTimer.start(fire_rate) - _on_fire_timer_timeout() diff --git a/scenes/defenders/base_defender.gd.uid b/scenes/defenders/base_defender.gd.uid deleted file mode 100644 index 8d46a61..0000000 --- a/scenes/defenders/base_defender.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://bpiajfyx3t7qx diff --git a/scenes/defenders/warlock.gd b/scenes/defenders/warlock.gd deleted file mode 100644 index afac86c..0000000 --- a/scenes/defenders/warlock.gd +++ /dev/null @@ -1,18 +0,0 @@ -extends "res://scenes/defenders/base_defender.gd" - -var projectile: PackedScene = preload("res://scenes/defenders/warlock_projectile.tscn") - -func _ready(): - damage = 5 - fire_rate = 1.0 - -func _on_fire_timer_timeout(): - select_target() - if (target != null): - var tmp_projectile = projectile.instantiate() - tmp_projectile.target = target - tmp_projectile.projectile_damage = damage - get_node("ProjectileContainer").call_deferred("add_child", tmp_projectile) - tmp_projectile.global_position = $Aim.global_position - else: - $FireTimer.stop() diff --git a/scenes/defenders/warlock.gd.uid b/scenes/defenders/warlock.gd.uid deleted file mode 100644 index 64a7007..0000000 --- a/scenes/defenders/warlock.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://dvhqpgw6vhayu diff --git a/scenes/defenders/warlock.tscn b/scenes/defenders/warlock.tscn deleted file mode 100644 index b92f543..0000000 --- a/scenes/defenders/warlock.tscn +++ /dev/null @@ -1,37 +0,0 @@ -[gd_scene load_steps=5 format=3 uid="uid://d27cf3jwfvbqu"] - -[ext_resource type="Script" uid="uid://dvhqpgw6vhayu" path="res://scenes/defenders/warlock.gd" id="1_rpypk"] -[ext_resource type="Script" uid="uid://6i27kmcpl7ix" path="res://scenes/defenders/warlock_animation_handler.gd" id="2_rpypk"] - -[sub_resource type="RectangleShape2D" id="RectangleShape2D_wu3n4"] -size = Vector2(16, 16) - -[sub_resource type="CircleShape2D" id="CircleShape2D_rpypk"] -radius = 64.0 - -[node name="Warlock" type="StaticBody2D"] -script = ExtResource("1_rpypk") - -[node name="CollisionShape2D" type="CollisionShape2D" parent="."] -shape = SubResource("RectangleShape2D_wu3n4") -disabled = true - -[node name="Aim" type="Marker2D" parent="."] -position = Vector2(6, -5) - -[node name="Tower" type="Area2D" parent="."] - -[node name="CollisionShape2D" type="CollisionShape2D" parent="Tower"] -shape = SubResource("CircleShape2D_rpypk") - -[node name="ProjectileContainer" type="Node" parent="."] - -[node name="FireTimer" type="Timer" parent="."] -autostart = true - -[node name="Sprite2D" type="Sprite2D" parent="."] -region_rect = Rect2(496, 16, 16, 16) -script = ExtResource("2_rpypk") - -[connection signal="body_entered" from="Tower" to="." method="_on_tower_body_entered"] -[connection signal="timeout" from="FireTimer" to="." method="_on_fire_timer_timeout"] diff --git a/scenes/defenders/warlock_animation_handler.gd b/scenes/defenders/warlock_animation_handler.gd deleted file mode 100644 index 49c2b8a..0000000 --- a/scenes/defenders/warlock_animation_handler.gd +++ /dev/null @@ -1,6 +0,0 @@ -extends "res://scenes/defenders/base_animation_handler.gd" - -func _ready(): - idle = Rect2(496, 16, 16, 16) - attack = Rect2(496, 32, 16, 16) - update_texture() diff --git a/scenes/defenders/warlock_animation_handler.gd.uid b/scenes/defenders/warlock_animation_handler.gd.uid deleted file mode 100644 index 4fa3cf7..0000000 --- a/scenes/defenders/warlock_animation_handler.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://6i27kmcpl7ix diff --git a/scenes/defenders/warlock_projectile.gd b/scenes/defenders/warlock_projectile.gd deleted file mode 100644 index 060a27d..0000000 --- a/scenes/defenders/warlock_projectile.gd +++ /dev/null @@ -1,23 +0,0 @@ -extends CharacterBody2D - -var target : CharacterBody2D -var speed : int = 100 -var projectile_damage : int - -func _physics_process(_delta: float): - if !is_instance_valid(target): - queue_free() - else: - _move_projectile() - -func _on_area_2d_body_entered(body: Node2D): - if "Crawler" in body.name: - body.deal_damage(projectile_damage) - queue_free() - -func _move_projectile(): - var pos : Vector2 - pos = target.global_position - velocity = global_position.direction_to(pos) * speed - look_at(pos) - move_and_slide() diff --git a/scenes/defenders/warlock_projectile.gd.uid b/scenes/defenders/warlock_projectile.gd.uid deleted file mode 100644 index 3225e3e..0000000 --- a/scenes/defenders/warlock_projectile.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://kolqesiin33p diff --git a/scenes/defenders/warlock_projectile.tscn b/scenes/defenders/warlock_projectile.tscn deleted file mode 100644 index 34204bc..0000000 --- a/scenes/defenders/warlock_projectile.tscn +++ /dev/null @@ -1,28 +0,0 @@ -[gd_scene load_steps=4 format=3 uid="uid://bjt768hxqfu5h"] - -[ext_resource type="Script" uid="uid://kolqesiin33p" path="res://scenes/defenders/warlock_projectile.gd" id="1_jonmr"] -[ext_resource type="Texture2D" uid="uid://di2vybjsniag4" path="res://assets/tilemap.png" id="2_c7g7q"] - -[sub_resource type="CircleShape2D" id="CircleShape2D_0ilu8"] -radius = 8.0 - -[node name="WarlockProjectile" type="CharacterBody2D"] -script = ExtResource("1_jonmr") - -[node name="Sprite2D" type="Sprite2D" parent="."] -scale = Vector2(0.5, 0.5) -texture = ExtResource("2_c7g7q") -region_enabled = true -region_rect = Rect2(432, 320, 16, 16) - -[node name="CollisionShape2D" type="CollisionShape2D" parent="."] -scale = Vector2(0.2, 0.2) -shape = SubResource("CircleShape2D_0ilu8") - -[node name="Area2D" type="Area2D" parent="."] - -[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"] -scale = Vector2(0.3, 0.3) -shape = SubResource("CircleShape2D_0ilu8") - -[connection signal="body_entered" from="Area2D" to="." method="_on_area_2d_body_entered"] diff --git a/scenes/defenders/wyvern.gd b/scenes/defenders/wyvern.gd deleted file mode 100644 index 8341d41..0000000 --- a/scenes/defenders/wyvern.gd +++ /dev/null @@ -1,36 +0,0 @@ -extends "res://scenes/defenders/base_defender.gd" - -var projectile: PackedScene = preload("res://scenes/defenders/wyvern_projectile.tscn") -var damage_tick_rate: float = 0.25 -var firing : bool = false - -func _ready(): - damage = 2 - fire_rate = 1.0 - -func _process(_delta): - select_target() - if firing: - if target == null: - $WyvernProjectile.queue_free() - firing = false - else: - $WyvernProjectile.target = target - $WyvernProjectile.move_projectile() - -func _on_tower_body_entered(_body: Node2D) -> void: - var old_target : CharacterBody2D = target - select_target() - if old_target == null && old_target != target: - $FireTimer.start(fire_rate) - -func _on_fire_timer_timeout(): - if (target != null): - var tmp_projectile = projectile.instantiate() - tmp_projectile.target = target - tmp_projectile.projectile_damage = damage - tmp_projectile.damage_tick_rate = 0.25 - add_child(tmp_projectile) - tmp_projectile.global_position = $Aim.global_position - firing = true - $FireTimer.stop() diff --git a/scenes/defenders/wyvern.gd.uid b/scenes/defenders/wyvern.gd.uid deleted file mode 100644 index abe259e..0000000 --- a/scenes/defenders/wyvern.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://cfhnd8k1sy116 diff --git a/scenes/defenders/wyvern.tscn b/scenes/defenders/wyvern.tscn deleted file mode 100644 index cdd5c97..0000000 --- a/scenes/defenders/wyvern.tscn +++ /dev/null @@ -1,36 +0,0 @@ -[gd_scene load_steps=5 format=3 uid="uid://d37i2dwyynqdw"] - -[ext_resource type="Script" uid="uid://cfhnd8k1sy116" path="res://scenes/defenders/wyvern.gd" id="1_6c73s"] -[ext_resource type="Script" uid="uid://dl7a53e1auku7" path="res://scenes/defenders/wyvern_animation_handler.gd" id="2_6c73s"] - -[sub_resource type="RectangleShape2D" id="RectangleShape2D_wu3n4"] -size = Vector2(16, 16) - -[sub_resource type="CircleShape2D" id="CircleShape2D_rpypk"] -radius = 48.0 - -[node name="Wyvern" type="StaticBody2D"] -script = ExtResource("1_6c73s") - -[node name="CollisionShape2D" type="CollisionShape2D" parent="."] -shape = SubResource("RectangleShape2D_wu3n4") -disabled = true - -[node name="Aim" type="Marker2D" parent="."] -position = Vector2(7, -0.5) - -[node name="Tower" type="Area2D" parent="."] - -[node name="CollisionShape2D" type="CollisionShape2D" parent="Tower"] -shape = SubResource("CircleShape2D_rpypk") - -[node name="FireTimer" type="Timer" parent="."] -wait_time = 2.0 - -[node name="Sprite2D" type="Sprite2D" parent="."] -region_rect = Rect2(496, 16, 16, 16) -script = ExtResource("2_6c73s") - -[connection signal="body_entered" from="Tower" to="." method="_on_tower_body_entered"] -[connection signal="body_exited" from="Tower" to="." method="_on_tower_body_exited"] -[connection signal="timeout" from="FireTimer" to="." method="_on_fire_timer_timeout"] diff --git a/scenes/defenders/wyvern_animation_handler.gd b/scenes/defenders/wyvern_animation_handler.gd deleted file mode 100644 index 7e17256..0000000 --- a/scenes/defenders/wyvern_animation_handler.gd +++ /dev/null @@ -1,6 +0,0 @@ -extends "res://scenes/defenders/base_animation_handler.gd" - -func _ready(): - idle = Rect2(384, 160, 16, 16) - attack = Rect2(400, 160, 16, 16) - update_texture() diff --git a/scenes/defenders/wyvern_animation_handler.gd.uid b/scenes/defenders/wyvern_animation_handler.gd.uid deleted file mode 100644 index 5c8f57b..0000000 --- a/scenes/defenders/wyvern_animation_handler.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://dl7a53e1auku7 diff --git a/scenes/defenders/wyvern_projectile.gd b/scenes/defenders/wyvern_projectile.gd deleted file mode 100644 index 9b59bb0..0000000 --- a/scenes/defenders/wyvern_projectile.gd +++ /dev/null @@ -1,18 +0,0 @@ -extends CharacterBody2D - -var target -var curr = "" -var projectile_damage -# todo hook this up -var damage_tick_rate - -func _on_damage_tick_timeout() -> void: - var enemies = $Area2D.get_overlapping_bodies() - for i in enemies: - if "Crawler" in i.name: - i.deal_damage(projectile_damage) - -func move_projectile() -> void: - var pos : Vector2 - pos = target.global_position - look_at(pos) diff --git a/scenes/defenders/wyvern_projectile.gd.uid b/scenes/defenders/wyvern_projectile.gd.uid deleted file mode 100644 index 3882240..0000000 --- a/scenes/defenders/wyvern_projectile.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://brqwmj8ydtipd diff --git a/scenes/defenders/wyvern_projectile.tscn b/scenes/defenders/wyvern_projectile.tscn deleted file mode 100644 index 34baca4..0000000 --- a/scenes/defenders/wyvern_projectile.tscn +++ /dev/null @@ -1,62 +0,0 @@ -[gd_scene load_steps=7 format=3 uid="uid://b5klvt4gcjnah"] - -[ext_resource type="Script" uid="uid://brqwmj8ydtipd" path="res://scenes/defenders/wyvern_projectile.gd" id="1_68je7"] - -[sub_resource type="CircleShape2D" id="CircleShape2D_tajkb"] -radius = 8.0 - -[sub_resource type="Curve" id="Curve_tajkb"] -_data = [Vector2(0, 0.966292), 0.0, 0.0, 0, 0, Vector2(0.680328, 0.651685), 0.0, 0.0, 0, 0, Vector2(1, 0.426966), 0.0, 0.0, 0, 0] -point_count = 3 - -[sub_resource type="Gradient" id="Gradient_tajkb"] -offsets = PackedFloat32Array(0.125, 0.489583, 0.552083, 0.625) -colors = PackedColorArray(0.996078, 0.133333, 0.172549, 1, 1, 0.772549, 0, 1, 0, 0.784314, 0.321569, 1, 1, 0.717647, 0.321569, 1) - -[sub_resource type="Curve" id="Curve_68je7"] -_limits = [-1.0, 1.0, 0.0, 1.0] -_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(1, 0.707865), 0.0, 0.0, 0, 0] -point_count = 2 - -[sub_resource type="CircleShape2D" id="CircleShape2D_68je7"] -radius = 5.0 - -[node name="WyvernProjectile" type="CharacterBody2D"] -script = ExtResource("1_68je7") - -[node name="CollisionShape2D" type="CollisionShape2D" parent="."] -shape = SubResource("CircleShape2D_tajkb") -disabled = true - -[node name="DamageTick" type="Timer" parent="."] -wait_time = 0.25 -autostart = true - -[node name="CPUParticles2D" type="CPUParticles2D" parent="."] -skew = 0.401426 -amount = 1500 -lifetime = 0.25 -explosiveness = 0.15 -randomness = 0.86 -emission_shape = 1 -emission_sphere_radius = 2.0 -spread = 17.5 -gravity = Vector2(0, 0) -initial_velocity_max = 300.0 -orbit_velocity_min = -0.5 -orbit_velocity_max = 0.5 -scale_amount_min = 0.5 -scale_amount_max = 1.5 -scale_amount_curve = SubResource("Curve_tajkb") -color_ramp = SubResource("Gradient_tajkb") -hue_variation_curve = SubResource("Curve_68je7") -anim_speed_max = 20.0 - -[node name="Area2D" type="Area2D" parent="."] - -[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"] -position = Vector2(20, 0) -scale = Vector2(5, 1) -shape = SubResource("CircleShape2D_68je7") - -[connection signal="timeout" from="DamageTick" to="." method="_on_damage_tick_timeout"] |