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.c64
1 files changed, 62 insertions, 2 deletions
diff --git a/src/map/atcommand.c b/src/map/atcommand.c
index 66cb74141..f408a2644 100644
--- a/src/map/atcommand.c
+++ b/src/map/atcommand.c
@@ -311,6 +311,7 @@ ACMD_FUNC(homfriendly); //[orn]
ACMD_FUNC(homhungry); //[orn]
ACMD_FUNC(homtalk); //[orn]
ACMD_FUNC(hominfo); //[Toms]
+ACMD_FUNC(homstats); //[Skotlex]
ACMD_FUNC(showmobs); //KarLaeda
/*==========================================
@@ -640,8 +641,9 @@ static AtCommandInfo atcommand_info[] = {
{ AtCommand_MakeHomun, "@makehomun", 60, atcommand_makehomun },
{ AtCommand_HomFriendly, "@homfriendly", 60, atcommand_homfriendly },
{ AtCommand_HomHungry, "@homhungry", 60, atcommand_homhungry },
- { AtCommand_HomTalk, "@homtalk", 0, atcommand_homtalk },
- { AtCommand_HomInfo, "@hominfo", 0, atcommand_hominfo },
+ { AtCommand_HomTalk, "@homtalk", 10, atcommand_homtalk },
+ { AtCommand_HomInfo, "@hominfo", 1, atcommand_hominfo },
+ { AtCommand_HomStats, "@homstats", 1, atcommand_homstats },
{ AtCommand_ShowMobs, "@showmobs", 10, atcommand_showmobs }, //KarLaeda
// add new commands before this line
{ AtCommand_Unknown, NULL, 1, NULL }
@@ -9944,6 +9946,64 @@ int atcommand_hominfo(
return 0;
}
+int atcommand_homstats(
+ const int fd, struct map_session_data* sd,
+ const char* command, const char* message)
+{
+ struct homun_data *hd;
+ struct homunculus_db *db;
+ struct s_homunculus *hom;
+ int lv;
+
+ nullpo_retr(-1, sd);
+
+ if(!merc_is_hom_active(sd->hd))
+ return -1;
+ hd = sd->hd;
+
+ hom = &hd->homunculus;
+ db = hd->homunculusDB;
+ lv = hom->level;
+
+ snprintf(atcmd_output, sizeof(atcmd_output) ,
+ "Homunculus growth stats (Lv %d %s):", lv, db->name);
+ clif_displaymessage(fd, atcmd_output);
+
+ snprintf(atcmd_output, sizeof(atcmd_output) ,"Max HP: %d (%d~%d)",
+ hom->max_hp, lv*db->gminHP, lv*db->gmaxHP);
+ clif_displaymessage(fd, atcmd_output);
+
+ snprintf(atcmd_output, sizeof(atcmd_output) ,"Max SP: %d (%d~%d)",
+ hom->max_sp, lv*db->gminSP, lv*db->gmaxSP);
+ clif_displaymessage(fd, atcmd_output);
+
+ snprintf(atcmd_output, sizeof(atcmd_output) ,"Str: %d (%d~%d)",
+ hom->str/10, lv*db->gminSTR/10, lv*db->gmaxSTR/10);
+ clif_displaymessage(fd, atcmd_output);
+
+ snprintf(atcmd_output, sizeof(atcmd_output) ,"Agi: %d (%d~%d)",
+ hom->agi/10, lv*db->gminAGI/10, lv*db->gmaxAGI/10);
+ clif_displaymessage(fd, atcmd_output);
+
+ snprintf(atcmd_output, sizeof(atcmd_output) ,"Vit: %d (%d~%d)",
+ hom->vit/10, lv*db->gminVIT/10, lv*db->gmaxVIT/10);
+ clif_displaymessage(fd, atcmd_output);
+
+ snprintf(atcmd_output, sizeof(atcmd_output) ,"Int: %d (%d~%d)",
+ hom->int_/10, lv*db->gminINT/10, lv*db->gmaxINT/10);
+ clif_displaymessage(fd, atcmd_output);
+
+ snprintf(atcmd_output, sizeof(atcmd_output) ,"Dex: %d (%d~%d)",
+ hom->dex/10, lv*db->gminDEX/10, lv*db->gmaxDEX/10);
+ clif_displaymessage(fd, atcmd_output);
+
+ snprintf(atcmd_output, sizeof(atcmd_output) ,"Luk: %d (%d~%d)",
+ hom->luk/10, lv*db->gminLUK/10, lv*db->gmaxLUK/10);
+ clif_displaymessage(fd, atcmd_output);
+
+ return 0;
+}
+
/*==========================================
* Show Items DB Info v 1.0
* originally by [Lupus] eAthena