H2Grow/Scripts/WaterThing.gd

41 lines
1,023 B
GDScript

extends Area2D
var broken = false
var hits_left = 3
var player = false
var player_body = null
func replace_numbers(name: String) -> String:
var new_name = name
for i in range(10):
new_name = new_name.replace(str(i), "")
return new_name
func _on_body_entered(body):
if body.get_parent().name == "Player":
player = true
player_body = body.get_parent()
func _on_body_exited(body):
if body.get_parent().name == "Player":
player = false
player_body = null
func _process(delta):
if player && player_body != null:
if Input.is_action_just_pressed("punch"):
if hits_left > 0:
$PunchPlayer.play()
hits_left -= 1
if hits_left == 0 && !broken:
# Mod Thing
$BreakPlayer.play()
$Sprite.texture = load("res://Sprites/Water/Broken/" + replace_numbers(name) + ".png")
broken = true
# Mod Player
player_body.scale += Vector2(0.05, 0.05)
player_body.get_node("CollisionShape2D").scale -= Vector2(0.05, 0.05)
player_body.speed -= 0.5
# Add points
Utils.points += 1