mirror of
https://github.com/Relintai/entity_spell_system.git
synced 2025-04-19 21:33:15 +02:00
Added 2 more events.
This commit is contained in:
parent
0d25e69ba5
commit
008bf34a34
@ -501,6 +501,14 @@ void Aura::son_cast_finished_target(Ref<AuraData> aura, Ref<SpellCastInfo> info)
|
||||
call("_son_cast_finished_target", aura, info);
|
||||
}
|
||||
|
||||
void Aura::son_before_damage_hit(Ref<AuraData> aura, Ref<SpellDamageInfo> data) {
|
||||
ERR_FAIL_COND(!aura.is_valid());
|
||||
ERR_FAIL_COND(!data.is_valid());
|
||||
|
||||
if (has_method("_son_before_damage_hit"))
|
||||
call("_son_before_damage_hit", aura, data);
|
||||
}
|
||||
|
||||
void Aura::son_hit(Ref<AuraData> aura, Ref<SpellDamageInfo> data) {
|
||||
ERR_FAIL_COND(!aura.is_valid());
|
||||
ERR_FAIL_COND(!data.is_valid());
|
||||
@ -541,6 +549,14 @@ void Aura::son_damage_dealt(Ref<AuraData> aura, Ref<SpellDamageInfo> data) {
|
||||
call("_son_damage_dealt", aura, data);
|
||||
}
|
||||
|
||||
void Aura::son_before_heal_hit(Ref<AuraData> aura, Ref<SpellHealInfo> data) {
|
||||
ERR_FAIL_COND(!aura.is_valid());
|
||||
ERR_FAIL_COND(!data.is_valid());
|
||||
|
||||
if (has_method("_son_before_heal_hit"))
|
||||
call("_son_before_heal_hit", aura, data);
|
||||
}
|
||||
|
||||
void Aura::son_before_heal(Ref<AuraData> aura, Ref<SpellHealInfo> data) {
|
||||
ERR_FAIL_COND(!aura.is_valid());
|
||||
ERR_FAIL_COND(!data.is_valid());
|
||||
@ -644,6 +660,13 @@ void Aura::son_gcd_finished(Ref<AuraData> data) {
|
||||
call("_son_gcd_finished", data);
|
||||
}
|
||||
|
||||
void Aura::son_physics_process(Ref<AuraData> data) {
|
||||
ERR_FAIL_COND(!data.is_valid());
|
||||
|
||||
if (has_method("_son_gcd_finished"))
|
||||
call("_son_gcd_finished", data);
|
||||
}
|
||||
|
||||
void Aura::con_cast_failed(Ref<AuraData> data, Ref<SpellCastInfo> info) {
|
||||
if (has_method("_con_cast_failed"))
|
||||
call("_con_cast_failed", data, info);
|
||||
@ -1013,13 +1036,14 @@ void Aura::_bind_methods() {
|
||||
ClassDB::bind_method(D_METHOD("son_cast_finished", "aura", "info"), &Aura::son_cast_finished);
|
||||
ClassDB::bind_method(D_METHOD("son_cast_finished_target", "aura", "info"), &Aura::son_cast_finished_target);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("son_before_damage_hit", "aura", "data"), &Aura::son_before_damage_hit);
|
||||
ClassDB::bind_method(D_METHOD("son_hit", "aura", "data"), &Aura::son_hit);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("son_before_damage", "aura", "data"), &Aura::son_before_damage);
|
||||
ClassDB::bind_method(D_METHOD("son_damage_receive", "aura", "data"), &Aura::son_damage_receive);
|
||||
ClassDB::bind_method(D_METHOD("son_dealt_damage", "aura", "data"), &Aura::son_dealt_damage);
|
||||
ClassDB::bind_method(D_METHOD("son_damage_dealt", "aura", "data"), &Aura::son_damage_dealt);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("son_before_heal_hit", "aura", "data"), &Aura::son_before_heal_hit);
|
||||
ClassDB::bind_method(D_METHOD("son_before_heal", "aura", "data"), &Aura::son_before_heal);
|
||||
ClassDB::bind_method(D_METHOD("son_heal_receive", "aura", "data"), &Aura::son_heal_receive);
|
||||
ClassDB::bind_method(D_METHOD("son_dealt_heal", "aura", "data"), &Aura::son_dealt_heal);
|
||||
@ -1050,13 +1074,14 @@ void Aura::_bind_methods() {
|
||||
BIND_VMETHOD(MethodInfo("_son_cast_finished", PropertyInfo(Variant::OBJECT, "data", PROPERTY_HINT_RESOURCE_TYPE, "AuraData"), PropertyInfo(Variant::OBJECT, "info", PROPERTY_HINT_RESOURCE_TYPE, "SpellCastInfo")));
|
||||
BIND_VMETHOD(MethodInfo("_son_cast_finished_target", PropertyInfo(Variant::OBJECT, "data", PROPERTY_HINT_RESOURCE_TYPE, "AuraData"), PropertyInfo(Variant::OBJECT, "info", PROPERTY_HINT_RESOURCE_TYPE, "SpellCastInfo")));
|
||||
|
||||
BIND_VMETHOD(MethodInfo("_son_before_damage_hit", PropertyInfo(Variant::OBJECT, "data", PROPERTY_HINT_RESOURCE_TYPE, "AuraData"), PropertyInfo(Variant::OBJECT, "data", PROPERTY_HINT_RESOURCE_TYPE, "SpellDamageInfo")));
|
||||
BIND_VMETHOD(MethodInfo("_son_hit", PropertyInfo(Variant::OBJECT, "data", PROPERTY_HINT_RESOURCE_TYPE, "AuraData"), PropertyInfo(Variant::OBJECT, "data", PROPERTY_HINT_RESOURCE_TYPE, "SpellDamageInfo")));
|
||||
|
||||
BIND_VMETHOD(MethodInfo("_son_before_damage", PropertyInfo(Variant::OBJECT, "data", PROPERTY_HINT_RESOURCE_TYPE, "AuraData"), PropertyInfo(Variant::OBJECT, "data", PROPERTY_HINT_RESOURCE_TYPE, "SpellDamageInfo")));
|
||||
BIND_VMETHOD(MethodInfo("_son_damage_receive", PropertyInfo(Variant::OBJECT, "data", PROPERTY_HINT_RESOURCE_TYPE, "AuraData"), PropertyInfo(Variant::OBJECT, "data", PROPERTY_HINT_RESOURCE_TYPE, "SpellDamageInfo")));
|
||||
BIND_VMETHOD(MethodInfo("_son_dealt_damage", PropertyInfo(Variant::OBJECT, "data", PROPERTY_HINT_RESOURCE_TYPE, "AuraData"), PropertyInfo(Variant::OBJECT, "data", PROPERTY_HINT_RESOURCE_TYPE, "SpellDamageInfo")));
|
||||
BIND_VMETHOD(MethodInfo("_son_damage_dealt", PropertyInfo(Variant::OBJECT, "data", PROPERTY_HINT_RESOURCE_TYPE, "AuraData"), PropertyInfo(Variant::OBJECT, "data", PROPERTY_HINT_RESOURCE_TYPE, "SpellDamageInfo")));
|
||||
|
||||
BIND_VMETHOD(MethodInfo("_son_before_heal_hit", PropertyInfo(Variant::OBJECT, "data", PROPERTY_HINT_RESOURCE_TYPE, "AuraData"), PropertyInfo(Variant::OBJECT, "data", PROPERTY_HINT_RESOURCE_TYPE, "SpellHealInfo")));
|
||||
BIND_VMETHOD(MethodInfo("_son_before_heal", PropertyInfo(Variant::OBJECT, "data", PROPERTY_HINT_RESOURCE_TYPE, "AuraData"), PropertyInfo(Variant::OBJECT, "data", PROPERTY_HINT_RESOURCE_TYPE, "SpellHealInfo")));
|
||||
BIND_VMETHOD(MethodInfo("_son_heal_receive", PropertyInfo(Variant::OBJECT, "data", PROPERTY_HINT_RESOURCE_TYPE, "AuraData"), PropertyInfo(Variant::OBJECT, "data", PROPERTY_HINT_RESOURCE_TYPE, "SpellHealInfo")));
|
||||
BIND_VMETHOD(MethodInfo("_son_dealt_heal", PropertyInfo(Variant::OBJECT, "data", PROPERTY_HINT_RESOURCE_TYPE, "AuraData"), PropertyInfo(Variant::OBJECT, "data", PROPERTY_HINT_RESOURCE_TYPE, "SpellHealInfo")));
|
||||
|
@ -224,13 +224,14 @@ public:
|
||||
void son_cast_finished(Ref<AuraData> aura, Ref<SpellCastInfo> info);
|
||||
void son_cast_finished_target(Ref<AuraData> aura, Ref<SpellCastInfo> info);
|
||||
|
||||
void son_before_damage_hit(Ref<AuraData> aura, Ref<SpellDamageInfo> data);
|
||||
void son_hit(Ref<AuraData> aura, Ref<SpellDamageInfo> data);
|
||||
|
||||
void son_before_damage(Ref<AuraData> aura, Ref<SpellDamageInfo> data);
|
||||
void son_damage_receive(Ref<AuraData> aura, Ref<SpellDamageInfo> data);
|
||||
void son_dealt_damage(Ref<AuraData> aura, Ref<SpellDamageInfo> data);
|
||||
void son_damage_dealt(Ref<AuraData> aura, Ref<SpellDamageInfo> data);
|
||||
|
||||
void son_before_heal_hit(Ref<AuraData> aura, Ref<SpellHealInfo> data);
|
||||
void son_before_heal(Ref<AuraData> aura, Ref<SpellHealInfo> data);
|
||||
void son_heal_receive(Ref<AuraData> aura, Ref<SpellHealInfo> data);
|
||||
void son_dealt_heal(Ref<AuraData> aura, Ref<SpellHealInfo> data);
|
||||
@ -253,6 +254,8 @@ public:
|
||||
|
||||
void son_gcd_started(Ref<AuraData> data, float gcd);
|
||||
void son_gcd_finished(Ref<AuraData> data);
|
||||
|
||||
void son_physics_process(Ref<AuraData> data);
|
||||
|
||||
//Clientside Event Handlers
|
||||
void con_cast_failed(Ref<AuraData> data, Ref<SpellCastInfo> info);
|
||||
|
@ -350,6 +350,15 @@ void EntityData::son_cast_finished_target(Ref<SpellCastInfo> info) {
|
||||
_inherits->son_cast_finished_target(info);
|
||||
}
|
||||
|
||||
void EntityData::son_before_damage_hit(Ref<SpellDamageInfo> data) {
|
||||
ERR_FAIL_COND(!data.is_valid());
|
||||
|
||||
if (has_method("_son_before_damage_hit"))
|
||||
call("_son_before_damage_hit", data);
|
||||
else if (_inherits.is_valid())
|
||||
_inherits->son_before_damage_hit(data);
|
||||
}
|
||||
|
||||
void EntityData::son_hit(Ref<SpellDamageInfo> data) {
|
||||
ERR_FAIL_COND(!data.is_valid());
|
||||
|
||||
@ -395,6 +404,15 @@ void EntityData::son_damage_dealt(Ref<SpellDamageInfo> data) {
|
||||
_inherits->son_damage_dealt(data);
|
||||
}
|
||||
|
||||
void EntityData::son_before_heal_hit(Ref<SpellHealInfo> data) {
|
||||
ERR_FAIL_COND(!data.is_valid());
|
||||
|
||||
if (has_method("_son_before_heal_hit"))
|
||||
call("_son_before_heal_hit", data);
|
||||
else if (_inherits.is_valid())
|
||||
_inherits->son_before_heal_hit(data);
|
||||
}
|
||||
|
||||
void EntityData::son_before_heal(Ref<SpellHealInfo> data) {
|
||||
ERR_FAIL_COND(!data.is_valid());
|
||||
|
||||
@ -798,13 +816,14 @@ void EntityData::_bind_methods() {
|
||||
ClassDB::bind_method(D_METHOD("son_cast_finished", "info"), &EntityData::son_cast_finished);
|
||||
ClassDB::bind_method(D_METHOD("son_cast_finished_target", "info"), &EntityData::son_cast_finished_target);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("son_before_damage_hit", "data"), &EntityData::son_before_damage_hit);
|
||||
ClassDB::bind_method(D_METHOD("son_hit", "data"), &EntityData::son_hit);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("son_before_damage", "data"), &EntityData::son_before_damage);
|
||||
ClassDB::bind_method(D_METHOD("son_damage_receive", "data"), &EntityData::son_damage_receive);
|
||||
ClassDB::bind_method(D_METHOD("son_dealt_damage", "data"), &EntityData::son_dealt_damage);
|
||||
ClassDB::bind_method(D_METHOD("son_damage_dealt", "data"), &EntityData::son_damage_dealt);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("son_before_heal_hit", "data"), &EntityData::son_before_heal_hit);
|
||||
ClassDB::bind_method(D_METHOD("son_before_heal", "data"), &EntityData::son_before_heal);
|
||||
ClassDB::bind_method(D_METHOD("son_heal_receive", "data"), &EntityData::son_heal_receive);
|
||||
ClassDB::bind_method(D_METHOD("son_dealt_heal", "data"), &EntityData::son_dealt_heal);
|
||||
@ -831,13 +850,14 @@ void EntityData::_bind_methods() {
|
||||
BIND_VMETHOD(MethodInfo("_son_cast_finished", PropertyInfo(Variant::OBJECT, "info", PROPERTY_HINT_RESOURCE_TYPE, "SpellCastInfo")));
|
||||
BIND_VMETHOD(MethodInfo("_son_cast_finished_target", PropertyInfo(Variant::OBJECT, "info", PROPERTY_HINT_RESOURCE_TYPE, "SpellCastInfo")));
|
||||
|
||||
BIND_VMETHOD(MethodInfo("_son_before_damage_hit", PropertyInfo(Variant::OBJECT, "data", PROPERTY_HINT_RESOURCE_TYPE, "SpellDamageInfo")));
|
||||
BIND_VMETHOD(MethodInfo("_son_hit", PropertyInfo(Variant::OBJECT, "data", PROPERTY_HINT_RESOURCE_TYPE, "SpellDamageInfo")));
|
||||
|
||||
BIND_VMETHOD(MethodInfo("_son_before_damage", PropertyInfo(Variant::OBJECT, "data", PROPERTY_HINT_RESOURCE_TYPE, "SpellDamageInfo")));
|
||||
BIND_VMETHOD(MethodInfo("_son_damage_receive", PropertyInfo(Variant::OBJECT, "data", PROPERTY_HINT_RESOURCE_TYPE, "SpellDamageInfo")));
|
||||
BIND_VMETHOD(MethodInfo("_son_dealt_damage", PropertyInfo(Variant::OBJECT, "data", PROPERTY_HINT_RESOURCE_TYPE, "SpellDamageInfo")));
|
||||
BIND_VMETHOD(MethodInfo("_son_damage_dealt", PropertyInfo(Variant::OBJECT, "data", PROPERTY_HINT_RESOURCE_TYPE, "SpellDamageInfo")));
|
||||
|
||||
BIND_VMETHOD(MethodInfo("_son_before_heal_hit", PropertyInfo(Variant::OBJECT, "data", PROPERTY_HINT_RESOURCE_TYPE, "SpellHealInfo")));
|
||||
BIND_VMETHOD(MethodInfo("_son_before_heal", PropertyInfo(Variant::OBJECT, "data", PROPERTY_HINT_RESOURCE_TYPE, "SpellHealInfo")));
|
||||
BIND_VMETHOD(MethodInfo("_son_heal_receive", PropertyInfo(Variant::OBJECT, "data", PROPERTY_HINT_RESOURCE_TYPE, "SpellHealInfo")));
|
||||
BIND_VMETHOD(MethodInfo("_son_dealt_heal", PropertyInfo(Variant::OBJECT, "data", PROPERTY_HINT_RESOURCE_TYPE, "SpellHealInfo")));
|
||||
|
@ -127,12 +127,14 @@ public:
|
||||
void son_cast_started(Ref<SpellCastInfo> info);
|
||||
void son_cast_failed(Ref<SpellCastInfo> info);
|
||||
|
||||
void son_before_damage_hit(Ref<SpellDamageInfo> data);
|
||||
void son_hit(Ref<SpellDamageInfo> data);
|
||||
void son_before_damage(Ref<SpellDamageInfo> data);
|
||||
void son_damage_receive(Ref<SpellDamageInfo> data);
|
||||
void son_dealt_damage(Ref<SpellDamageInfo> data);
|
||||
void son_damage_dealt(Ref<SpellDamageInfo> data);
|
||||
|
||||
void son_before_heal_hit(Ref<SpellHealInfo> data);
|
||||
void son_before_heal(Ref<SpellHealInfo> data);
|
||||
void son_heal_receive(Ref<SpellHealInfo> data);
|
||||
void son_dealt_heal(Ref<SpellHealInfo> data);
|
||||
|
@ -651,12 +651,22 @@ void Entity::stake_damage(Ref<SpellDamageInfo> info) {
|
||||
return;
|
||||
}
|
||||
|
||||
son_before_damage_hit(info);
|
||||
|
||||
if (info->get_immune()) {
|
||||
SEND_RPC(rpc("con_damage_dealt", info), con_damage_dealt(info));
|
||||
return;
|
||||
}
|
||||
|
||||
//send it through the passive damage reductions pipeline
|
||||
sapply_passives_damage_receive(info);
|
||||
|
||||
//send it through the onbeforehit handler
|
||||
son_before_damage(info);
|
||||
|
||||
//send it throug the onhit pipeliine
|
||||
son_hit(info);
|
||||
|
||||
son_damage_receive(info);
|
||||
|
||||
int h = get_health()->gets_current() - info->get_damage();
|
||||
@ -712,9 +722,17 @@ void Entity::stake_heal(Ref<SpellHealInfo> info) {
|
||||
if (gets_is_dead()) {
|
||||
return;
|
||||
}
|
||||
|
||||
son_before_heal_hit(info);
|
||||
|
||||
if (info->get_immune()) {
|
||||
SEND_RPC(rpc("con_heal_dealt", info), con_heal_dealt(info));
|
||||
return;
|
||||
}
|
||||
|
||||
//send it through the passive damage reductions pipeline
|
||||
sapply_passives_heal_receive(info);
|
||||
|
||||
//send it through the onbeforehit handler
|
||||
son_before_heal(info);
|
||||
|
||||
@ -880,6 +898,23 @@ void Entity::son_before_cast_target(Ref<SpellCastInfo> info) {
|
||||
}
|
||||
}
|
||||
|
||||
void Entity::son_before_damage_hit(Ref<SpellDamageInfo> info) {
|
||||
ERR_FAIL_COND(!info.is_valid());
|
||||
|
||||
if (_s_entity_data.is_valid()) {
|
||||
_s_entity_data->son_before_damage_hit(info);
|
||||
}
|
||||
|
||||
if (has_method("_son_before_damage_hit"))
|
||||
call("_son_before_damage_hit", info);
|
||||
|
||||
for (int i = 0; i < _s_auras.size(); ++i) {
|
||||
Ref<AuraData> ad = _s_auras.get(i);
|
||||
|
||||
ad->get_aura()->son_before_damage_hit(ad, info);
|
||||
}
|
||||
}
|
||||
|
||||
void Entity::son_hit(Ref<SpellDamageInfo> info) {
|
||||
ERR_FAIL_COND(!info.is_valid());
|
||||
|
||||
@ -966,6 +1001,23 @@ void Entity::son_damage_dealt(Ref<SpellDamageInfo> info) {
|
||||
}
|
||||
}
|
||||
|
||||
void Entity::son_before_heal_hit(Ref<SpellHealInfo> info) {
|
||||
ERR_FAIL_COND(!info.is_valid());
|
||||
|
||||
if (_s_entity_data.is_valid()) {
|
||||
_s_entity_data->son_before_heal_hit(info);
|
||||
}
|
||||
|
||||
if (has_method("_son_before_heal_hit"))
|
||||
call("_son_before_heal_hit", info);
|
||||
|
||||
for (int i = 0; i < _s_auras.size(); ++i) {
|
||||
Ref<AuraData> ad = _s_auras.get(i);
|
||||
|
||||
ad->get_aura()->son_before_heal_hit(ad, info);
|
||||
}
|
||||
}
|
||||
|
||||
void Entity::son_before_heal(Ref<SpellHealInfo> info) {
|
||||
ERR_FAIL_COND(!info.is_valid());
|
||||
|
||||
@ -1281,6 +1333,17 @@ void Entity::con_gcd_finished() {
|
||||
}
|
||||
}
|
||||
|
||||
void Entity::son_physics_process() {
|
||||
//if (has_method("_son_category_cooldown_removed"))
|
||||
// call("_son_category_cooldown_removed", category_cooldown);
|
||||
|
||||
for (int i = 0; i < _s_auras.size(); ++i) {
|
||||
Ref<AuraData> ad = _s_auras.get(i);
|
||||
|
||||
ad->get_aura()->son_physics_process(ad);
|
||||
}
|
||||
}
|
||||
|
||||
void Entity::sadd_aura(Ref<AuraData> aura) {
|
||||
ERR_FAIL_COND(!aura.is_valid());
|
||||
|
||||
@ -2689,6 +2752,9 @@ void Entity::_notification(int p_what) {
|
||||
case NOTIFICATION_PROCESS: {
|
||||
update(get_process_delta_time());
|
||||
} break;
|
||||
case NOTIFICATION_PHYSICS_PROCESS: {
|
||||
son_physics_process();
|
||||
}break;
|
||||
case NOTIFICATION_EXIT_TREE: {
|
||||
|
||||
} break;
|
||||
@ -2759,6 +2825,7 @@ void Entity::_bind_methods() {
|
||||
BIND_VMETHOD(MethodInfo("_son_cast_finished", PropertyInfo(Variant::OBJECT, "info", PROPERTY_HINT_RESOURCE_TYPE, "SpellCastInfo")));
|
||||
BIND_VMETHOD(MethodInfo("_son_cast_finished_target", PropertyInfo(Variant::OBJECT, "info", PROPERTY_HINT_RESOURCE_TYPE, "SpellCastInfo")));
|
||||
|
||||
BIND_VMETHOD(MethodInfo("_son_before_damage_hit", PropertyInfo(Variant::OBJECT, "info", PROPERTY_HINT_RESOURCE_TYPE, "SpellDamageInfo")));
|
||||
BIND_VMETHOD(MethodInfo("_son_hit", PropertyInfo(Variant::OBJECT, "info", PROPERTY_HINT_RESOURCE_TYPE, "SpellDamageInfo")));
|
||||
|
||||
BIND_VMETHOD(MethodInfo("_son_before_damage", PropertyInfo(Variant::OBJECT, "info", PROPERTY_HINT_RESOURCE_TYPE, "SpellDamageInfo")));
|
||||
@ -2766,6 +2833,7 @@ void Entity::_bind_methods() {
|
||||
BIND_VMETHOD(MethodInfo("_son_dealt_damage", PropertyInfo(Variant::OBJECT, "info", PROPERTY_HINT_RESOURCE_TYPE, "SpellDamageInfo")));
|
||||
BIND_VMETHOD(MethodInfo("_son_damage_dealt", PropertyInfo(Variant::OBJECT, "info", PROPERTY_HINT_RESOURCE_TYPE, "SpellDamageInfo")));
|
||||
|
||||
BIND_VMETHOD(MethodInfo("_son_before_heal_hit", PropertyInfo(Variant::OBJECT, "info", PROPERTY_HINT_RESOURCE_TYPE, "SpellHealInfo")));
|
||||
BIND_VMETHOD(MethodInfo("_son_before_heal", PropertyInfo(Variant::OBJECT, "info", PROPERTY_HINT_RESOURCE_TYPE, "SpellHealInfo")));
|
||||
BIND_VMETHOD(MethodInfo("_son_heal_receive", PropertyInfo(Variant::OBJECT, "info", PROPERTY_HINT_RESOURCE_TYPE, "SpellHealInfo")));
|
||||
BIND_VMETHOD(MethodInfo("_son_dealt_heal", PropertyInfo(Variant::OBJECT, "info", PROPERTY_HINT_RESOURCE_TYPE, "SpellHealInfo")));
|
||||
@ -2782,16 +2850,18 @@ void Entity::_bind_methods() {
|
||||
ClassDB::bind_method(D_METHOD("son_before_aura_applied", "data"), &Entity::son_before_aura_applied);
|
||||
ClassDB::bind_method(D_METHOD("son_after_aura_applied", "data"), &Entity::son_after_aura_applied);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("son_before_damage_hit", "data"), &Entity::son_before_damage_hit);
|
||||
ClassDB::bind_method(D_METHOD("son_hit", "data"), &Entity::son_hit);
|
||||
ClassDB::bind_method(D_METHOD("son_before_damage", "data"), &Entity::son_before_damage);
|
||||
ClassDB::bind_method(D_METHOD("son_damage_receive", "data"), &Entity::son_damage_receive);
|
||||
ClassDB::bind_method(D_METHOD("son_dealt_damage", "data"), &Entity::son_dealt_damage);
|
||||
ClassDB::bind_method(D_METHOD("son_damage_dealt", "data"), &Entity::son_damage_dealt);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("son_before_heal", "data"), &Entity::son_before_damage);
|
||||
ClassDB::bind_method(D_METHOD("son_heal_receive", "data"), &Entity::son_damage_receive);
|
||||
ClassDB::bind_method(D_METHOD("son_dealt_heal", "data"), &Entity::son_dealt_damage);
|
||||
ClassDB::bind_method(D_METHOD("son_heal_dealt", "data"), &Entity::son_damage_dealt);
|
||||
ClassDB::bind_method(D_METHOD("son_before_heal_hit", "data"), &Entity::son_before_heal_hit);
|
||||
ClassDB::bind_method(D_METHOD("son_before_heal", "data"), &Entity::son_before_heal);
|
||||
ClassDB::bind_method(D_METHOD("son_heal_receive", "data"), &Entity::son_heal_receive);
|
||||
ClassDB::bind_method(D_METHOD("son_dealt_heal", "data"), &Entity::son_dealt_heal);
|
||||
ClassDB::bind_method(D_METHOD("son_heal_dealt", "data"), &Entity::son_heal_dealt);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("son_before_cast", "info"), &Entity::son_before_cast);
|
||||
ClassDB::bind_method(D_METHOD("son_before_cast_target", "info"), &Entity::son_before_cast_target);
|
||||
|
@ -257,12 +257,14 @@ public:
|
||||
void son_before_aura_applied(Ref<AuraData> data);
|
||||
void son_after_aura_applied(Ref<AuraData> data);
|
||||
|
||||
void son_hit(Ref<SpellDamageInfo> info);
|
||||
void son_before_damage_hit(Ref<SpellDamageInfo> info);
|
||||
void son_hit(Ref<SpellDamageInfo> info);
|
||||
void son_before_damage(Ref<SpellDamageInfo> info);
|
||||
void son_damage_receive(Ref<SpellDamageInfo> info);
|
||||
void son_dealt_damage(Ref<SpellDamageInfo> info);
|
||||
void son_damage_dealt(Ref<SpellDamageInfo> info);
|
||||
|
||||
void son_before_heal_hit(Ref<SpellHealInfo> info);
|
||||
void son_before_heal(Ref<SpellHealInfo> info);
|
||||
void son_heal_receive(Ref<SpellHealInfo> info);
|
||||
void son_dealt_heal(Ref<SpellHealInfo> info);
|
||||
@ -282,11 +284,13 @@ public:
|
||||
|
||||
void son_category_cooldown_added(Ref<CategoryCooldown> category_cooldown);
|
||||
void son_category_cooldown_removed(Ref<CategoryCooldown> category_cooldown);
|
||||
|
||||
|
||||
void son_gcd_started();
|
||||
void son_gcd_finished();
|
||||
void con_gcd_started();
|
||||
void con_gcd_finished();
|
||||
|
||||
void son_physics_process();
|
||||
|
||||
//Clientside EventHandlers
|
||||
void con_cast_failed(Ref<SpellCastInfo> info);
|
||||
@ -317,7 +321,7 @@ public:
|
||||
|
||||
void sapply_passives_heal_receive(Ref<SpellHealInfo> info);
|
||||
void sapply_passives_heal_deal(Ref<SpellHealInfo> info);
|
||||
|
||||
|
||||
//Spell operations
|
||||
void scast_spell(int spell_id);
|
||||
void crequest_spell_cast(int spell_id);
|
||||
@ -346,7 +350,7 @@ public:
|
||||
void caura_refreshed(Ref<AuraData> aura);
|
||||
|
||||
void sremove_auras_with_group(int aura_group);
|
||||
|
||||
|
||||
//NOTE: No reason for shas_aura_by, just query it, and check for null.
|
||||
int sget_aura_count();
|
||||
Ref<AuraData> sget_aura(int index);
|
||||
|
@ -4,10 +4,16 @@
|
||||
#include "../data/spell.h"
|
||||
#include "../data/aura.h"
|
||||
|
||||
bool SpellDamageInfo::get_immune() {
|
||||
return _crit;
|
||||
}
|
||||
void SpellDamageInfo::set_immune(bool value) {
|
||||
_crit = value;
|
||||
}
|
||||
|
||||
int SpellDamageInfo::get_damage() {
|
||||
return _damage;
|
||||
}
|
||||
|
||||
void SpellDamageInfo::set_damage(int value) {
|
||||
_damage = value;
|
||||
}
|
||||
@ -15,7 +21,6 @@ void SpellDamageInfo::set_damage(int value) {
|
||||
bool SpellDamageInfo::get_crit() {
|
||||
return _crit;
|
||||
}
|
||||
|
||||
void SpellDamageInfo::set_crit(bool value) {
|
||||
_crit = value;
|
||||
}
|
||||
@ -23,7 +28,6 @@ void SpellDamageInfo::set_crit(bool value) {
|
||||
int SpellDamageInfo::get_amount_absorbed() {
|
||||
return _amount_absorbed;
|
||||
}
|
||||
|
||||
void SpellDamageInfo::set_amount_absorbed(int value) {
|
||||
_amount_absorbed = value;
|
||||
}
|
||||
@ -31,7 +35,6 @@ void SpellDamageInfo::set_amount_absorbed(int value) {
|
||||
SpellEnums::SpellType SpellDamageInfo::get_spell_type() {
|
||||
return _spell_type;
|
||||
}
|
||||
|
||||
void SpellDamageInfo::set_spell_type(SpellEnums::SpellType value) {
|
||||
_spell_type = value;
|
||||
}
|
||||
@ -39,11 +42,9 @@ void SpellDamageInfo::set_spell_type(SpellEnums::SpellType value) {
|
||||
Entity *SpellDamageInfo::get_dealer() {
|
||||
return _dealer;
|
||||
}
|
||||
|
||||
void SpellDamageInfo::set_dealer(Entity *value) {
|
||||
_dealer = value;
|
||||
}
|
||||
|
||||
void SpellDamageInfo::set_dealer_bind(Node *value) {
|
||||
if (!value) {
|
||||
return;
|
||||
@ -61,11 +62,9 @@ void SpellDamageInfo::set_dealer_bind(Node *value) {
|
||||
Entity *SpellDamageInfo::get_receiver() {
|
||||
return _receiver;
|
||||
}
|
||||
|
||||
void SpellDamageInfo::set_receiver(Entity *value) {
|
||||
_receiver = value;
|
||||
}
|
||||
|
||||
void SpellDamageInfo::set_receiver_bind(Node *value) {
|
||||
if (!value) {
|
||||
return;
|
||||
@ -83,7 +82,6 @@ void SpellDamageInfo::set_receiver_bind(Node *value) {
|
||||
Ref<Reference> SpellDamageInfo::get_damage_source() {
|
||||
return _damage_source;
|
||||
}
|
||||
|
||||
void SpellDamageInfo::set_damage_source(Ref<Reference> value) {
|
||||
_damage_source_type = DAMAGE_SOURCE_UNKNOWN;
|
||||
_damage_source = value;
|
||||
@ -152,6 +150,10 @@ SpellDamageInfo::~SpellDamageInfo() {
|
||||
}
|
||||
|
||||
void SpellDamageInfo::_bind_methods() {
|
||||
ClassDB::bind_method(D_METHOD("get_immune"), &SpellDamageInfo::get_immune);
|
||||
ClassDB::bind_method(D_METHOD("set_immune", "value"), &SpellDamageInfo::set_immune);
|
||||
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "immune"), "set_immune", "get_immune");
|
||||
|
||||
ClassDB::bind_method(D_METHOD("get_damage"), &SpellDamageInfo::get_damage);
|
||||
ClassDB::bind_method(D_METHOD("set_damage", "value"), &SpellDamageInfo::set_damage);
|
||||
ADD_PROPERTY(PropertyInfo(Variant::INT, "damage"), "set_damage", "get_damage");
|
||||
|
@ -23,6 +23,9 @@ protected:
|
||||
static void _bind_methods();
|
||||
|
||||
public:
|
||||
bool get_immune();
|
||||
void set_immune(bool value);
|
||||
|
||||
int get_damage();
|
||||
void set_damage(int value);
|
||||
|
||||
@ -64,6 +67,7 @@ public:
|
||||
~SpellDamageInfo();
|
||||
|
||||
private:
|
||||
bool _immune;
|
||||
int _damage;
|
||||
int _original_damage;
|
||||
int _amount_absorbed;
|
||||
|
@ -4,6 +4,13 @@
|
||||
#include "../data/spell.h"
|
||||
#include "../entities/entity.h"
|
||||
|
||||
bool SpellHealInfo::get_immune() {
|
||||
return _crit;
|
||||
}
|
||||
void SpellHealInfo::set_immune(bool value) {
|
||||
_crit = value;
|
||||
}
|
||||
|
||||
int SpellHealInfo::get_heal() {
|
||||
return _heal;
|
||||
}
|
||||
@ -140,6 +147,10 @@ SpellHealInfo::~SpellHealInfo() {
|
||||
}
|
||||
|
||||
void SpellHealInfo::_bind_methods() {
|
||||
ClassDB::bind_method(D_METHOD("get_immune"), &SpellHealInfo::get_immune);
|
||||
ClassDB::bind_method(D_METHOD("set_immune", "value"), &SpellHealInfo::set_immune);
|
||||
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "immune"), "set_immune", "get_immune");
|
||||
|
||||
ClassDB::bind_method(D_METHOD("get_heal"), &SpellHealInfo::get_heal);
|
||||
ClassDB::bind_method(D_METHOD("set_heal", "value"), &SpellHealInfo::set_heal);
|
||||
ADD_PROPERTY(PropertyInfo(Variant::INT, "heal"), "set_heal", "get_heal");
|
||||
|
@ -23,6 +23,9 @@ protected:
|
||||
static void _bind_methods();
|
||||
|
||||
public:
|
||||
bool get_immune();
|
||||
void set_immune(bool value);
|
||||
|
||||
int get_heal();
|
||||
void set_heal(int value);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user