diff options
Diffstat (limited to 'src/map/charcommand.c')
-rw-r--r-- | src/map/charcommand.c | 26 |
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; } /*========================================== |