extends RigidBody2D class_name Hull ## Shortcut to get_parent() @onready var ship: Ship = get_parent() ## Hull ID to use with the Game.get_module func @export var id: String = "hull" ## Max HP of the hull @export var max_hp: float = 30.0 ## Maximum amount of ammunition to be carried @export var max_ammunition: Dictionary = { "n/a": 0, # don't change this k thx "Laser Energy": 100.0, "Rockets": 10, } ## Current ammunition. Change this with set_ammunition @onready var ammunition: Dictionary = max_ammunition ## Current HP of the hull. If it reaches zero, it emits parent's destroyed signal @onready var hp: float = max_hp: set(new_hp): if new_hp > 0: hp = new_hp else: ship.destroyed.emit() ## Adds amount to ammunition, returns true if it was successful func add_ammunition(which: String, value: float) -> bool: if ammunition[which] + value < 0: return false ammunition[which] += value; if ammunition[which] > max_ammunition[which]: ammunition[which] = max_ammunition[which] return true