summaryrefslogtreecommitdiff
path: root/src/map/atcommand.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/map/atcommand.c')
-rw-r--r--src/map/atcommand.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/map/atcommand.c b/src/map/atcommand.c
index f4be3b421..4f821d3f1 100644
--- a/src/map/atcommand.c
+++ b/src/map/atcommand.c
@@ -10012,8 +10012,9 @@ int atcommand_homshuffle(
const char* command, const char* message)
{
struct homun_data *hd;
- int lv, i;
+ int lv, i, skillpts;
unsigned int exp;
+ struct skill b_skill;
TBL_PC* tsd = sd;
nullpo_retr(-1, sd);
@@ -10042,6 +10043,8 @@ int atcommand_homshuffle(
lv = hd->homunculus.level;
exp = hd->homunculus.exp;
+ memcpy(&b_skill, &hd->homunculus.hskill, sizeof(b_skill));
+ skillpts = hd->homunculus.skillpts;
//Reset values to level 1.
merc_reset_stats(hd);
//Level it back up
@@ -10050,6 +10053,8 @@ int atcommand_homshuffle(
merc_hom_levelup(hd);
}
hd->homunculus.exp = exp;
+ memcpy(&hd->homunculus.hskill, &b_skill, sizeof(b_skill));
+ hd->homunculus.skillpts = skillpts;
status_calc_homunculus(hd,0);
status_percent_heal(&hd->bl, 100, 100);
clif_misceffect2(&hd->bl,568);