using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using RPGCreationKit;
namespace RPGCreationKit
{
///
/// The types of spells that exist
///
public enum SpellTypes
{
Alteration = 0, // Alters an attribute
Restoration, // Restores an attribute
Destruction // Deals damage
}
public enum SpellModes
{
Self = 0, // Effect on the caster
Touch, // Effect on who is near the caster to the touch
Projectile // Effect on who gets hit by the instantiated projectile
}
public enum SpellTag
{
None = 0,
RestoreHealth,
DamageProjectile,
DamageTouch
}
///
/// The base information of the spell.
///
[CreateAssetMenu(fileName = "[SPELL] New Spell", menuName = "RPG Creation Kit/Spells/New Spell", order = 1)]
public class Spell : ScriptableObject
{
public string spellID;
public string spellName;
public Sprite spellIcon;
public SpellTypes type;
public SpellModes mode;
public SpellTag tag;
public float manaCost;
public float magnitude;
public float area;
public float speed;
public float aggroModifier;
public GameObject magicProjectile;
public EffectOnEntity[] onCasterEffects;
public EffectOnEntity[] onTargetEffects;
public bool usesTooltip = false;
[TextArea] public string tooltipValue = "";
// Script to execute on cast
public string itemScript;
// Audio
public AudioClip sOnEquip;
public AudioClip sOnCast;
}
}