Coins system, and finished mortar

This commit is contained in:
2025-04-30 08:57:16 +02:00
parent 6ffc9d3ba9
commit 7d79d3f60f
15 changed files with 253 additions and 37 deletions

View File

@ -29,7 +29,7 @@ collision_mask = 2
position = Vector2(-1, -68)
shape = SubResource("RectangleShape2D_bhlym")
[node name="MortarPart(3)" type="Sprite2D" parent="CharacterBody2D"]
[node name="lifter - 1" type="Sprite2D" parent="CharacterBody2D"]
position = Vector2(0.800001, 18.6)
scale = Vector2(0.4, 0.4)
texture = ExtResource("1_sq58r")
@ -39,7 +39,7 @@ position = Vector2(4.40004, 18)
scale = Vector2(0.4, 0.4)
texture = ExtResource("2_bhlym")
[node name="MortarPart(1)" type="Sprite2D" parent="CharacterBody2D"]
[node name="lifter - 2" type="Sprite2D" parent="CharacterBody2D"]
position = Vector2(0.800001, 31.6)
scale = Vector2(0.4, 0.4)
texture = ExtResource("3_82ftk")

View File

@ -11,6 +11,9 @@ const ARROW = preload("res://Game/Bullets/arrow.tscn")
const MAGIC = preload("res://Game/Bullets/magic.tscn")
const ROCK = preload("res://Game/Bullets/rock.tscn")
var lifter = false
var lifteramount = 0
func _ready() -> void:
follower = true
get_node("CharacterBody2D/Area2D").body_entered.connect(choose_target)
@ -24,6 +27,18 @@ func _process(delta: float) -> void:
if not target:
if get_node("CharacterBody2D/Area2D").get_overlapping_bodies():
choose_target(null)
if lifter:
lifteramount += 4
if lifteramount <= 40:
get_node("CharacterBody2D/lifter - 1").position.y -= 4
get_node("CharacterBody2D/lifter - 2").position.y -= 4
elif lifteramount >= 40 and lifteramount <= 80:
get_node("CharacterBody2D/lifter - 1").position.y += 4
get_node("CharacterBody2D/lifter - 2").position.y += 4
elif lifteramount >= 80:
lifteramount = 0
lifter = false
func set_properties() -> void:
if self.name.contains("ArcherTower"):
@ -36,7 +51,7 @@ func set_properties() -> void:
hitpoint = 10
if self.name.contains("MortarTower"): #??? not sure if necessary yet
get_node("Timer").wait_time = 5
hitpoint = 10
hitpoint = 80
func get_if_moving_state():
return follower
@ -50,11 +65,11 @@ func choose_target(body : Node2D) -> void:
if not follower:
var surroinding_enemies = get_node("CharacterBody2D/Area2D").get_overlapping_bodies()
target = surroinding_enemies[0]
if self.name.contains("ArcherTower"):
if self.name.contains("ArcherTower") or self.name.contains("MortarTower"):
for i in surroinding_enemies:
if i.get_parent().get_progress() > target.get_parent().get_progress():
target = i
if self.name.contains("WizardTower") or self.name.contains("MortarTower"):
if self.name.contains("WizardTower"):
for i in surroinding_enemies:
if i.get_parent().get_progress() < target.get_parent().get_progress():
target = i
@ -88,5 +103,5 @@ func shoot() -> void:
rock.set_targe(target)
rock.set_hitpoint(hitpoint)
get_parent().add_child(rock)
lifter = true
pass