summaryrefslogtreecommitdiff
path: root/src/map/charcommand.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/map/charcommand.c')
-rw-r--r--src/map/charcommand.c26
1 files changed, 11 insertions, 15 deletions
diff --git a/src/map/charcommand.c b/src/map/charcommand.c
index 9154048ac..505bf3d37 100644
--- a/src/map/charcommand.c
+++ b/src/map/charcommand.c
@@ -3755,24 +3755,20 @@ int charcommand_homevolution(const int fd, struct map_session_data* sd, const ch
return -1;
}
- if (pl_sd->hd)
- {
- if (pl_sd->hd->homunculusDB->evo_class)
- {
- merc_hom_evolution(pl_sd->hd);
- clif_displaymessage(pl_sd->fd, "Homunculus evolution initiated.");
- if (pl_sd->fd != fd)
- clif_displaymessage(fd, "Homunculus evolution initiated.");
- return 0;
- }
- clif_displaymessage(fd, "Target homunculus cannot evolve.");
+ if ( !merc_is_hom_active(pl_sd->hd) ) {
+ clif_displaymessage(fd, "Target player does not have a homunculus.");
return -1;
}
- else
- {
- clif_displaymessage(fd, "Target player does not have a homunculus.");
+
+ if ( !merc_hom_evolution(pl_sd->hd) ) {
+ clif_displaymessage(fd, "Target homunculus cannot evolve.");
+ return -1;
}
- return -1;
+
+ clif_displaymessage(pl_sd->fd, "Homunculus evolution initiated.");
+ if (pl_sd->fd != fd)
+ clif_displaymessage(fd, "Homunculus evolution initiated.");
+ return 0;
}
/*==========================================