extends Resource class_name ProjectileResource const projectileScene : PackedScene = preload("res://Towers/Projectiles/projectile.tscn") @export var speed : int = 20 @export var damage : int = 1 @export var maxTargets : int = 1 ## Usefull when [enum Projectile.TYPE] is [param PIERCING] or [param BOUNCING] @export var type : Projectile.TYPE = Projectile.TYPE.BASIC @export_flags("Enemies", "AlliƩs") var allowedTargets : int = 1 ## Usefull when [enum Projectile.TYPE] is [param AOE], [param PIERCING] or [param BOUNCING] ## When [enum Projectile.TYPE] is [param BOUNCING] the shape is for target new entity in range @export var damageArea : Shape3D @export var sprite : Texture2D = load("res://Assets/Emotes/emote_star.png") func shoot(target: Node3D, gobalPos: Vector3) -> void: var projectile : Projectile = projectileScene.instantiate() projectile.loadProjectile(self, target) EventBus.projectile_shooted.emit(projectile, gobalPos)