32 lines
745 B
C#
32 lines
745 B
C#
using Godot;
|
|
using System;
|
|
using Movementtests.interfaces;
|
|
using Movementtests.systems.damage;
|
|
|
|
[GlobalClass]
|
|
public partial class RDamageModifier : Resource, IDamageable
|
|
{
|
|
[Export]
|
|
public EDamageTypes DamageType = EDamageTypes.Normal;
|
|
[Export]
|
|
public float Modifier = 1.0f;
|
|
|
|
public RDamageModifier()
|
|
{
|
|
Modifier = 1.0f;
|
|
DamageType = EDamageTypes.Normal;
|
|
}
|
|
public RDamageModifier(EDamageTypes damageType, float modifier)
|
|
{
|
|
Modifier = modifier;
|
|
DamageType = damageType;
|
|
}
|
|
|
|
public float TakeDamage(RDamage damage)
|
|
{
|
|
if (damage.DamageType != DamageType) return 0;
|
|
var finalDamage = damage.DamageDealt * Modifier;
|
|
return finalDamage;
|
|
}
|
|
}
|