extends CharacterBody2D var base_speed = 100 var speed var bullet_speed var ammunition var damage var incoming_damage var bullet_delay var size = 100 var tax var remaining_bullets = 100 var bullet_timer = 0 @onready var sprite = $CollisionShape2D/Sprite2D @onready var collision = $CollisionShape2D @export var inventory : Control @export var bullet_scene : PackedScene func _physics_process(delta): bullet_timer -= delta velocity = Vector2(0,0) if Input.is_action_pressed("left"): velocity.x += -1 if Input.is_action_pressed("right"): velocity.x += 1 if Input.is_action_pressed("up"): velocity.y += -1 if Input.is_action_pressed("down"): velocity.y += 1 if Input.is_mouse_button_pressed(MOUSE_BUTTON_LEFT): spawn_bullet() velocity = velocity.normalized() * speed*base_speed*delta move_and_slide() sprite.global_position = Vector2i(global_position) collision.scale = Vector2(0.3,0.3)*(pow(size,0.2)) func reload(): pass func spawn_bullet(): if bullet_timer > 0: return var new_bullet = bullet_scene.instantiate() new_bullet.direction = global_position.direction_to(get_global_mouse_position()) new_bullet.position = position new_bullet.speed = sqrt(bullet_speed) get_tree().root.add_child(new_bullet) bullet_timer = 0.1*pow(bullet_delay,0.4)