diff options
-rw-r--r-- | src/map/skill.c | 8 | ||||
-rw-r--r-- | src/map/skill.h | 1 |
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); |