From 9bbca6d4b5ba96531b93ca849477a862050c5b84 Mon Sep 17 00:00:00 2001 From: Relintai Date: Sat, 7 Sep 2019 16:52:11 +0200 Subject: [PATCH] Clientside spell cast callbacks are now properly called. --- entities/entity.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/entities/entity.cpp b/entities/entity.cpp index c7f8da5..cff1960 100644 --- a/entities/entity.cpp +++ b/entities/entity.cpp @@ -1558,6 +1558,8 @@ void Entity::moved() { void Entity::con_cast_failed(Ref info) { ERR_FAIL_COND(!info.is_valid()); + info->get_spell()->con_spell_cast_failed(info); + if (_c_character_class.is_valid()) { _c_character_class->con_cast_failed(info); } @@ -1575,6 +1577,8 @@ void Entity::con_cast_failed(Ref info) { void Entity::con_cast_started(Ref info) { ERR_FAIL_COND(!info.is_valid()); + info->get_spell()->con_spell_cast_started(info); + if (_c_character_class.is_valid()) { _c_character_class->con_cast_started(info); } @@ -1592,6 +1596,8 @@ void Entity::con_cast_started(Ref info) { void Entity::con_cast_state_changed(Ref info) { ERR_FAIL_COND(!info.is_valid()); + //info->get_spell()->con_spell_cast_(info); + if (_c_character_class.is_valid()) { _c_character_class->con_cast_state_changed(info); } @@ -1609,6 +1615,8 @@ void Entity::con_cast_state_changed(Ref info) { void Entity::con_cast_finished(Ref info) { ERR_FAIL_COND(!info.is_valid()); + info->get_spell()->con_spell_cast_success(info); + if (_c_character_class.is_valid()) { _c_character_class->con_cast_finished(info); } @@ -1626,6 +1634,8 @@ void Entity::con_cast_finished(Ref info) { void Entity::con_spell_cast_success(Ref info) { ERR_FAIL_COND(!info.is_valid()); + info->get_spell()->con_spell_cast_success(info); + if (_c_character_class.is_valid()) { _c_character_class->con_spell_cast_success(info); } @@ -1925,10 +1935,14 @@ void Entity::sinterrupt_cast() { void Entity::cstart_casting(Ref info) { _c_spell_cast_info = Ref(info); + con_cast_started(_c_spell_cast_info); + emit_signal("ccast_started", _c_spell_cast_info); } void Entity::cfail_cast() { + con_cast_failed(_c_spell_cast_info); + emit_signal("ccast_failed", _c_spell_cast_info); _c_spell_cast_info = Ref(NULL); @@ -1936,15 +1950,19 @@ void Entity::cfail_cast() { void Entity::cdelay_cast() { + //c_on_cast_ + emit_signal("ccast_delayed", _c_spell_cast_info); } void Entity::cfinish_cast() { + con_cast_finished(_c_spell_cast_info); emit_signal("ccast_finished", _c_spell_cast_info); _c_spell_cast_info = Ref(NULL); } void Entity::cinterrupt_cast() { + con_cast_failed(_c_spell_cast_info); emit_signal("ccast_interrupted", _c_spell_cast_info); _c_spell_cast_info = Ref(NULL); }