├── .github ├── FUNDING.yml └── workflows │ ├── dotnet-core.yml │ └── nuget.yml ├── .gitignore ├── LICENSE ├── MHLab.Spells.Tests ├── MHLab.Spells.Tests.csproj ├── MyPlayer.cs ├── MyTarget.cs ├── Spells │ ├── Costs │ │ └── ManaSpellCost.cs │ ├── Effects │ │ ├── BurnDamageSpellEffect.cs │ │ ├── DamageSpellEffect.cs │ │ ├── DelayedDamageSpellEffect.cs │ │ └── IncreaseArmorSpellEffect.cs │ └── Requirements │ │ ├── CasterHasEnoughManaSpellRequirement.cs │ │ ├── CasterLevelSpellRequirement.cs │ │ └── IsNotInCooldownSpellRequirement.cs └── Tests │ ├── BurnDamageEffectTest.cs │ ├── CooldownsTest.cs │ ├── CostsTest.cs │ ├── DamageEffectTest.cs │ ├── DelayedDamageEffectTest.cs │ ├── IncreaseArmorEffectTest.cs │ └── RequirementsTest.cs ├── MHLab.Spells.Utilities ├── MHLab.Spells.Utilities.csproj └── TypeId.cs ├── MHLab.Spells.sln ├── MHLab.Spells ├── Cooldowns │ ├── SpellCooldownHelper.cs │ └── Systems │ │ └── CooldownSystem.cs ├── Costs │ ├── ISpellCost.cs │ └── SpellCostContainer.cs ├── Definitions │ ├── Exceptions │ │ └── SpellNotFoundException.cs │ ├── ISpellDefinition.cs │ ├── Spell.cs │ └── SpellContainer.cs ├── Effects │ ├── ISpellEffect.cs │ ├── SpellEffectContainer.cs │ ├── SpellEffectContinuationState.cs │ └── SpellEffectState.cs ├── ISpellCaster.cs ├── ISpellTarget.cs ├── Instances │ ├── SpellCastedData.cs │ ├── SpellCastedDataContainer.cs │ ├── SpellEffectInstance.cs │ ├── SpellEffectInstanceContainer.cs │ ├── SpellInstance.cs │ ├── SpellInstanceContainer.cs │ └── Systems │ │ ├── ApplyEffectsSystem.cs │ │ ├── CleanUpEffectsSystem.cs │ │ ├── CleanUpInstanceSystem.cs │ │ ├── HandleEffectsSystem.cs │ │ └── SetupEffectsSystem.cs ├── MHLab.Spells.csproj ├── Requirements │ ├── CheckRequirementResult.cs │ ├── Exceptions │ │ └── RequirementNotFoundException.cs │ ├── ISpellRequirement.cs │ └── SpellRequirementContainer.cs ├── SpellCastResult.cs ├── SpellCastState.cs ├── SpellCasterSystem.cs └── SpellsContext.cs ├── README.md └── logo.png /.github/FUNDING.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emanzione/SPELL/HEAD/.github/FUNDING.yml -------------------------------------------------------------------------------- /.github/workflows/dotnet-core.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emanzione/SPELL/HEAD/.github/workflows/dotnet-core.yml -------------------------------------------------------------------------------- /.github/workflows/nuget.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emanzione/SPELL/HEAD/.github/workflows/nuget.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emanzione/SPELL/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emanzione/SPELL/HEAD/LICENSE -------------------------------------------------------------------------------- /MHLab.Spells.Tests/MHLab.Spells.Tests.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emanzione/SPELL/HEAD/MHLab.Spells.Tests/MHLab.Spells.Tests.csproj -------------------------------------------------------------------------------- /MHLab.Spells.Tests/MyPlayer.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emanzione/SPELL/HEAD/MHLab.Spells.Tests/MyPlayer.cs -------------------------------------------------------------------------------- /MHLab.Spells.Tests/MyTarget.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emanzione/SPELL/HEAD/MHLab.Spells.Tests/MyTarget.cs -------------------------------------------------------------------------------- /MHLab.Spells.Tests/Spells/Costs/ManaSpellCost.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emanzione/SPELL/HEAD/MHLab.Spells.Tests/Spells/Costs/ManaSpellCost.cs -------------------------------------------------------------------------------- /MHLab.Spells.Tests/Spells/Effects/BurnDamageSpellEffect.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emanzione/SPELL/HEAD/MHLab.Spells.Tests/Spells/Effects/BurnDamageSpellEffect.cs -------------------------------------------------------------------------------- /MHLab.Spells.Tests/Spells/Effects/DamageSpellEffect.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emanzione/SPELL/HEAD/MHLab.Spells.Tests/Spells/Effects/DamageSpellEffect.cs -------------------------------------------------------------------------------- /MHLab.Spells.Tests/Spells/Effects/DelayedDamageSpellEffect.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emanzione/SPELL/HEAD/MHLab.Spells.Tests/Spells/Effects/DelayedDamageSpellEffect.cs -------------------------------------------------------------------------------- /MHLab.Spells.Tests/Spells/Effects/IncreaseArmorSpellEffect.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emanzione/SPELL/HEAD/MHLab.Spells.Tests/Spells/Effects/IncreaseArmorSpellEffect.cs -------------------------------------------------------------------------------- /MHLab.Spells.Tests/Spells/Requirements/CasterHasEnoughManaSpellRequirement.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emanzione/SPELL/HEAD/MHLab.Spells.Tests/Spells/Requirements/CasterHasEnoughManaSpellRequirement.cs -------------------------------------------------------------------------------- /MHLab.Spells.Tests/Spells/Requirements/CasterLevelSpellRequirement.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emanzione/SPELL/HEAD/MHLab.Spells.Tests/Spells/Requirements/CasterLevelSpellRequirement.cs -------------------------------------------------------------------------------- /MHLab.Spells.Tests/Spells/Requirements/IsNotInCooldownSpellRequirement.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emanzione/SPELL/HEAD/MHLab.Spells.Tests/Spells/Requirements/IsNotInCooldownSpellRequirement.cs -------------------------------------------------------------------------------- /MHLab.Spells.Tests/Tests/BurnDamageEffectTest.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emanzione/SPELL/HEAD/MHLab.Spells.Tests/Tests/BurnDamageEffectTest.cs -------------------------------------------------------------------------------- /MHLab.Spells.Tests/Tests/CooldownsTest.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emanzione/SPELL/HEAD/MHLab.Spells.Tests/Tests/CooldownsTest.cs -------------------------------------------------------------------------------- /MHLab.Spells.Tests/Tests/CostsTest.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emanzione/SPELL/HEAD/MHLab.Spells.Tests/Tests/CostsTest.cs -------------------------------------------------------------------------------- /MHLab.Spells.Tests/Tests/DamageEffectTest.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emanzione/SPELL/HEAD/MHLab.Spells.Tests/Tests/DamageEffectTest.cs -------------------------------------------------------------------------------- /MHLab.Spells.Tests/Tests/DelayedDamageEffectTest.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emanzione/SPELL/HEAD/MHLab.Spells.Tests/Tests/DelayedDamageEffectTest.cs -------------------------------------------------------------------------------- /MHLab.Spells.Tests/Tests/IncreaseArmorEffectTest.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emanzione/SPELL/HEAD/MHLab.Spells.Tests/Tests/IncreaseArmorEffectTest.cs -------------------------------------------------------------------------------- /MHLab.Spells.Tests/Tests/RequirementsTest.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emanzione/SPELL/HEAD/MHLab.Spells.Tests/Tests/RequirementsTest.cs -------------------------------------------------------------------------------- /MHLab.Spells.Utilities/MHLab.Spells.Utilities.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emanzione/SPELL/HEAD/MHLab.Spells.Utilities/MHLab.Spells.Utilities.csproj -------------------------------------------------------------------------------- /MHLab.Spells.Utilities/TypeId.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emanzione/SPELL/HEAD/MHLab.Spells.Utilities/TypeId.cs -------------------------------------------------------------------------------- /MHLab.Spells.sln: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emanzione/SPELL/HEAD/MHLab.Spells.sln -------------------------------------------------------------------------------- /MHLab.Spells/Cooldowns/SpellCooldownHelper.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emanzione/SPELL/HEAD/MHLab.Spells/Cooldowns/SpellCooldownHelper.cs -------------------------------------------------------------------------------- /MHLab.Spells/Cooldowns/Systems/CooldownSystem.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emanzione/SPELL/HEAD/MHLab.Spells/Cooldowns/Systems/CooldownSystem.cs -------------------------------------------------------------------------------- /MHLab.Spells/Costs/ISpellCost.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emanzione/SPELL/HEAD/MHLab.Spells/Costs/ISpellCost.cs -------------------------------------------------------------------------------- /MHLab.Spells/Costs/SpellCostContainer.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emanzione/SPELL/HEAD/MHLab.Spells/Costs/SpellCostContainer.cs -------------------------------------------------------------------------------- /MHLab.Spells/Definitions/Exceptions/SpellNotFoundException.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emanzione/SPELL/HEAD/MHLab.Spells/Definitions/Exceptions/SpellNotFoundException.cs -------------------------------------------------------------------------------- /MHLab.Spells/Definitions/ISpellDefinition.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emanzione/SPELL/HEAD/MHLab.Spells/Definitions/ISpellDefinition.cs -------------------------------------------------------------------------------- /MHLab.Spells/Definitions/Spell.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emanzione/SPELL/HEAD/MHLab.Spells/Definitions/Spell.cs -------------------------------------------------------------------------------- /MHLab.Spells/Definitions/SpellContainer.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emanzione/SPELL/HEAD/MHLab.Spells/Definitions/SpellContainer.cs -------------------------------------------------------------------------------- /MHLab.Spells/Effects/ISpellEffect.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emanzione/SPELL/HEAD/MHLab.Spells/Effects/ISpellEffect.cs -------------------------------------------------------------------------------- /MHLab.Spells/Effects/SpellEffectContainer.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emanzione/SPELL/HEAD/MHLab.Spells/Effects/SpellEffectContainer.cs -------------------------------------------------------------------------------- /MHLab.Spells/Effects/SpellEffectContinuationState.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emanzione/SPELL/HEAD/MHLab.Spells/Effects/SpellEffectContinuationState.cs -------------------------------------------------------------------------------- /MHLab.Spells/Effects/SpellEffectState.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emanzione/SPELL/HEAD/MHLab.Spells/Effects/SpellEffectState.cs -------------------------------------------------------------------------------- /MHLab.Spells/ISpellCaster.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emanzione/SPELL/HEAD/MHLab.Spells/ISpellCaster.cs -------------------------------------------------------------------------------- /MHLab.Spells/ISpellTarget.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emanzione/SPELL/HEAD/MHLab.Spells/ISpellTarget.cs -------------------------------------------------------------------------------- /MHLab.Spells/Instances/SpellCastedData.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emanzione/SPELL/HEAD/MHLab.Spells/Instances/SpellCastedData.cs -------------------------------------------------------------------------------- /MHLab.Spells/Instances/SpellCastedDataContainer.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emanzione/SPELL/HEAD/MHLab.Spells/Instances/SpellCastedDataContainer.cs -------------------------------------------------------------------------------- /MHLab.Spells/Instances/SpellEffectInstance.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emanzione/SPELL/HEAD/MHLab.Spells/Instances/SpellEffectInstance.cs -------------------------------------------------------------------------------- /MHLab.Spells/Instances/SpellEffectInstanceContainer.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emanzione/SPELL/HEAD/MHLab.Spells/Instances/SpellEffectInstanceContainer.cs -------------------------------------------------------------------------------- /MHLab.Spells/Instances/SpellInstance.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emanzione/SPELL/HEAD/MHLab.Spells/Instances/SpellInstance.cs -------------------------------------------------------------------------------- /MHLab.Spells/Instances/SpellInstanceContainer.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emanzione/SPELL/HEAD/MHLab.Spells/Instances/SpellInstanceContainer.cs -------------------------------------------------------------------------------- /MHLab.Spells/Instances/Systems/ApplyEffectsSystem.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emanzione/SPELL/HEAD/MHLab.Spells/Instances/Systems/ApplyEffectsSystem.cs -------------------------------------------------------------------------------- /MHLab.Spells/Instances/Systems/CleanUpEffectsSystem.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emanzione/SPELL/HEAD/MHLab.Spells/Instances/Systems/CleanUpEffectsSystem.cs -------------------------------------------------------------------------------- /MHLab.Spells/Instances/Systems/CleanUpInstanceSystem.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emanzione/SPELL/HEAD/MHLab.Spells/Instances/Systems/CleanUpInstanceSystem.cs -------------------------------------------------------------------------------- /MHLab.Spells/Instances/Systems/HandleEffectsSystem.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emanzione/SPELL/HEAD/MHLab.Spells/Instances/Systems/HandleEffectsSystem.cs -------------------------------------------------------------------------------- /MHLab.Spells/Instances/Systems/SetupEffectsSystem.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emanzione/SPELL/HEAD/MHLab.Spells/Instances/Systems/SetupEffectsSystem.cs -------------------------------------------------------------------------------- /MHLab.Spells/MHLab.Spells.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emanzione/SPELL/HEAD/MHLab.Spells/MHLab.Spells.csproj -------------------------------------------------------------------------------- /MHLab.Spells/Requirements/CheckRequirementResult.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emanzione/SPELL/HEAD/MHLab.Spells/Requirements/CheckRequirementResult.cs -------------------------------------------------------------------------------- /MHLab.Spells/Requirements/Exceptions/RequirementNotFoundException.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emanzione/SPELL/HEAD/MHLab.Spells/Requirements/Exceptions/RequirementNotFoundException.cs -------------------------------------------------------------------------------- /MHLab.Spells/Requirements/ISpellRequirement.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emanzione/SPELL/HEAD/MHLab.Spells/Requirements/ISpellRequirement.cs -------------------------------------------------------------------------------- /MHLab.Spells/Requirements/SpellRequirementContainer.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emanzione/SPELL/HEAD/MHLab.Spells/Requirements/SpellRequirementContainer.cs -------------------------------------------------------------------------------- /MHLab.Spells/SpellCastResult.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emanzione/SPELL/HEAD/MHLab.Spells/SpellCastResult.cs -------------------------------------------------------------------------------- /MHLab.Spells/SpellCastState.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emanzione/SPELL/HEAD/MHLab.Spells/SpellCastState.cs -------------------------------------------------------------------------------- /MHLab.Spells/SpellCasterSystem.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emanzione/SPELL/HEAD/MHLab.Spells/SpellCasterSystem.cs -------------------------------------------------------------------------------- /MHLab.Spells/SpellsContext.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emanzione/SPELL/HEAD/MHLab.Spells/SpellsContext.cs -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emanzione/SPELL/HEAD/README.md -------------------------------------------------------------------------------- /logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emanzione/SPELL/HEAD/logo.png --------------------------------------------------------------------------------