mirror of
https://gitlab.com/MaddoScientisto/cirnogodot.git
synced 2026-06-01 11:15:33 +00:00
39 lines
No EOL
978 B
C#
39 lines
No EOL
978 B
C#
using System;
|
|
using Cirno.Scripts.Enums;
|
|
using Godot;
|
|
|
|
namespace Cirno.Scripts.Resources;
|
|
|
|
[GlobalClass]
|
|
public partial class DamageResistance : Resource
|
|
{
|
|
[Export]
|
|
public DamageType DamageType { get; set; } = DamageType.Neutral;
|
|
|
|
[Export]
|
|
public DamageAttribute Attribute { get; set; } = DamageAttribute.Neutral;
|
|
|
|
public float CalculateDamage(float damage, DamageType incomingDamageType)
|
|
{
|
|
if (DamageType != incomingDamageType) return 1;
|
|
|
|
switch (Attribute)
|
|
{
|
|
case DamageAttribute.Neutral:
|
|
return 1;
|
|
break;
|
|
case DamageAttribute.Resist:
|
|
return 0.5f;
|
|
break;
|
|
case DamageAttribute.Weak:
|
|
return 2;
|
|
break;
|
|
case DamageAttribute.Immune:
|
|
return 0;
|
|
break;
|
|
case DamageAttribute.Skip:
|
|
return 0;
|
|
}
|
|
return 1;
|
|
}
|
|
} |