summaryrefslogtreecommitdiff
path: root/scenes/defenders
diff options
context:
space:
mode:
Diffstat (limited to 'scenes/defenders')
-rw-r--r--scenes/defenders/base_animation_handler.gd24
-rw-r--r--scenes/defenders/base_animation_handler.gd.uid1
-rw-r--r--scenes/defenders/base_defender.gd49
-rw-r--r--scenes/defenders/base_defender.gd.uid1
-rw-r--r--scenes/defenders/warlock.gd18
-rw-r--r--scenes/defenders/warlock.gd.uid1
-rw-r--r--scenes/defenders/warlock.tscn37
-rw-r--r--scenes/defenders/warlock_animation_handler.gd6
-rw-r--r--scenes/defenders/warlock_animation_handler.gd.uid1
-rw-r--r--scenes/defenders/warlock_projectile.gd23
-rw-r--r--scenes/defenders/warlock_projectile.gd.uid1
-rw-r--r--scenes/defenders/warlock_projectile.tscn28
-rw-r--r--scenes/defenders/wyvern.gd36
-rw-r--r--scenes/defenders/wyvern.gd.uid1
-rw-r--r--scenes/defenders/wyvern.tscn36
-rw-r--r--scenes/defenders/wyvern_animation_handler.gd6
-rw-r--r--scenes/defenders/wyvern_animation_handler.gd.uid1
-rw-r--r--scenes/defenders/wyvern_projectile.gd18
-rw-r--r--scenes/defenders/wyvern_projectile.gd.uid1
-rw-r--r--scenes/defenders/wyvern_projectile.tscn62
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"]