refactor
This commit is contained in:
20
resources/abilities/ability.gd
Normal file
20
resources/abilities/ability.gd
Normal file
@@ -0,0 +1,20 @@
|
||||
class_name Ability
|
||||
extends Resource
|
||||
|
||||
enum Type { SINGLE, AOE, UTILITY, ULT, PASSIVE }
|
||||
|
||||
@export var ability_name: StringName = &""
|
||||
@export var type: Type = Type.SINGLE
|
||||
@export var damage: float = 0.0
|
||||
@export var ability_range: float = 5.0
|
||||
@export var cooldown: float = 2.0
|
||||
@export var uses_gcd: bool = true
|
||||
@export var aoe_radius: float = 0.0
|
||||
@export var is_heal: bool = false
|
||||
@export var shield_value: float = 0.0
|
||||
@export var shield_multiplier: float = 0.0
|
||||
@export var passive_stat: StringName = &""
|
||||
@export var passive_value: float = 0.5
|
||||
@export var passive_radius: float = 50.0
|
||||
@export var element: int = Element.NONE
|
||||
@export var icon: Texture2D
|
||||
1
resources/abilities/ability.gd.uid
Normal file
1
resources/abilities/ability.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://ma4hkxsfia27
|
||||
9
resources/abilities/ability_set.gd
Normal file
9
resources/abilities/ability_set.gd
Normal file
@@ -0,0 +1,9 @@
|
||||
class_name AbilitySet
|
||||
extends Resource
|
||||
|
||||
@export var role_name: StringName = &""
|
||||
@export var aa_damage: float = 5.0
|
||||
@export var aa_range: float = 10.0
|
||||
@export var aa_is_heal: bool = false
|
||||
@export var abilities: Array[Ability] = []
|
||||
@export var color: Color = Color.WHITE
|
||||
1
resources/abilities/ability_set.gd.uid
Normal file
1
resources/abilities/ability_set.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://bn4hk5bimojsi
|
||||
13
resources/buildings/building.gd
Normal file
13
resources/buildings/building.gd
Normal file
@@ -0,0 +1,13 @@
|
||||
class_name Building
|
||||
extends Resource
|
||||
|
||||
enum Type { FLOOR, WALL, DOOR, ROOF }
|
||||
|
||||
@export var building_id: StringName = &""
|
||||
@export var display_name: String = ""
|
||||
@export var type: Type = Type.WALL
|
||||
@export var size: Vector3 = Vector3(1, 1, 1)
|
||||
@export var color: Color = Color.GRAY
|
||||
@export var icon: Texture2D
|
||||
@export var material_item: Item
|
||||
@export var material_cost: int = 1
|
||||
1
resources/buildings/building.gd.uid
Normal file
1
resources/buildings/building.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://cb61cxd4li4ck
|
||||
15
resources/effects/effect.gd
Normal file
15
resources/effects/effect.gd
Normal file
@@ -0,0 +1,15 @@
|
||||
class_name Effect
|
||||
extends Resource
|
||||
|
||||
enum Type { BUFF, DEBUFF, AURA, DOT, HOT }
|
||||
|
||||
@export var effect_name: StringName = &""
|
||||
@export var type: Type = Type.BUFF
|
||||
@export var stat: StringName = &""
|
||||
@export var value: float = 0.0
|
||||
@export var is_multiplier: bool = false
|
||||
@export var duration: float = -1.0
|
||||
@export var aura_radius: float = 0.0
|
||||
@export var tick_interval: float = 0.0
|
||||
@export var element: int = Element.NONE
|
||||
@export var icon: Texture2D
|
||||
1
resources/effects/effect.gd.uid
Normal file
1
resources/effects/effect.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://dvgpetv33u1a8
|
||||
19
resources/effects/element.gd
Normal file
19
resources/effects/element.gd
Normal file
@@ -0,0 +1,19 @@
|
||||
class_name Element
|
||||
extends RefCounted
|
||||
|
||||
const NONE: int = 0
|
||||
const FIRE: int = 1
|
||||
|
||||
static func name_of(e: int) -> String:
|
||||
match e:
|
||||
FIRE:
|
||||
return "Fire"
|
||||
_:
|
||||
return "None"
|
||||
|
||||
static func color_of(e: int) -> Color:
|
||||
match e:
|
||||
FIRE:
|
||||
return Color(1.0, 0.4, 0.1)
|
||||
_:
|
||||
return Color.WHITE
|
||||
1
resources/effects/element.gd.uid
Normal file
1
resources/effects/element.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://duxxvs1ild4we
|
||||
12
resources/items/item.gd
Normal file
12
resources/items/item.gd
Normal file
@@ -0,0 +1,12 @@
|
||||
class_name Item
|
||||
extends Resource
|
||||
|
||||
enum Category { ESSENCE, MATERIAL, EQUIPMENT, CONSUMABLE }
|
||||
|
||||
@export var item_id: StringName = &""
|
||||
@export var display_name: String = ""
|
||||
@export var category: Category = Category.MATERIAL
|
||||
@export var max_stack: int = 99
|
||||
@export var icon: Texture2D
|
||||
@export var equip_slot: StringName = &""
|
||||
@export var stat_bonus: Dictionary = {}
|
||||
1
resources/items/item.gd.uid
Normal file
1
resources/items/item.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://cp3sxpqnv31o2
|
||||
9
resources/items/recipe.gd
Normal file
9
resources/items/recipe.gd
Normal file
@@ -0,0 +1,9 @@
|
||||
class_name Recipe
|
||||
extends Resource
|
||||
|
||||
@export var recipe_id: StringName = &""
|
||||
@export var display_name: String = ""
|
||||
@export var output_item: Item
|
||||
@export var output_count: int = 1
|
||||
@export var inputs: Array[Item] = []
|
||||
@export var input_counts: Array[int] = []
|
||||
1
resources/items/recipe.gd.uid
Normal file
1
resources/items/recipe.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://ddntj0p320vkq
|
||||
10
resources/npcs/npc_profile.gd
Normal file
10
resources/npcs/npc_profile.gd
Normal file
@@ -0,0 +1,10 @@
|
||||
class_name NpcProfile
|
||||
extends Resource
|
||||
|
||||
@export var npc_id: StringName = &""
|
||||
@export var display_name: String = ""
|
||||
@export_multiline var lore: String = ""
|
||||
@export_multiline var personality: String = ""
|
||||
@export_multiline var fallback_text: String = "..."
|
||||
@export var color: Color = Color(0.8, 0.7, 0.5)
|
||||
@export var greeting: String = "Hallo Reisender."
|
||||
1
resources/npcs/npc_profile.gd.uid
Normal file
1
resources/npcs/npc_profile.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://bcqtqp3jfkfm1
|
||||
8
resources/stats/base_stats.gd
Normal file
8
resources/stats/base_stats.gd
Normal file
@@ -0,0 +1,8 @@
|
||||
class_name BaseStats
|
||||
extends Resource
|
||||
|
||||
@export var max_health: float = 100.0
|
||||
@export var health_regen: float = 0.0
|
||||
@export var max_shield: float = 0.0
|
||||
@export var shield_regen: float = 0.0
|
||||
@export var shield_regen_delay: float = 5.0
|
||||
1
resources/stats/base_stats.gd.uid
Normal file
1
resources/stats/base_stats.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://rotp80banlee
|
||||
4
resources/stats/boss_stats.gd
Normal file
4
resources/stats/boss_stats.gd
Normal file
@@ -0,0 +1,4 @@
|
||||
class_name BossStats
|
||||
extends EnemyStats
|
||||
|
||||
@export var enrage_time: float = 60.0
|
||||
1
resources/stats/boss_stats.gd.uid
Normal file
1
resources/stats/boss_stats.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://cdyoffdfaor5m
|
||||
2
resources/stats/building_stats.gd
Normal file
2
resources/stats/building_stats.gd
Normal file
@@ -0,0 +1,2 @@
|
||||
class_name BuildingStats
|
||||
extends BaseStats
|
||||
1
resources/stats/building_stats.gd.uid
Normal file
1
resources/stats/building_stats.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://le02tb117uh
|
||||
11
resources/stats/enemy_stats.gd
Normal file
11
resources/stats/enemy_stats.gd
Normal file
@@ -0,0 +1,11 @@
|
||||
class_name EnemyStats
|
||||
extends BaseStats
|
||||
|
||||
@export var speed: float = 3.0
|
||||
@export var attack_range: float = 2.0
|
||||
@export var attack_damage: float = 5.0
|
||||
@export var attack_cooldown: float = 1.5
|
||||
@export var aggro_radius: float = 12.0
|
||||
@export var leash_radius: float = 25.0
|
||||
@export var xp_value: float = 5.0
|
||||
@export var loot_chance: float = 1.0
|
||||
1
resources/stats/enemy_stats.gd.uid
Normal file
1
resources/stats/enemy_stats.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://bch6113rtsk05
|
||||
7
resources/stats/gate_stats.gd
Normal file
7
resources/stats/gate_stats.gd
Normal file
@@ -0,0 +1,7 @@
|
||||
class_name GateStats
|
||||
extends BaseStats
|
||||
|
||||
@export var spawn_count: int = 5
|
||||
@export var spawn_interval: float = 4.0
|
||||
@export var aggro_radius: float = 15.0
|
||||
@export var is_red: bool = false
|
||||
1
resources/stats/gate_stats.gd.uid
Normal file
1
resources/stats/gate_stats.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://cyroet7ce02ew
|
||||
18
resources/stats/player_stats.gd
Normal file
18
resources/stats/player_stats.gd
Normal file
@@ -0,0 +1,18 @@
|
||||
class_name PlayerStats
|
||||
extends BaseStats
|
||||
|
||||
@export var speed: float = 5.0
|
||||
@export var jump_velocity: float = 4.5
|
||||
@export var target_range: float = 20.0
|
||||
@export var combat_timeout: float = 5.0
|
||||
@export var respawn_time: float = 3.0
|
||||
@export var gcd_time: float = 0.5
|
||||
@export var aa_cooldown: float = 0.5
|
||||
|
||||
@export var level: int = 1
|
||||
@export var xp: float = 0.0
|
||||
@export var xp_to_next: float = 50.0
|
||||
|
||||
@export var buff_damage: float = 1.0
|
||||
@export var buff_heal: float = 1.0
|
||||
@export var buff_shield: float = 1.0
|
||||
1
resources/stats/player_stats.gd.uid
Normal file
1
resources/stats/player_stats.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://c42fif5nbdvur
|
||||
5
resources/stats/portal_stats.gd
Normal file
5
resources/stats/portal_stats.gd
Normal file
@@ -0,0 +1,5 @@
|
||||
class_name PortalStats
|
||||
extends BaseStats
|
||||
|
||||
@export var lifetime: float = 0.0
|
||||
@export var is_red: bool = false
|
||||
1
resources/stats/portal_stats.gd.uid
Normal file
1
resources/stats/portal_stats.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://beg4u508o3lcv
|
||||
2
resources/stats/village_stats.gd
Normal file
2
resources/stats/village_stats.gd
Normal file
@@ -0,0 +1,2 @@
|
||||
class_name VillageStats
|
||||
extends BaseStats
|
||||
1
resources/stats/village_stats.gd.uid
Normal file
1
resources/stats/village_stats.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://dpyr5lcc45eub
|
||||
Reference in New Issue
Block a user