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,10 +1,9 @@
extends Weapon
class_name HitscanWeapon
class_name HitscanWeapon extends Weapon
@export var raycast : RayCast3D
@export var range_debug_indicator : CSGSphere3D
@export var raycast: RayCast3D
@export var range_debug_indicator: CSGSphere3D
var attack_range := 0.0
var attack_range: float = 0.0
func _ready() -> void:
@@ -15,12 +14,12 @@ func _ready() -> void:
raycast.global_position = hero.camera.global_position
func shoot():
func shoot() -> void:
super.shoot()
if raycast.is_colliding():
var target = raycast.get_collider()
var target: CharacterBody3D = raycast.get_collider()
if target != null:
var target_hitbox = target.shape_owner_get_owner(raycast.get_collider_shape())
var target_hitbox: Hitbox = target.shape_owner_get_owner(raycast.get_collider_shape())
if target_hitbox is Hitbox:
hit(target, target_hitbox)
if Data.preferences.display_self_damage_indicators:
@@ -28,14 +27,14 @@ func shoot():
networked_hit.rpc(get_tree().root.get_path_to(target), get_tree().root.get_path_to(target_hitbox))
func hit(_target, target_hitbox : Hitbox):
func hit(_target: CharacterBody3D, target_hitbox: Hitbox) -> void:
target_hitbox.damage(damage)
@rpc("reliable")
func networked_hit(target_path : String, target_hitbox_path : String):
var target = get_tree().root.get_node(target_path)
var target_hitbox = get_tree().root.get_node(target_hitbox_path) as Hitbox
func networked_hit(target_path: String, target_hitbox_path: String) -> void:
var target: CharacterBody3D = get_tree().root.get_node(target_path)
var target_hitbox: Hitbox = get_tree().root.get_node(target_hitbox_path) as Hitbox
hit(target, target_hitbox)
if Data.preferences.display_party_damage_indicators:
spawn_damage_indicator(target.sprite.global_position)

View File

@@ -1,25 +1,24 @@
extends Weapon
class_name ProjectileWeapon
class_name ProjectileWeapon extends Weapon
@export var projectile_scene : PackedScene
@export var projectile_scene: PackedScene
var force := 20.0
var projectile_id := 0
var force: float = 20.0
var projectile_id: int = 0
func shoot():
func shoot() -> void:
super.shoot()
networked_spawn_projectile.rpc(multiplayer.get_unique_id(), -global_transform.basis.z)
@rpc("reliable")
func networked_shoot():
func networked_shoot() -> void:
super.networked_shoot()
@rpc("reliable", "call_local")
func networked_spawn_projectile(peer_id, direction):
var projectile = projectile_scene.instantiate() as Projectile
func networked_spawn_projectile(peer_id: int, direction: Vector3) -> void:
var projectile: Projectile = projectile_scene.instantiate() as Projectile
projectile.position = global_position
projectile.damage = damage
projectile.direction = direction

View File

