enabled enforced static typing
This commit is contained in:
@ -1,11 +1,10 @@
|
||||
extends Projectile
|
||||
class_name ExplosiveProjectile
|
||||
class_name ExplosiveProjectile extends Projectile
|
||||
|
||||
@export var explosion_range := 3.0
|
||||
@export var explosion_range: float = 3.0
|
||||
|
||||
var exploded := false
|
||||
var sound_done := false
|
||||
var particles_done := false
|
||||
var exploded: bool = false
|
||||
var sound_done: bool = false
|
||||
var particles_done: bool = false
|
||||
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
@ -18,12 +17,12 @@ func _on_body_entered(_body: Node) -> void:
|
||||
explode()
|
||||
|
||||
|
||||
func explode():
|
||||
func explode() -> void:
|
||||
if is_multiplayer_authority() and !exploded:
|
||||
freeze = true
|
||||
exploded = true
|
||||
$CollisionShape3D.call_deferred("set_disabled", true)
|
||||
for enemy in get_tree().get_nodes_in_group("Enemies"):
|
||||
for enemy: EnemyController in get_tree().get_nodes_in_group("Enemies"):
|
||||
if global_position.distance_to(enemy.global_position) <= explosion_range:
|
||||
hit(enemy)
|
||||
networked_hit.rpc(get_tree().root.get_path_to(enemy))
|
||||
@ -33,7 +32,7 @@ func explode():
|
||||
$AudioStreamPlayer.play()
|
||||
|
||||
|
||||
func hit(target):
|
||||
func hit(target: CharacterBody3D) -> void:
|
||||
target.damage(damage)
|
||||
if owner_id == 0:
|
||||
if Data.preferences.display_tower_damage_indicators:
|
||||
@ -47,13 +46,13 @@ func hit(target):
|
||||
|
||||
|
||||
@rpc("reliable")
|
||||
func networked_hit(target_node_path):
|
||||
var target = get_tree().root.get_node(target_node_path)
|
||||
func networked_hit(target_node_path: String) -> void:
|
||||
var target: CharacterBody3D = get_tree().root.get_node(target_node_path)
|
||||
hit(target)
|
||||
|
||||
|
||||
@rpc("reliable")
|
||||
func networked_kill():
|
||||
func networked_kill() -> void:
|
||||
$Sprite3D.set_visible(false)
|
||||
$GPUParticles3D.emitting = true
|
||||
$AudioStreamPlayer.play()
|
||||
|
@ -1,9 +1,8 @@
|
||||
extends ExplosiveProjectile
|
||||
class_name HomingProjectile
|
||||
class_name HomingProjectile extends ExplosiveProjectile
|
||||
|
||||
var target : Node3D
|
||||
var acceleration := 50.0
|
||||
var max_speed := 13.0
|
||||
var target: Node3D
|
||||
var acceleration: float = 50.0
|
||||
var max_speed: float = 13.0
|
||||
|
||||
|
||||
func _physics_process(_delta: float) -> void:
|
||||
|
@ -1,15 +1,14 @@
|
||||
extends RigidBody3D
|
||||
class_name Projectile
|
||||
class_name Projectile extends RigidBody3D
|
||||
|
||||
@export var collision_shape : CollisionShape3D
|
||||
@export var collision_shape: CollisionShape3D
|
||||
|
||||
var damage_particle_scene = preload("res://Scenes/damage_particle.tscn")
|
||||
var owner_id = 0 #should be left unchanged by towers, 1 for host, peer_id on peers
|
||||
var direction := Vector3.FORWARD
|
||||
var force := 2.0
|
||||
var damage := 0.0
|
||||
var lifetime := 10.0
|
||||
var time_alive := 0.0
|
||||
var damage_particle_scene: PackedScene = preload("res://Scenes/damage_particle.tscn")
|
||||
var owner_id: int = 0 #should be left unchanged by towers, 1 for host, peer_id on peers
|
||||
var direction: Vector3= Vector3.FORWARD
|
||||
var force: float = 2.0
|
||||
var damage: float = 0.0
|
||||
var lifetime: float = 10.0
|
||||
var time_alive: float = 0.0
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
@ -20,9 +19,9 @@ func _process(delta: float) -> void:
|
||||
time_alive += delta
|
||||
|
||||
|
||||
func spawn_damage_indicator(pos):
|
||||
func spawn_damage_indicator(pos: Vector3) -> void:
|
||||
if damage > 0:
|
||||
var marker = damage_particle_scene.instantiate()
|
||||
var marker: Node3D = damage_particle_scene.instantiate()
|
||||
get_tree().root.add_child(marker)
|
||||
marker.set_number(damage)
|
||||
marker.position = pos
|
||||
@ -33,5 +32,5 @@ func _on_body_entered(_body: Node) -> void:
|
||||
|
||||
|
||||
@rpc("reliable")
|
||||
func networked_kill():
|
||||
func networked_kill() -> void:
|
||||
queue_free()
|
||||
|
@ -1,15 +1,14 @@
|
||||
extends ExplosiveProjectile
|
||||
class_name StatusApplyingProjectile
|
||||
class_name StatusApplyingProjectile extends ExplosiveProjectile
|
||||
|
||||
@export var status_stats : StatusStats
|
||||
@export var status_stats: StatusStats
|
||||
|
||||
|
||||
func hit(target):
|
||||
func hit(target: CharacterBody3D) -> void:
|
||||
super.hit(target)
|
||||
target.status_manager.add_effect(build_status_object())
|
||||
|
||||
|
||||
func build_status_object() -> StatusEffect:
|
||||
var status = StatusEffect.new()
|
||||
var status: StatusEffect = StatusEffect.new()
|
||||
status.stats = status_stats
|
||||
return status
|
||||
|
Reference in New Issue
Block a user