diff options
-rw-r--r-- | src/map/script.c | 3 | ||||
-rw-r--r-- | src/map/skill.c | 4 |
2 files changed, 7 insertions, 0 deletions
diff --git a/src/map/script.c b/src/map/script.c index 7ffaced7b..bc42cb49e 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -11059,6 +11059,9 @@ static BUILDIN(itemskill) sd->autocast.itemskill_instant_cast = ((flag & ISF_INSTANTCAST) == ISF_INSTANTCAST); sd->autocast.itemskill_cast_on_self = ((flag & ISF_CASTONSELF) == ISF_CASTONSELF); + VECTOR_ENSURE(sd->auto_cast, 1, 1); + VECTOR_PUSH(sd->auto_cast, sd->autocast); + clif->item_skill(sd, sd->autocast.skill_id, sd->autocast.skill_lv); return true; diff --git a/src/map/skill.c b/src/map/skill.c index caa1a0f29..ed88ff04d 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -6353,6 +6353,8 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list * sd->autocast.type = AUTOCAST_ABRA; sd->autocast.skill_id = abra_skill_id; sd->autocast.skill_lv = abra_skill_lv; + VECTOR_ENSURE(sd->auto_cast, 1, 1); + VECTOR_PUSH(sd->auto_cast, sd->autocast); clif->item_skill(sd, abra_skill_id, abra_skill_lv); } else { // mob-casted @@ -10095,6 +10097,8 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list * sd->autocast.type = AUTOCAST_IMPROVISE; sd->autocast.skill_id = improv_skill_id; sd->autocast.skill_lv = improv_skill_lv; + VECTOR_ENSURE(sd->auto_cast, 1, 1); + VECTOR_PUSH(sd->auto_cast, sd->autocast); clif->item_skill(sd, improv_skill_id, improv_skill_lv); } else { struct unit_data *ud = unit->bl2ud(src); |