mirror of
https://github.com/Relintai/entity_spell_system.git
synced 2025-02-22 17:18:12 +01:00
43 lines
1.1 KiB
C
43 lines
1.1 KiB
C
|
#pragma once
|
||
|
#include <System/System.h>
|
||
|
#include "Spell.h"
|
||
|
#include <System/Delegate.h>
|
||
|
#include "Entity.h"
|
||
|
#include "BaseWorldSpell.h"
|
||
|
|
||
|
using namespace BS::Player;
|
||
|
using namespace System;
|
||
|
class BaseSpellScript : public virtual Object
|
||
|
{
|
||
|
public:
|
||
|
DELEGATE(void, Spell*) CreateSpellScriptForAction;
|
||
|
public:
|
||
|
static BaseSpellScript::CreateSpellScriptForAction* CreateSpellScriptFor;
|
||
|
public:
|
||
|
int spellId;
|
||
|
public:
|
||
|
Spell* spell;
|
||
|
public:
|
||
|
BaseSpellScript(Spell* spell);
|
||
|
public:
|
||
|
virtual void StartCasting(Entity* caster, float spellScale);
|
||
|
public:
|
||
|
virtual void CastingFinished(Entity* caster, float spellScale);
|
||
|
public:
|
||
|
virtual void CastingFailed(Entity* caster);
|
||
|
public:
|
||
|
virtual void SpellHit(Entity* caster, Entity* target, BaseWorldSpell* worldSpell, Spell* spell, float spellScale);
|
||
|
public:
|
||
|
virtual void OnPlayerMove(Entity* caster);
|
||
|
public:
|
||
|
virtual void COnSpellCastStarted(Entity* player);
|
||
|
public:
|
||
|
virtual void COnSpellCastSuccess(Entity* player);
|
||
|
public:
|
||
|
virtual void COnSpellCastFailed(Entity* player);
|
||
|
public:
|
||
|
virtual void COnSpellCastEnded(Entity* player);
|
||
|
public:
|
||
|
virtual void OnCastStateChanged(Entity* caster);
|
||
|
};
|