summaryrefslogtreecommitdiff
path: root/src/map/skill.h
diff options
context:
space:
mode:
authorHaru <haru@dotalux.com>2016-07-09 16:00:28 +0200
committerGitHub <noreply@github.com>2016-07-09 16:00:28 +0200
commit8b60e9dcb652a6d74046dd28c4ba11753ae856ed (patch)
tree519834e5626cad3320700c22e4e3a750499319e1 /src/map/skill.h
parent033f9c35f5a5139e41876701ed129c3500e563a3 (diff)
parentb48ad3ab6cb0a1c4ee5dcf3060670545b73b1ef5 (diff)
downloadhercules-8b60e9dcb652a6d74046dd28c4ba11753ae856ed.tar.gz
hercules-8b60e9dcb652a6d74046dd28c4ba11753ae856ed.tar.bz2
hercules-8b60e9dcb652a6d74046dd28c4ba11753ae856ed.tar.xz
hercules-8b60e9dcb652a6d74046dd28c4ba11753ae856ed.zip
Merge pull request #1333 from Smokexyz/SkillDBLib
Skill DB TXT files to LibConfig + converter
Diffstat (limited to 'src/map/skill.h')
-rw-r--r--src/map/skill.h25
1 files changed, 19 insertions, 6 deletions
diff --git a/src/map/skill.h b/src/map/skill.h
index 4719af6a6..45f025e74 100644
--- a/src/map/skill.h
+++ b/src/map/skill.h
@@ -58,7 +58,7 @@ struct status_change_entry;
#define MAX_SKILLUNITGROUP 25
#define MAX_SKILL_ITEM_REQUIRE 10
#define MAX_SKILLUNITGROUPTICKSET 25
-#define MAX_SKILL_NAME_LENGTH 30
+#define MAX_SKILL_NAME_LENGTH 32
// (Epoque:) To-do: replace this macro with some sort of skill tree check (rather than hard-coded skill names)
#define skill_ischangesex(id) ( \
@@ -2033,11 +2033,24 @@ struct skill_interface {
int (*unit_timer) (int tid, int64 tick, int id, intptr_t data);
int (*unit_timer_sub) (union DBKey key, struct DBData *data, va_list ap);
void (*init_unit_layout) (void);
- bool (*parse_row_skilldb) (char* split[], int columns, int current);
- bool (*parse_row_requiredb) (char* split[], int columns, int current);
- bool (*parse_row_castdb) (char* split[], int columns, int current);
- bool (*parse_row_castnodexdb) (char* split[], int columns, int current);
- bool (*parse_row_unitdb) (char* split[], int columns, int current);
+ void (*validate_hittype) (struct config_setting_t *conf, struct s_skill_db *skill);
+ void (*validate_skilltype) (struct config_setting_t *conf, struct s_skill_db *skill);
+ void (*validate_attacktype) (struct config_setting_t *conf, struct s_skill_db *skill);
+ void (*validate_element) (struct config_setting_t *conf, struct s_skill_db *skill);
+ void (*validate_skillinfo) (struct config_setting_t *conf, struct s_skill_db *skill);
+ void (*validate_damagetype) (struct config_setting_t *conf, struct s_skill_db *skill);
+ void (*validate_castnodex) (struct config_setting_t *conf, struct s_skill_db *skill, bool delay);
+ void (*validate_weapontype) (struct config_setting_t *conf, struct s_skill_db *skill);
+ void (*validate_ammotype) (struct config_setting_t *conf, struct s_skill_db *skill);
+ void (*validate_state) (struct config_setting_t *conf, struct s_skill_db *skill);
+ void (*validate_item_requirements) (struct config_setting_t *conf, struct s_skill_db *skill);
+ void (*validate_unit_target) (struct config_setting_t *conf, struct s_skill_db *skill);
+ void (*validate_unit_flag) (struct config_setting_t *conf, struct s_skill_db *skill);
+ void (*validate_additional_fields) (struct config_setting_t *conf, struct s_skill_db *skill);
+ bool (*validate_skilldb) (struct s_skill_db *skt, const char *source);
+ bool (*read_skilldb) (const char *filename);
+ void (*config_set_level) (struct config_setting_t *conf, int *arr);
+ void (*level_set_value) (int *arr, int value);
bool (*parse_row_producedb) (char* split[], int columns, int current);
bool (*parse_row_createarrowdb) (char* split[], int columns, int current);
bool (*parse_row_abradb) (char* split[], int columns, int current);