summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/map/skill.c8
-rw-r--r--src/map/skill.h1
2 files changed, 8 insertions, 1 deletions
diff --git a/src/map/skill.c b/src/map/skill.c
index 693cbfe2c..d0affb248 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -3320,7 +3320,7 @@ static int skill_attack(int attack_type, struct block_list *src, struct block_li
dir = UNIT_DIR_EAST; // Official servers push target to the West
break;
default:
- dir = UNIT_DIR_UNDEFINED;
+ dir = skill->attack_dir_unknown(&attack_type, src, dsrc, bl, &skill_id, &skill_lv, &tick, &flag);
break;
}
@@ -3498,6 +3498,11 @@ static int skill_attack_copy_unknown(int *attack_type, struct block_list *src, s
return *skill_id;
}
+static int skill_attack_dir_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)
+{
+ return UNIT_DIR_UNDEFINED;
+}
+
static void skill_attack_blow_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 *type,
struct Damage *dmg, int64 *damage, enum unit_dir *dir)
@@ -21750,6 +21755,7 @@ void skill_defaults(void)
skill->attack_combo2_unknown = skill_attack_combo2_unknown;
skill->attack_display_unknown = skill_attack_display_unknown;
skill->attack_copy_unknown = skill_attack_copy_unknown;
+ skill->attack_dir_unknown = skill_attack_dir_unknown;
skill->attack_blow_unknown = skill_attack_blow_unknown;
skill->attack_post_unknown = skill_attack_post_unknown;
skill->timerskill_dead_unknown = skill_timerskill_dead_unknown;
diff --git a/src/map/skill.h b/src/map/skill.h
index 03062b199..c65547181 100644
--- a/src/map/skill.h
+++ b/src/map/skill.h
@@ -2163,6 +2163,7 @@ struct skill_interface {
void (*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 (*attack_display_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 *type, struct Damage *dmg, int64 *damage);
int (*attack_copy_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 (*attack_dir_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 (*attack_blow_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 *type, struct Damage *dmg, int64 *damage, enum unit_dir *dir);
void (*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);
bool (*timerskill_dead_unknown) (struct block_list *src, struct unit_data *ud, struct skill_timerskill *skl);