enabled enforced static typing

This commit is contained in:
2024-02-22 06:22:22 +11:00
parent e1a867d2a9
commit a93660f755
1645 changed files with 24730 additions and 2078 deletions

View File

@ -1,8 +1,7 @@
extends Tower
class_name HitscanTower
class_name HitscanTower extends Tower
func shoot():
func shoot() -> void:
super.shoot()
if targeted_enemy and is_instance_valid(targeted_enemy) and targeted_enemy.alive:
targeted_enemy.damage(damage)
@ -11,5 +10,5 @@ func shoot():
@rpc("reliable")
func networked_shoot():
func networked_shoot() -> void:
super.networked_shoot()

View File

@ -1,26 +1,25 @@
extends Tower
class_name ProjectileTower
class_name ProjectileTower extends Tower
@export var projectile_scene : PackedScene
@export var projectile_scene: PackedScene
var force := 150.0
var projectile_id := 0
var force: float = 150.0
var projectile_id: int = 0
func shoot():
func shoot() -> void:
if is_multiplayer_authority():
networked_spawn_projectile.rpc(multiplayer.get_unique_id())
@rpc("reliable")
func networked_shoot():
func networked_shoot() -> void:
super.networked_shoot()
shoot()
@rpc("reliable", "call_local")
func networked_spawn_projectile(peer_id):
var projectile = projectile_scene.instantiate() as Projectile
func networked_spawn_projectile(peer_id: int) -> Projectile:
var projectile: Projectile = projectile_scene.instantiate() as Projectile
projectile.position = yaw_model.global_position
projectile.damage = damage
projectile.direction = -yaw_model.global_transform.basis.z

View File

@ -1,27 +1,26 @@
extends StatusApplyingTower
class_name RangeAffectingTower
class_name RangeAffectingTower extends StatusApplyingTower
func _physics_process(_delta: float) -> void:
if !is_multiplayer_authority():
return
var enemies_in_range = []
for enemy in get_tree().get_nodes_in_group("Enemies"):
var enemies_in_range: Array = []
for enemy: EnemyController in get_tree().get_nodes_in_group("Enemies"):
if !is_instance_valid(enemy) or !enemy.alive or global_position.distance_to(enemy.global_position) > target_range:
continue
if enemy.stats.target_type & stats.target_type:
enemies_in_range.append(enemy)
if time_since_firing >= time_between_shots:
time_since_firing -= time_between_shots
for enemy in enemies_in_range:
for enemy: EnemyController in enemies_in_range:
fire(enemy)
func aim():
func aim() -> void:
pass
func fire(target):
func fire(target: EnemyController) -> void:
if is_instance_valid(target) and target.alive:
target.damage(damage)
target.status_manager.add_effect(build_status_object())
@ -32,6 +31,6 @@ func fire(target):
@rpc("reliable")
func networked_fire(target_node_path):
var target = get_tree().root.get_node(target_node_path)
func networked_fire(target_node_path: String) -> void:
var target: EnemyController = get_tree().root.get_node(target_node_path)
fire(target)

View File

@ -1,9 +1,8 @@
extends Tower
class_name ShapecastTower
class_name ShapecastTower extends Tower
@export var shapecast : ShapeCast3D
@export var particlesystem : GPUParticles3D
@export var status_stats : StatusStats
@export var shapecast: ShapeCast3D
@export var particlesystem: GPUParticles3D
@export var status_stats: StatusStats
func _process(delta: float) -> void:
@ -14,19 +13,19 @@ func _process(delta: float) -> void:
particlesystem.emitting = false
func shoot():
for index in shapecast.get_collision_count():
var target = shapecast.get_collider(index) as CharacterBody3D
func shoot() -> void:
for index: int in shapecast.get_collision_count():
var target: CharacterBody3D = shapecast.get_collider(index) as CharacterBody3D
hit(target)
func aim():
func aim() -> void:
yaw_model.look_at(targeted_enemy.global_position)
pitch_model.look_at(targeted_enemy.global_position)
pitch_model.rotation.x = 0.0
func hit(target):
func hit(target: CharacterBody3D) -> void:
if is_instance_valid(target) and target.alive:
target.damage(damage)
if Data.preferences.display_tower_damage_indicators:
@ -37,12 +36,12 @@ func hit(target):
func build_status_object() -> StatusEffect:
var status = StatusEffect.new()
var status: StatusEffect = StatusEffect.new()
status.stats = status_stats
return status
@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) as CharacterBody3D
hit(target)

