summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2016-06-30 21:34:56 +0300
committerAndrei Karas <akaras@inbox.ru>2016-06-30 21:34:56 +0300
commit8340001e7b3adb04d91a08c0372f058a4edfdf39 (patch)
treeb48bec3983ce1418ed6e616a59527f6b07f2967c
parentb1876e88ddc091fc9018bceba6f6f1e0b2bb6527 (diff)
downloadevol-hercules-8340001e7b3adb04d91a08c0372f058a4edfdf39.tar.gz
evol-hercules-8340001e7b3adb04d91a08c0372f058a4edfdf39.tar.bz2
evol-hercules-8340001e7b3adb04d91a08c0372f058a4edfdf39.tar.xz
evol-hercules-8340001e7b3adb04d91a08c0372f058a4edfdf39.zip
Hook directly empty skill functions.
-rw-r--r--src/emap/init.c10
-rw-r--r--src/emap/skill.c84
-rw-r--r--src/emap/skill.h64
3 files changed, 158 insertions, 0 deletions
diff --git a/src/emap/init.c b/src/emap/init.c
index f03bcd8..4079871 100644
--- a/src/emap/init.c
+++ b/src/emap/init.c
@@ -287,6 +287,16 @@ HPExport void plugin_init (void)
addHookPost(pc, can_insert_card_into, epc_can_insert_card_into_post);
addHookPost(pc, insert_card, epc_insert_card_post);
+ skill->additional_effect_unknown = eskill_additional_effect_unknown;
+ skill->counter_additional_effect_unknown = eskill_counter_additional_effect_unknown;
+ skill->attack_combo2_unknown = eskill_attack_combo2_unknown;
+ skill->attack_post_unknown = eskill_attack_post_unknown;
+ skill->timerskill_notarget_unknown = eskill_timerskill_notarget_unknown;
+ skill->unitsetting1_unknown = eskill_unitsetting1_unknown;
+ skill->unit_onplace_unknown = eskill_unit_onplace_unknown;
+ skill->check_condition_castend_unknown = eskill_check_condition_castend_unknown;
+ skill->get_requirement_unknown = eskill_get_requirement_unknown;
+
langScriptId = script->add_str("Lang");
mountScriptId = script->add_str("mount");
diff --git a/src/emap/skill.c b/src/emap/skill.c
index 435c3a7..ce2c038 100644
--- a/src/emap/skill.c
+++ b/src/emap/skill.c
@@ -18,6 +18,8 @@
#include "map/npc.h"
#include "map/script.h"
+#include "plugins/HPMHooking.h"
+
int eskill_check_condition_castend_post(int retVal,
TBL_PC* sd,
uint16 skill_id,
@@ -44,3 +46,85 @@ int eskill_check_condition_castend_post(int retVal,
}
return retVal;
}
+
+void eskill_additional_effect_unknown(struct block_list* src __attribute__ ((unused)),
+ struct block_list *bl __attribute__ ((unused)),
+ uint16 *skill_id __attribute__ ((unused)),
+ uint16 *skill_lv __attribute__ ((unused)),
+ int *attack_type __attribute__ ((unused)),
+ int *dmg_lv __attribute__ ((unused)),
+ int64 *tick __attribute__ ((unused)))
+{
+}
+
+void eskill_counter_additional_effect_unknown(struct block_list *src __attribute__ ((unused)),
+ struct block_list *bl __attribute__ ((unused)),
+ uint16 *skill_id __attribute__ ((unused)),
+ uint16 *skill_lv __attribute__ ((unused)),
+ int *attack_type __attribute__ ((unused)),
+ int64 *tick __attribute__ ((unused)))
+{
+}
+
+void eskill_attack_combo2_unknown(int *attack_type __attribute__ ((unused)),
+ struct block_list *src __attribute__ ((unused)),
+ struct block_list *dsrc __attribute__ ((unused)),
+ struct block_list *bl __attribute__ ((unused)),
+ uint16 *skill_id __attribute__ ((unused)),
+ uint16 *skill_lv __attribute__ ((unused)),
+ int64 *tick __attribute__ ((unused)),
+ int *flag __attribute__ ((unused)),
+ int *combo __attribute__ ((unused)))
+{
+}
+
+void eskill_attack_post_unknown(int *attack_type __attribute__ ((unused)),
+ struct block_list *src __attribute__ ((unused)),
+ struct block_list *dsrc __attribute__ ((unused)),
+ struct block_list *bl __attribute__ ((unused)),
+ uint16 *skill_id __attribute__ ((unused)),
+ uint16 *skill_lv __attribute__ ((unused)),
+ int64 *tick __attribute__ ((unused)),
+ int *flag __attribute__ ((unused)))
+{
+}
+
+void eskill_timerskill_notarget_unknown(int tid __attribute__ ((unused)),
+ int64 tick __attribute__ ((unused)),
+ struct block_list *src __attribute__ ((unused)),
+ struct unit_data *ud __attribute__ ((unused)),
+ struct skill_timerskill *skl __attribute__ ((unused)))
+{
+}
+
+void eskill_unitsetting1_unknown(struct block_list *src __attribute__ ((unused)),
+ uint16 *skill_id __attribute__ ((unused)),
+ uint16 *skill_lv __attribute__ ((unused)),
+ int16 *x __attribute__ ((unused)),
+ int16 *y __attribute__ ((unused)),
+ int *flag __attribute__ ((unused)),
+ int *val1 __attribute__ ((unused)),
+ int *val2 __attribute__ ((unused)),
+ int *val3 __attribute__ ((unused)))
+{
+}
+
+void eskill_unit_onplace_unknown(struct skill_unit *src __attribute__ ((unused)),
+ struct block_list *bl __attribute__ ((unused)),
+ int64 *tick __attribute__ ((unused)))
+{
+}
+
+void eskill_check_condition_castend_unknown(struct map_session_data *sd __attribute__ ((unused)),
+ uint16 *skill_id __attribute__ ((unused)),
+ uint16 *skill_lv __attribute__ ((unused)))
+{
+}
+
+void eskill_get_requirement_unknown(struct status_change *sc __attribute__ ((unused)),
+ struct map_session_data *sd __attribute__ ((unused)),
+ uint16 *skill_id __attribute__ ((unused)),
+ uint16 *skill_lv __attribute__ ((unused)),
+ struct skill_condition *req __attribute__ ((unused)))
+{
+}
diff --git a/src/emap/skill.h b/src/emap/skill.h
index 7b4e15b..63d8bda 100644
--- a/src/emap/skill.h
+++ b/src/emap/skill.h
@@ -9,4 +9,68 @@ int eskill_check_condition_castend_post(int retVal,
uint16 skill_id,
uint16 skill_lv);
+void eskill_additional_effect_unknown(struct block_list* src,
+ struct block_list *bl,
+ uint16 *skill_id,
+ uint16 *skill_lv,
+ int *attack_type,
+ int *dmg_lv,
+ int64 *tick);
+
+void eskill_counter_additional_effect_unknown(struct block_list* src,
+ struct block_list *bl,
+ uint16 *skill_id,
+ uint16 *skill_lv,
+ int *attack_type,
+ int64 *tick);
+
+void eskill_attack_combo2_unknown(int *attack_type,
+ struct block_list *src,
+ struct block_list *dsrc,
+ struct block_list *bl,
+ uint16 *skill_id,
+ uint16 *skill_lv,
+ int64 *tick,
+ int *flag,
+ int *combo);
+
+void eskill_attack_post_unknown(int *attack_type,
+ struct block_list *src,
+ struct block_list *dsrc,
+ struct block_list *bl,
+ uint16 *skill_id,
+ uint16 *skill_lv,
+ int64 *tick,
+ int *flag);
+
+void eskill_timerskill_notarget_unknown(int tid,
+ int64 tick,
+ struct block_list *src,
+ struct unit_data *ud,
+ struct skill_timerskill *skl);
+
+void eskill_unitsetting1_unknown(struct block_list *src,
+ uint16 *skill_id,
+ uint16 *skill_lv,
+ int16 *x,
+ int16 *y,
+ int *flag,
+ int *val1,
+ int *val2,
+ int *val3);
+
+void eskill_unit_onplace_unknown(struct skill_unit *src,
+ struct block_list *bl,
+ int64 *tick);
+
+void eskill_check_condition_castend_unknown(struct map_session_data *sd,
+ uint16 *skill_id,
+ uint16 *skill_lv);
+
+void eskill_get_requirement_unknown(struct status_change *sc,
+ struct map_session_data *sd,
+ uint16 *skill_id,
+ uint16 *skill_lv,
+ struct skill_condition *req);
+
#endif // EVOL_MAP_SKILL