Create unlimited abilities for your game. Each ability is a fully self-contained database entry combining an activation type, an ability type, any number of target and caster effects, resource costs…
For more details about this asset: Click Here
This package is provided solely for evaluation, learning, or testing purposes before purchase and is not permitted for commercial use.
Combat – Spark Plugin v1.5 (Latest version)
“If possible, please buy the package to support the developer”
Description
Create full RPGs, survival games, and more using Spark’s custom editor. No scripting required. If you want custom mechanics, Spark’s plugin system and included C# source let you extend anything.
WHAT IS INCLUDED IN THIS PLUGIN?
Abilities:
Create unlimited abilities for your game. Each ability is a fully self-contained database entry combining an activation type, an ability type, any number of target and caster effects, resource costs, cooldowns, animations, sounds, VFX, motion warp, rule checks, and a rich tooltip template with dynamic keyword substitution.
Ability Types:
Choose how an ability finds and hits its targets. Currently supported ability types:
Self: applies all effects directly to the caster
Direct Target: hits the caster’s currently selected target, with configurable minimum and maximum range, optional facing angle enforcement, line of sight validation, and faction relationship filtering
Action Target: auto-acquires the closest valid enemy within a configurable cone angle and range, with full support for third-person target lock override
Area of Effect: hits all valid entities within a spherical radius centered on the caster, with Y-axis offset filtering and optional line of sight checks
Ground: shows a placement indicator on the ground controlled by the player, then hits all entities within a configurable radius at the confirmed position after an optional delay
Cone: hits all entities within a forward-facing angular cone volume, using precise collider closest-point detection for accurate edge cases
Rectangle: hits all entities within an oriented box defined by configurable length, width, height above, and height below
Aura: repeatedly hits all nearby entities at a configurable interval for a total duration, with a VFX prefab that attaches and moves with the caster for the duration
Action Projectile and Direct Target Projectile: fire physical projectile GameObjects that travel toward a target
Direct Target AoE: combines direct targeting with an area-of-effect explosion on the target
Any custom ability type can be added with a single C# class inheriting from AbilityTypeBase.
Activation Types:
Control how an ability is triggered and what happens before it executes:
Instant: the ability executes immediately on input with no delay
Incantation: the caster must complete a configurable cast time before the ability fires, with optional movement interruption
Channel: the caster locks into the ability for a fixed duration, blocking other abilities, with optional movement interruption
Any custom activation type can be added with a single C# class inheriting from ActivationTypeBase.
Effect Types:
Stack any number of effects per ability. Both target effects and separate caster effects are supported. Currently supported effect types:
Damage: deals damage to the target’s chosen stat using a base value, optional NCalc formula driven by any caster or target stat variables, damage type scaling from the stat system, status condition modifiers that add bonus damage based on stack counts of specific statuses on the target, hit animation trigger, VFX spawning via the Playables plugin, NPC stagger, and audio
Damage Object: deals damage to destructible world objects
Healing: restores a chosen stat using base value, optional formula, healing type scaling, status condition modifiers, and audio
Apply Status: applies any configured status effect to the target with an optional duration override
Modify Stat: temporarily changes one or more stats on the target by flat add, subtract, multiply, or percentage while a status is active, then automatically reverts all changes when the status ends
Knockback: pushes the target away from the caster with configurable distance, duration, and an animation curve controlling the movement over time
Dispel: removes one or more dispellable status effects from the target, with optional count limit and tag-based filtering to only remove specific categories
Trigger: executes any Spark Trigger sequence, allowing combat effects to connect to any other game system
Any custom effect type can be added with a single C# class inheriting from EffectTypeBase.
Damage and Healing Types:
Define your own damage and healing type categories (Physical, Fire, Holy, Poison, etc.) as database entries. Any stat can be configured to scale any damage or healing type by a flat amount or percentage, enabling a fully data-driven resistances and power system.
Calculation Formulas:
Build math expressions using the bundled NCalc library that can reference any stat from the caster or target at runtime. Assign a formula to any damage or healing effect to replace the flat base value with a fully dynamic calculation driven by character progression.
Status Effects:
Create unlimited status effects that can be applied by abilities:
Configurable base duration, with 0 meaning permanent until manually removed
Stacking modes: Refresh (resets duration on reapplication) or Stack (accumulates up to a configurable maximum)
Periodic ticks at evenly distributed intervals over the duration
Separate effect lists triggered on apply, on each tick, on natural expiry, and on early dispel
A VFX prefab attached to the target for the duration of the status
Status tags for categorization such as Buff, Debuff, Crowd Control, Damage over Time, and more
Dispel configuration: mark a status as dispellable or immune to dispel
Immunity grants: while this status is active, the target becomes immune to any listed status tags
Apply and remove rules: set or clear any Rule flags on the target entity when the status is applied or removed
Stats:
Define unlimited stats for your entities. Two stat types are supported out of the box:
Resource Stats: stats with a current value and a maximum, such as Health, Mana, or Stamina, with configurable minimum maximum and optional initialization of current to maximum
Value Stats: single numeric values with optional minimum and maximum clamping, such as Attack Power, Defense, or Speed
Stats can grant bonuses to other stats through configurable scaling configurations, building an interconnected attribute system without any code.