View File

@ -1,10 +1,9 @@
extends HitscanTower
class_name StatusApplyingTower
class_name StatusApplyingTower extends HitscanTower
@export var status_stats : StatusStats
@export var status_stats: StatusStats
func shoot():
func shoot() -> void:
super.shoot()
if targeted_enemy and is_instance_valid(targeted_enemy) and targeted_enemy.alive:
targeted_enemy.damage(damage)
@ -12,11 +11,11 @@ func shoot():
func build_status_object() -> StatusEffect:
var status = StatusEffect.new()
var status: StatusEffect = StatusEffect.new()
status.stats = status_stats
return status
@rpc("reliable")
func networked_shoot():
func networked_shoot() -> void:
super.networked_shoot()

View File

@ -1,21 +1,20 @@
extends Node3D
class_name Tower
class_name Tower extends Node3D
@export var stats : CardText
@export var animator : AnimationPlayer
@export var pitch_model : MeshInstance3D
@export var yaw_model : MeshInstance3D
@export var range_indicator : CSGSphere3D
@export var audio_player : AudioStreamPlayer3D
@export var stats: CardText
@export var animator: AnimationPlayer
@export var pitch_model: MeshInstance3D
@export var yaw_model: MeshInstance3D
@export var range_indicator: CSGSphere3D
@export var audio_player: AudioStreamPlayer3D
var owner_id : int
var damage_particle_scene = preload("res://Scenes/damage_particle.tscn")
var base_name
var targeted_enemy
var time_since_firing := 0.0
var time_between_shots := 0.0
var damage := 0.0
var target_range := 0.0
var owner_id: int
var damage_particle_scene: PackedScene = preload("res://Scenes/damage_particle.tscn")
var base_name: String
var targeted_enemy: EnemyController
var time_since_firing: float = 0.0
var time_between_shots: float = 0.0
var damage: float = 0.0
var target_range: float = 0.0
func _ready() -> void:
@ -25,7 +24,7 @@ func _ready() -> void:
range_indicator.radius = target_range
func preview_range(value):
func preview_range(value: bool) -> void:
range_indicator.set_visible(value)
@ -57,19 +56,19 @@ func _physics_process(_delta: float) -> void:
shoot()
func aim():
func aim() -> void:
yaw_model.look_at(targeted_enemy.global_position)
pitch_model.look_at(targeted_enemy.global_position)
pitch_model.rotation.x = 0.0
func acquire_target():
var most_progressed_enemy = null
for enemy in get_tree().get_nodes_in_group("Enemies"):
func acquire_target() -> void:
var most_progressed_enemy: EnemyController = null
for enemy: EnemyController in get_tree().get_nodes_in_group("Enemies"):
if global_position.distance_to(enemy.global_position) > target_range:
continue
var em_1 = enemy.movement_controller as EnemyMovement
var em_2 : EnemyMovement
var em_1: EnemyMovement = enemy.movement_controller as EnemyMovement
var em_2: EnemyMovement
if most_progressed_enemy != null:
em_2 = most_progressed_enemy.movement_controller as EnemyMovement
if (most_progressed_enemy == null or em_1.distance_remaining < em_2.distance_remaining) and enemy.stats.target_type & stats.target_type:
@ -79,26 +78,26 @@ func acquire_target():
networked_acquire_target.rpc(get_tree().root.get_path_to(most_progressed_enemy))
func shoot():
func shoot() -> void:
animator.play("shoot")
audio_player.play()
if is_multiplayer_authority():
networked_shoot.rpc()
func spawn_damage_indicator(pos):
func spawn_damage_indicator(pos: Vector3) -> void:
if damage > 0:
var marker = damage_particle_scene.instantiate()
var marker: Sprite3D = damage_particle_scene.instantiate()
get_tree().root.add_child(marker)
marker.set_number(damage)
marker.position = pos
@rpc("reliable")
func networked_shoot():
func networked_shoot() -> void:
shoot()
@rpc("reliable")
func networked_acquire_target(target_node_path):
func networked_acquire_target(target_node_path: String) -> void:
targeted_enemy = get_tree().root.get_node(target_node_path)