summaryrefslogtreecommitdiff
path: root/src/map/status.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/map/status.c')
-rw-r--r--src/map/status.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/map/status.c b/src/map/status.c
index 68579b059..1b8ce5dbc 100644
--- a/src/map/status.c
+++ b/src/map/status.c
@@ -2404,6 +2404,7 @@ int status_calc_homunculus(struct homun_data *hd, int first)
struct status_data b_status, *status;
struct s_homunculus *hom;
int skill;
+ int amotion;
memcpy(&b_status, &hd->base_status, sizeof(struct status_data));
hom = &hd->homunculus;
@@ -2468,17 +2469,15 @@ int status_calc_homunculus(struct homun_data *hd, int first)
status->aspd_rate = 1000;
- skill = (1000 -4*status->agi -status->dex)
- *hd->homunculusDB->baseASPD/1000;
-
- status->amotion = cap_value(skill,battle_config.max_aspd,2000);
+ amotion = (1000 -4*status->agi -status->dex) * hd->homunculusDB->baseASPD/1000;
+ status->amotion = cap_value(amotion,battle_config.max_aspd,2000);
status->adelay = status->amotion; //It seems adelay = amotion for Homunculus.
status_calc_misc(&hd->bl, status, hom->level);
status_cpy(&hd->battle_status, status);
status_calc_bl(&hd->bl, SCB_ALL); //Status related changes.
- if (memcmp(&b_status, status, sizeof(struct status_data)))
+ if( memcmp(&b_status, status, sizeof(struct status_data)) && !first )
clif_hominfo(hd->master,hd,0) ;
return 1;