wild jam prototype
This commit is contained in:
@@ -3,6 +3,7 @@ class_name Attack
|
||||
|
||||
@onready var cpu_particles_2d: CPUParticles2D = $CPUParticles2D
|
||||
@onready var area_2d: Area2D = $Area2D
|
||||
@onready var collision_shape_2d: CollisionShape2D = $Area2D/CollisionShape2D
|
||||
|
||||
var initiator: Entity
|
||||
|
||||
@@ -13,11 +14,15 @@ func set_initiator(entity: Entity) -> void:
|
||||
func _ready() -> void:
|
||||
cpu_particles_2d.emitting = true
|
||||
cpu_particles_2d.color = initiator.color
|
||||
collision_shape_2d.shape.radius = initiator.attack_pow
|
||||
cpu_particles_2d.initial_velocity_min = float(initiator.attack_pow) * 4.0
|
||||
cpu_particles_2d.initial_velocity_max = float(initiator.attack_pow) * 4.0
|
||||
|
||||
func _on_cpu_particles_2d_finished() -> void:
|
||||
var collisions := area_2d.get_overlapping_bodies()
|
||||
for object in collisions:
|
||||
if object is Entity and object != initiator:
|
||||
object.hit()
|
||||
print("attack hit %s" % collisions.size())
|
||||
var color_diff = object.color - initiator.color
|
||||
if abs(color_diff.r) + abs(color_diff.g) + abs(color_diff.b) > 0.5:
|
||||
object.hit()
|
||||
queue_free()
|
||||
|
||||
Reference in New Issue
Block a user