first version of enitites damageables weapons item and effects workflow

This commit is contained in:
Strieglitz
2025-03-09 23:56:19 +01:00
parent b90e0369bf
commit cb65c3a266
42 changed files with 263 additions and 180 deletions

View File

@@ -2,5 +2,5 @@ extends Resource
class_name Effect
func apply_effect (character: Character)-> void:
func apply_effect (orign_entity: Entity, target_entity: Entity)-> void:
assert(false)

View File

@@ -0,0 +1,6 @@
class_name HealEffect extends Effect
@export var heal_amount: int
func apply_effect (orign_entity: Entity, target_entity: Entity)-> void:
target_entity.increase_health(heal_amount)

View File

@@ -1,4 +0,0 @@
extends Effect
func apply_effect (character: Character)-> void:
character.stats.health.value = character.stats.max_health.value

View File

@@ -2,7 +2,7 @@ extends Resource
class_name EntityResource
@export var entity_stats: entityStats
@export var entity_stats: EntityStats
@export var entity_scene: PackedScene

View File

@@ -2,8 +2,9 @@ extends Resource
class_name EntityStats
@export var max_health: MaxHealth
@export var health: Health
@export var armor: Armor
@export var shield: Shield
@export var movementSpeed: MovementSpeed
@export var max_health: MaxHealthStat
@export var health: HealthStat
@export var armor: ArmorStat
@export var shield: ShieldStat
@export var max_shield: MaxShieldStat
@export var movementSpeed: MovementSpeedStat

View File

@@ -2,8 +2,8 @@ extends Resource
class_name EquipmentStats
@export var max_health: MaxHealth
@export var armor: Armor
@export var shield: Shield
@export var movementSpeed: MovementSpeed
@export var damage: Damage
@export var max_health: MaxHealthStat
@export var armor: ArmorStat
@export var max_shield: MaxShieldStat
@export var movementSpeed: MovementSpeedStat
@export var damage: DamageStat

View File

@@ -1,3 +1,3 @@
extends MechPartResource
class_name Arms
class_name ArmsResource

View File

@@ -1,3 +1,3 @@
extends MechPartResource
class_name Boots
class_name BootsResource

View File

@@ -1,3 +0,0 @@
extends MechPartResource
class_name Hydraulics

View File

@@ -0,0 +1,3 @@
extends MechPartResource
class_name HydraulicsResource

View File

@@ -1,6 +1,6 @@
extends Resource
class_name Armor
class_name ArmorStat
signal value_changed_signal(currentArmor: int)

View File

@@ -1,6 +1,6 @@
extends Resource
class_name Damage
class_name DamageStat
signal value_changed_signal(currentDamage: int)

View File

@@ -0,0 +1,13 @@
extends Resource
class_name HitEffectStat
signal value_changed_signal(effects: Array[Effect])
@export var _value: Array[Effect]
var value: Array[Effect]:
get:
return _value
set(new_value):
value = new_value;
value_changed_signal.emit(_value)

View File

@@ -1,6 +1,6 @@
extends Resource
class_name FireRate
class_name FireRateStat
signal value_changed_signal(currentFireRate: int)

View File

@@ -1,6 +1,6 @@
extends Resource
class_name Health
class_name HealthStat
signal value_changed_signal(currentHealth: int)

View File

@@ -1,6 +1,6 @@
extends Resource
class_name MaxHealth
class_name MaxHealthStat
signal value_changed_signal(currentMaxHealth: int)

View File

@@ -0,0 +1,13 @@
extends Resource
class_name MaxShieldStat
signal value_changed_signal(currentMaxShield: int)
@export var _value: int
var value: int:
get:
return _value
set(new_value):
value = new_value;
value_changed_signal.emit(_value)

View File

@@ -1,6 +1,6 @@
extends Resource
class_name MovementSpeed
class_name MovementSpeedStat
signal value_changed_signal(currentMovementSpeed: int)

View File

@@ -1,6 +1,6 @@
extends Resource
class_name Shield
class_name ShieldStat
signal value_changed_signal(currentShield: int)

View File

@@ -2,5 +2,6 @@ extends Resource
class_name AttachmentStats
@export var damage: Damage
@export var fire_rate: FireRate
@export var damage: DamageStat
@export var fire_rate: FireRateStat
@export var hit_effects: HitEffectStat

View File

@@ -3,5 +3,6 @@ extends Resource
class_name WeaponStats
@export var damage: Damage
@export var fire_rate: FireRate
@export var damage: DamageStat
@export var fire_rate: FireRateStat
@export var hit_effects: HitEffectStat