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
Assets
KeybindEntry.gd
PCs
Entomologist
Mage
Mechanic
ClassCards
Assault
BombLauncher
Flamethrower
Gatling
GlueLauncher
Reactor
RocketLauncher
Sniper
red.pngred.png.importred.tresred_hand.pngred_hand.png.importred_hand.png~
Universal
hero.gdhero.tscnplayer_movement.gdview_movement.gd
Resources/Keymaps
Scenes
Scripts
Worlds
XeluController&KeyPrompts
Keyboard & Mouse
Blanks
Dark
0_Key_Dark.png0_Key_Dark.png.import10_Key_Dark.png10_Key_Dark.png.import11_Key_Dark.png11_Key_Dark.png.import12_Key_Dark.png12_Key_Dark.png.import1_Key_Dark.png1_Key_Dark.png.import2_Key_Dark.png2_Key_Dark.png.import3_Key_Dark.png3_Key_Dark.png.import4_Key_Dark.png4_Key_Dark.png.import5_Key_Dark.png5_Key_Dark.png.import6_Key_Dark.png6_Key_Dark.png.import7_Key_Dark.png7_Key_Dark.png.import8_Key_Dark.png8_Key_Dark.png.import9_Key_Dark.png9_Key_Dark.png.importA_Key_Dark.pngA_Key_Dark.png.importAlt_Key_Dark.pngAlt_Key_Dark.png.importArrow_Down_Key_Dark.pngArrow_Down_Key_Dark.png.importArrow_Left_Key_Dark.pngArrow_Left_Key_Dark.png.importArrow_Right_Key_Dark.pngArrow_Right_Key_Dark.png.importArrow_Up_Key_Dark.pngArrow_Up_Key_Dark.png.importAsterisk_Key_Dark.pngAsterisk_Key_Dark.png.importB_Key_Dark.pngB_Key_Dark.png.importBackspace_Alt_Key_Dark.pngBackspace_Alt_Key_Dark.png.importBackspace_Key_Dark.pngBackspace_Key_Dark.png.importBracket_Left_Key_Dark.pngBracket_Left_Key_Dark.png.importBracket_Right_Key_Dark.pngBracket_Right_Key_Dark.png.importC_Key_Dark.pngC_Key_Dark.png.importCaps_Lock_Key_Dark.pngCaps_Lock_Key_Dark.png.importCommand_Key_Dark.pngCommand_Key_Dark.png.importCtrl_Key_Dark.pngCtrl_Key_Dark.png.importD_Key_Dark.pngD_Key_Dark.png.importDel_Key_Dark.pngDel_Key_Dark.png.importE_Key_Dark.pngE_Key_Dark.png.importEnd_Key_Dark.pngEnd_Key_Dark.png.importEnter_Alt_Key_Dark.pngEnter_Alt_Key_Dark.png.importEnter_Key_Dark.pngEnter_Key_Dark.png.importEnter_Tall_Key_Dark.pngEnter_Tall_Key_Dark.png.importEsc_Key_Dark.pngEsc_Key_Dark.png.importF10_Key_Dark.pngF10_Key_Dark.png.importF11_Key_Dark.pngF11_Key_Dark.png.importF12_Key_Dark.pngF12_Key_Dark.png.importF1_Key_Dark.pngF1_Key_Dark.png.importF2_Key_Dark.pngF2_Key_Dark.png.importF3_Key_Dark.pngF3_Key_Dark.png.importF4_Key_Dark.pngF4_Key_Dark.png.importF5_Key_Dark.pngF5_Key_Dark.png.importF6_Key_Dark.pngF6_Key_Dark.png.importF7_Key_Dark.pngF7_Key_Dark.png.importF8_Key_Dark.pngF8_Key_Dark.png.importF9_Key_Dark.pngF9_Key_Dark.png.importF_Key_Dark.pngF_Key_Dark.png.importG_Key_Dark.pngG_Key_Dark.png.importH_Key_Dark.pngH_Key_Dark.png.importHome_Key_Dark.pngHome_Key_Dark.png.importI_Key_Dark.pngI_Key_Dark.png.importInsert_Key_Dark.pngInsert_Key_Dark.png.importJ_Key_Dark.pngJ_Key_Dark.png.importK_Key_Dark.pngK_Key_Dark.png.importL_Key_Dark.pngL_Key_Dark.png.importM_Key_Dark.pngM_Key_Dark.png.importMark_Left_Key_Dark.pngMark_Left_Key_Dark.png.importMark_Right_Key_Dark.pngMark_Right_Key_Dark.png.importMinus_Key_Dark.pngMinus_Key_Dark.png.importMouse_Left_Key_Dark.pngMouse_Left_Key_Dark.png.importMouse_Middle_Key_Dark.pngMouse_Middle_Key_Dark.png.importMouse_Right_Key_Dark.pngMouse_Right_Key_Dark.png.importMouse_Simple_Key_Dark.pngMouse_Simple_Key_Dark.png.importN_Key_Dark.pngN_Key_Dark.png.importNum_Lock_Key_Dark.pngNum_Lock_Key_Dark.png.importO_Key_Dark.pngO_Key_Dark.png.importP_Key_Dark.pngP_Key_Dark.png.importPage_Down_Key_Dark.pngPage_Down_Key_Dark.png.importPage_Up_Key_Dark.pngPage_Up_Key_Dark.png.importPlus_Key_Dark.pngPlus_Key_Dark.png.importPlus_Tall_Key_Dark.pngPlus_Tall_Key_Dark.png.importPrint_Screen_Key_Dark.pngPrint_Screen_Key_Dark.png.importQ_Key_Dark.pngQ_Key_Dark.png.importQuestion_Key_Dark.pngQuestion_Key_Dark.png.importQuote_Key_Dark.pngQuote_Key_Dark.png.importR_Key_Dark.pngR_Key_Dark.png.importS_Key_Dark.pngS_Key_Dark.png.importSemicolon_Key_Dark.pngSemicolon_Key_Dark.png.importShift_Alt_Key_Dark.pngShift_Alt_Key_Dark.png.importShift_Key_Dark.pngShift_Key_Dark.png.importSlash_Key_Dark.pngSlash_Key_Dark.png.importSpace_Key_Dark.pngSpace_Key_Dark.png.importT_Key_Dark.pngT_Key_Dark.png.importTab_Key_Dark.pngTab_Key_Dark.png.importTilda_Key_Dark.pngTilda_Key_Dark.png.importU_Key_Dark.pngU_Key_Dark.png.importV_Key_Dark.pngV_Key_Dark.png.importW_Key_Dark.pngW_Key_Dark.png.importWin_Key_Dark.pngWin_Key_Dark.png.importX_Key_Dark.pngX_Key_Dark.png.importY_Key_Dark.pngY_Key_Dark.png.importZ_Key_Dark.pngZ_Key_Dark.png.import
Light
0_Key_Light.png0_Key_Light.png.import10_Key_Light.png10_Key_Light.png.import11_Key_Light.png11_Key_Light.png.import12_Key_Light.png12_Key_Light.png.import1_Key_Light.png1_Key_Light.png.import2_Key_Light.png2_Key_Light.png.import3_Key_Light.png3_Key_Light.png.import4_Key_Light.png4_Key_Light.png.import5_Key_Light.png5_Key_Light.png.import6_Key_Light.png6_Key_Light.png.import7_Key_Light.png7_Key_Light.png.import8_Key_Light.png8_Key_Light.png.import9_Key_Light.png9_Key_Light.png.importA_Key_Light.pngA_Key_Light.png.importAlt_Key_Light.pngAlt_Key_Light.png.importArrow_Down_Key_Light.pngArrow_Down_Key_Light.png.importArrow_Left_Key_Light.pngArrow_Left_Key_Light.png.importArrow_Right_Key_Light.pngArrow_Right_Key_Light.png.importArrow_Up_Key_Light.pngArrow_Up_Key_Light.png.importAsterisk_Key_Light.pngAsterisk_Key_Light.png.importB_Key_Light.pngB_Key_Light.png.importBackspace_Alt_Key_Light.pngBackspace_Alt_Key_Light.png.importBackspace_Key_Light.pngBackspace_Key_Light.png.importBracket_Left_Key_Light.pngBracket_Left_Key_Light.png.importBracket_Right_Key_Light.pngBracket_Right_Key_Light.png.importC_Key_Light.pngC_Key_Light.png.importCaps_Lock_Key_Light.pngCaps_Lock_Key_Light.png.importCommand_Key_Light.pngCommand_Key_Light.png.importCtrl_Key_Light.pngCtrl_Key_Light.png.importD_Key_Light.pngD_Key_Light.png.importDel_Key_Light.pngDel_Key_Light.png.importE_Key_Light.pngE_Key_Light.png.importEnd_Key_Light.pngEnd_Key_Light.png.importEnter_Alt_Key_Light.pngEnter_Alt_Key_Light.png.importEnter_Key_Light.pngEnter_Key_Light.png.importEnter_Tall_Key_Light.pngEnter_Tall_Key_Light.png.importEsc_Key_Light.pngEsc_Key_Light.png.importF10_Key_Light.pngF10_Key_Light.png.importF11_Key_Light.pngF11_Key_Light.png.importF12_Key_Light.pngF12_Key_Light.png.importF1_Key_Light.pngF1_Key_Light.png.importF2_Key_Light.pngF2_Key_Light.png.importF3_Key_Light.pngF3_Key_Light.png.importF4_Key_Light.pngF4_Key_Light.png.importF5_Key_Light.pngF5_Key_Light.png.importF6_Key_Light.pngF6_Key_Light.png.importF7_Key_Light.pngF7_Key_Light.png.importF8_Key_Light.pngF8_Key_Light.png.importF9_Key_Light.pngF9_Key_Light.png.importF_Key_Light.pngF_Key_Light.png.importG_Key_Light.pngG_Key_Light.png.importH_Key_Light.pngH_Key_Light.png.importHome_Key_Light.pngHome_Key_Light.png.importI_Key_Light.pngI_Key_Light.png.importInsert_Key_Light.pngInsert_Key_Light.png.importJ_Key_Light.pngJ_Key_Light.png.importK_Key_Light.pngK_Key_Light.png.importL_Key_Light.pngL_Key_Light.png.importM_Key_Light.pngM_Key_Light.png.importMark_Left_Key_Light.pngMark_Left_Key_Light.png.importMark_Right_Key_Light.pngMark_Right_Key_Light.png.importMinus_Key_Light.pngMinus_Key_Light.png.importMouse_Left_Key_Light.pngMouse_Left_Key_Light.png.importMouse_Middle_Key_Light.pngMouse_Middle_Key_Light.png.importMouse_Right_Key_Light.pngMouse_Right_Key_Light.png.importMouse_Simple_Key_Light.pngMouse_Simple_Key_Light.png.importN_Key_Light.pngN_Key_Light.png.importNum_Lock_Key_Light.pngNum_Lock_Key_Light.png.importO_Key_Light.pngO_Key_Light.png.importP_Key_Light.pngP_Key_Light.png.importPage_Down_Key_Light.pngPage_Down_Key_Light.png.importPage_Up_Key_Light.pngPage_Up_Key_Light.png.importPlus_Key_Light.pngPlus_Key_Light.png.importPlus_Tall_Key_Light.pngPlus_Tall_Key_Light.png.importPrint_Screen_Key_Light.pngPrint_Screen_Key_Light.png.importQ_Key_Light.pngQ_Key_Light.png.importQuestion_Key_Light.pngQuestion_Key_Light.png.importQuote_Key_Light.pngQuote_Key_Light.png.importR_Key_Light.pngR_Key_Light.png.importS_Key_Light.pngS_Key_Light.png.importSemicolon_Key_Light.pngSemicolon_Key_Light.png.importShift_Alt_Key_Light.pngShift_Alt_Key_Light.png.importShift_Key_Light.pngShift_Key_Light.png.importSlash_Key_Light.pngSlash_Key_Light.png.importSpace_Key_Light.pngSpace_Key_Light.png.importT_Key_Light.pngT_Key_Light.png.importTab_Key_Light.pngTab_Key_Light.png.importTilda_Key_Light.pngTilda_Key_Light.png.importU_Key_Light.pngU_Key_Light.png.importV_Key_Light.pngV_Key_Light.png.importW_Key_Light.pngW_Key_Light.png.importWin_Key_Light.pngWin_Key_Light.png.importX_Key_Light.pngX_Key_Light.png.importY_Key_Light.pngY_Key_Light.png.importZ_Key_Light.pngZ_Key_Light.png.import
Others
Amazon Luna
Arrows
Controller_Disconnected.pngController_Disconnected.png.import
Gestures
Google Stadia
Ouya
PS Move
PS Vita
PS3
PS4
Positional Prompts
Preview.fla
Steam
VR
Oculus
Vive
Wii
WiiU
Xbox 360
Xbox One
PS5
Readme.txt
Steam Deck
Switch
Vector Source.fla
Xbox Series
charselect.gdcorpse.gdenemybox.gdexport_presets.cfgh_box_container.tscnhero_select_card.gdjoytest.gdjoytest.tscnkeybind_screen.gdmotion_test.gdproject.godot

@ -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)

@ -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

@ -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)

@ -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

@ -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()