extends Area2D const BloodStain := preload("res://objects/environment/blood/blood_stain.tscn") const PlayerStain := preload("res://objects/player/player_stain.tscn") export var color: Color = Color(0xf53342ff) export var stains_player: bool = true var velocity := Vector2.ZERO onready var sprite: Sprite = $Sprite func _ready() -> void: sprite.self_modulate = color func _physics_process(delta: float) -> void: velocity.y += 98.0 * delta position += velocity * delta sprite.global_rotation = velocity.angle() func _on_body_entered(body: Node) -> void: if body.is_in_group("can_stain"): var stain = BloodStain.instance() stain.modulate = color stain.global_position = global_position StainLayer.add_stain(stain) queue_free() elif body is TileMap: queue_free() elif stains_player and body.is_in_group("player"): var stain = PlayerStain.instance() stain.color = color body.get_node("Graphics/Sprite").add_child(stain) stain.global_position = global_position queue_free()