Implemented better script handling.

This commit is contained in:
2019-11-09 12:15:45 +01:00
parent c3bfbb569e
commit ee14efe22e
7 changed files with 121 additions and 15 deletions

View File

@@ -8,6 +8,9 @@
#include "Hooks.hpp"
namespace CreatureLib::Battling{
class ExecutingAttack;
class Creature;
class Script{
const std::string _name;
@@ -15,12 +18,15 @@ namespace CreatureLib::Battling{
explicit Script(std::string name) :_name(std::move(name)){}
virtual ~Script() = default;
virtual void Execute(Hook hook, const std::vector<std::any>& args){};
virtual void Stack(){};
const std::string& GetName(){
return _name;
}
virtual void OnIncomingAttackFails(ExecutingAttack* attack, Creature* target){};
virtual void IsInvulnerable(ExecutingAttack* attack, Creature* target){};
virtual void OnAttackMiss(ExecutingAttack* attack, Creature* target){};
};
}