36 lines
713 B
GDScript
36 lines
713 B
GDScript
class_name Weapon extends Equipment
|
|
|
|
enum Types{
|
|
FIST,
|
|
SWORD,
|
|
SPEAR,
|
|
STAFF,
|
|
DAGGER,
|
|
HAMMER,
|
|
WHIP,
|
|
|
|
}
|
|
@export var min_damage : int
|
|
@export var max_damage : int
|
|
@export var type : Types
|
|
|
|
func item_type_name() -> String:
|
|
return "Weapon (%s)" % weapon_type_name()
|
|
|
|
func can_equip_slot(slot : Slots) -> bool:
|
|
return slot == Slots.WEAPON
|
|
|
|
func primary_stat() -> String:
|
|
return "Deals %d-%d base damage." % [min_damage, max_damage]
|
|
|
|
func weapon_type_name() -> String:
|
|
match(type):
|
|
Types.FIST: return "Fist"
|
|
Types.SWORD: return "Sword"
|
|
Types.SPEAR: return "Spear"
|
|
Types.STAFF: return "Staff"
|
|
Types.DAGGER: return "Dagger"
|
|
Types.HAMMER: return "Hammer"
|
|
Types.WHIP: return "Whip"
|
|
return "Unknown"
|