@@ -1,12 +1,11 @@
extends Weapon
class_name ShapecastWeapon
class_name ShapecastWeapon extends Weapon
@export var shapecast : ShapeCast3D
@export var range_debug_indicator : CSGSphere3D
@export var status_stats : StatusStats
@export var particles : GPUParticles3D
@export var shapecast: ShapeCast3D
@export var range_debug_indicator: CSGSphere3D
@export var status_stats: StatusStats
@export var particles: GPUParticles3D
var attack_range := 0.0
var attack_range: float = 0.0
func _ready() -> void:
@@ -22,12 +21,12 @@ func _process(delta: float) -> void:
particles.emitting = trigger_held
func shoot():
func shoot() -> void:
super.shoot()
for index in shapecast.get_collision_count():
var target = shapecast.get_collider(index)
for index: int in shapecast.get_collision_count():
var target: CharacterBody3D = shapecast.get_collider(index)
if target:
var target_hitbox = target.shape_owner_get_owner(shapecast.get_collider_shape(index))
var target_hitbox: Hitbox = target.shape_owner_get_owner(shapecast.get_collider_shape(index))
if target_hitbox is Hitbox:
hit(target, target_hitbox)
if Data.preferences.display_self_damage_indicators:
@@ -36,20 +35,20 @@ func shoot():
func build_status_object() -> StatusEffect:
var status = StatusEffect.new()
var status: StatusEffect = StatusEffect.new()
status.stats = status_stats
return status
func hit(target, target_hitbox : Hitbox):
func hit(target: CharacterBody3D, target_hitbox: Hitbox) -> void:
target_hitbox.damage(damage)
target.status_manager.add_effect(build_status_object())
@rpc("reliable")
func networked_hit(target_path : String, target_hitbox_path : String):
var target = get_tree().root.get_node(target_path)
var target_hitbox = get_tree().root.get_node(target_hitbox_path) as Hitbox
func networked_hit(target_path: String, target_hitbox_path: String) -> void:
var target: CharacterBody3D = get_tree().root.get_node(target_path) as CharacterBody3D
var target_hitbox: Hitbox = get_tree().root.get_node(target_hitbox_path) as Hitbox
hit(target, target_hitbox)
if Data.preferences.display_party_damage_indicators:
spawn_damage_indicator(target.sprite.global_position)

View File

@@ -1,15 +1,14 @@
extends HitscanWeapon
class_name StatusApplyingWeapon
class_name StatusApplyingWeapon extends HitscanWeapon
@export var status_stats : StatusStats
@export var status_stats: StatusStats
func hit(target, target_hitbox : Hitbox):
func hit(target: CharacterBody3D, target_hitbox: Hitbox) -> void:
super.hit(target, target_hitbox)
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

View File

@@ -1,27 +1,26 @@
extends Node3D
class_name Weapon
class_name Weapon extends Node3D
signal energy_changed(energy)
signal energy_changed(energy: int)
@export var stats : CardText
@export var animator : AnimationPlayer
@export var audio_player : AudioStreamPlayer3D
@export var recharge_timer : Timer
@export var stats: CardText
@export var animator: AnimationPlayer
@export var audio_player: AudioStreamPlayer3D
@export var recharge_timer: Timer
var damage_particle_scene = preload("res://Scenes/damage_particle.tscn")
var hero : Hero
var trigger_held := false
var second_trigger_held := false
var time_since_firing := 0.0
var time_between_shots := 0.0
var damage := 0.0
var max_energy := 100.0
var current_energy := 100.0
var energy_cost := 1.0
var recharging := false
var recharge_speed := 0.0
var recharge_acceleration = 2.0
var recharge_max_speed = 25.0
var damage_particle_scene: PackedScene = preload("res://Scenes/damage_particle.tscn")
var hero: Hero
var trigger_held: bool = false
var second_trigger_held: bool = false
var time_since_firing: float = 0.0
var time_between_shots: float = 0.0
var damage: float = 0.0
var max_energy: float = 100.0
var current_energy: float = 100.0
var energy_cost: float = 1.0
var recharging: bool = false
var recharge_speed: float = 0.0
var recharge_acceleration: float = 2.0
var recharge_max_speed: float = 25.0
func _ready() -> void:
@@ -30,7 +29,7 @@ func _ready() -> void:
energy_cost = stats.get_attribute("Energy")
func set_hero(value):
func set_hero(value: Hero) -> void:
hero = value
@@ -56,33 +55,33 @@ func _physics_process(_delta: float) -> void:
networked_shoot.rpc()
func hold_trigger():
func hold_trigger() -> void:
trigger_held = true
func release_trigger():
func release_trigger() -> void:
if trigger_held:
recharge_timer.start()
trigger_held = false
func hold_second_trigger():
func hold_second_trigger() -> void:
second_trigger_held = true
func release_second_trigger():
func release_second_trigger() -> void:
second_trigger_held = false
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
func shoot():
func shoot() -> void:
animator.play("shoot")
audio_player.play()
recharging = false
@@ -91,7 +90,7 @@ func shoot():
@rpc
func networked_shoot():
func networked_shoot() -> void:
animator.play("shoot")
audio_player.play()