5 var equipped_by: Player
7 @export var weapon_name: String
8 @export var input_to_state: Dictionary
10 @export var base_damage: int = 0
11 @export var is_parryable: bool = false
13 # TODO: should be relative to the object being hit
14 @export var energy_return_on_hit: float = 0
17 @onready var model: WeaponModel = $Model
20 var collision_layer: int = 1:
23 model.set_collision_layer(collision_layer)
25 return collision_layer
27 var collision_mask: int = 1:
30 model.set_collision_mask(collision_mask)
34 var is_attacking: bool = false:
37 model.set_attacking(is_attacking)
42 func translate_combat_actions_to_states(input: InputPacket):
44 if not input.player_combat_actions.is_empty():
45 for action in input.player_combat_actions:
46 if input_to_state.get(action):
47 states.append(input_to_state[action])