diff options
author | Kenpachi Developer <Kenpachi.Developer@gmx.de> | 2020-03-11 20:53:34 +0100 |
---|---|---|
committer | Kenpachi Developer <Kenpachi.Developer@gmx.de> | 2020-03-14 22:35:08 +0100 |
commit | 80e505df06aab94b74210cc2f0e0651d6b6feb5f (patch) | |
tree | 9d0641e1ea582b74003b52b02bb43751bea5dd7d /src | |
parent | 3e847676d726c0e38782ce3708be430289972405 (diff) | |
download | hercules-80e505df06aab94b74210cc2f0e0651d6b6feb5f.tar.gz hercules-80e505df06aab94b74210cc2f0e0651d6b6feb5f.tar.bz2 hercules-80e505df06aab94b74210cc2f0e0651d6b6feb5f.tar.xz hercules-80e505df06aab94b74210cc2f0e0651d6b6feb5f.zip |
Add map_session_data->autocast.skill_id/_lv assignments
Diffstat (limited to 'src')
-rw-r--r-- | src/map/pc.c | 2 | ||||
-rw-r--r-- | src/map/script.c | 2 | ||||
-rw-r--r-- | src/map/skill.c | 4 |
3 files changed, 8 insertions, 0 deletions
diff --git a/src/map/pc.c b/src/map/pc.c index 73bae2b5b..0981cdee9 100644 --- a/src/map/pc.c +++ b/src/map/pc.c @@ -5347,6 +5347,8 @@ static int pc_itemskill_clear(struct map_session_data *sd) nullpo_ret(sd); sd->autocast.type = AUTOCAST_NONE; + sd->autocast.skill_id = 0; + sd->autocast.skill_lv = 0; sd->itemskill_id = 0; sd->itemskill_lv = 0; sd->state.itemskill_conditions_checked = 0; diff --git a/src/map/script.c b/src/map/script.c index 18855e3b0..44cab8429 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -11003,6 +11003,8 @@ static BUILDIN(itemskill) pc->itemskill_clear(sd); sd->autocast.type = AUTOCAST_ITEM; + sd->autocast.skill_id = script_isstringtype(st, 2) ? skill->name2id(script_getstr(st, 2)) : script_getnum(st, 2); + sd->autocast.skill_lv = script_getnum(st, 3); sd->skillitem = script_isstringtype(st, 2) ? skill->name2id(script_getstr(st, 2)) : script_getnum(st, 2); sd->skillitemlv = script_getnum(st, 3); sd->state.itemskill_conditions_checked = 0; // Skill casting items will check the conditions prior to the target selection in AEGIS. Thus we need a flag to prevent checking them twice. diff --git a/src/map/skill.c b/src/map/skill.c index a83f3bfe5..5ceff376f 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -6322,6 +6322,8 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list * if (sd) { // player-casted sd->autocast.type = AUTOCAST_ABRA; + sd->autocast.skill_id = abra_skill_id; + sd->autocast.skill_lv = abra_skill_lv; sd->state.abra_flag = 1; sd->skillitem = abra_skill_id; sd->skillitemlv = abra_skill_lv; @@ -10065,6 +10067,8 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list * if (sd != NULL) { sd->autocast.type = AUTOCAST_IMPROVISE; + sd->autocast.skill_id = improv_skill_id; + sd->autocast.skill_lv = improv_skill_lv; sd->state.abra_flag = 2; sd->skillitem = improv_skill_id; sd->skillitemlv = improv_skill_lv; |