33 lines
1.3 KiB
GDScript
33 lines
1.3 KiB
GDScript
extends Resource
|
|
class_name ItemDefinition
|
|
|
|
enum Category { WEAPON, SHIELD, ARMOR, REACTOR, ENGINE, ACTIVE_EXTENSION, COMPUTER }
|
|
enum WeaponKind { PLASMA, MACHINE_GUN, LASER, MISSILE }
|
|
|
|
@export var item_id: String = ""
|
|
@export var display_name: String = ""
|
|
@export var icon: Texture2D
|
|
@export var category: Category = Category.ENGINE
|
|
@export_multiline var description: String = ""
|
|
@export var primary_stat: String = ""
|
|
@export var primary_value: float = 0.0
|
|
@export var stat_suffix: String = ""
|
|
@export var energy_regeneration_bonus: float = 0.0
|
|
@export var weapon_kind: WeaponKind = WeaponKind.PLASMA
|
|
@export var fire_interval: float = 0.25
|
|
@export var weapon_cooldown: float = 0.0
|
|
@export var missile_homing: bool = true
|
|
@export var laser_pulse_duration: float = 0.08
|
|
@export var projectile_speed: float = 0.0
|
|
@export var weapon_range: float = 0.0
|
|
@export var energy_cost: float = 0.0
|
|
@export_range(0.0, 1.0, 0.05) var energy_damage_exponent: float = 0.5
|
|
@export_range(0.0, 1.0, 0.01) var energy_per_addon: float = 0.05
|
|
@export var active_ability: ActiveAbility
|
|
|
|
@export_group("Losowanie zakresu obrażeń broni (poziom 1)")
|
|
@export_range(1, 10000) var damage_lower_roll_min: int = 1
|
|
@export_range(1, 10000) var damage_lower_roll_max: int = 4
|
|
@export_range(1, 10000) var damage_spread_roll_min: int = 2
|
|
@export_range(1, 10000) var damage_spread_roll_max: int = 4
|