All homunculus on my server have exactly 100 apsd, it never changes when leveling up and/or evolving. Pre-RE regular homunculus. I don't know if it can be changed somewhere else but Status.c looks like this:
// Homunculus Database//// Structure of Database:// Class,EvoClass,Name,FoodID,HungryDelay,BaseSize,EvoSize,Race,Element,bASPD,bHP,bSP,bSTR,bAGI,bVIT,bINT,bDEX,bLUK,gnHP,gxHP,gnSP,gxSP,gnSTR,gxSTR,gnAGI,gxAGI,gnVIT,gxVIT,gnINT,gxINT,gnDEX,gxDEX,gnLUK,gxLUK,enHP,exHP,enSP,exSP,enSTR,exSTR,enAGI,exAGI,enVIT,exVIT,enINT,exINT,enDEX,exDEX,enLUK,exLUK//// 01. Class Homunculus ID.// 02. EvoClass Homunculus ID of the evolved version.// 03. Name Name of the homunculus.// 04. FoodID Item ID of the homunuclus food.// 05. HungryDelay Time interval in milliseconds after which the homunculus' hunger value is altered.// 06. BaseSize Size of the base homunculus class (0 = small, 1 = normal, 2 = large).// 07. EvoSize Size of the evolved homunculus class (0 = small, 1 = normal, 2 = large).// 08. Race Race of the homunculus (0 = formless, 1 = undead, 2 = brute, 3 = plant, 4 = insect, 5 = fish, 6 = demon, 7 = demi-human, 8 = angel, 9 = dragon).// 09. Element Element of the homunculus (0 = neutral, 1 = water, 2 = earth, 3 = fire, 4 = wind, 5 = poison, 6 = holy, 7 = dark, 8 = ghost, 9 = undead).// The element level is always 1.// ...//// Legend: b: base, gn: growth min, gx: growth max, en: evolution min, ex: evolution max// NOTE: Only the growth values are in a 1/10 scale, the other stats are 1/1 (eg: 5 gmAGI means 0.5 agi)6001,6009,Lif,537,60000,0,1,7,0,700,150,40,12,20,15,35,24,14,60,100,4,9,5,19,4,20,5,19,6,20,5,19,6,20,800,2400,220,480,10,30,30,50,20,40,20,40,10,30,10,206002,6010,Amistr,912,60000,0,1,2,0,700,320,10,20,17,35,11,24,13,80,130,1,4,8,20,1,10,4,20,3,19,4,20,3,19,1600,3600,120,360,20,50,20,50,20,50,10,30,10,30,10,306003,6011,Filir,910,60000,0,1,2,0,700,90,25,29,35,9,8,30,9,45,75,3,6,4,20,3,19,1,10,4,20,8,20,3,19,1200,3200,200,400,10,30,10,30,10,30,20,50,20,50,10,206004,6012,Vanilmirth,911,60000,0,1,0,0,700,80,11,11,11,11,11,11,11,30,150,0,7,1,30,1,30,1,30,1,30,1,30,1,30,1200,4800,480,640,10,30,20,50,10,30,10,50,10,30,10,1006005,6013,Lif,537,60000,0,1,7,0,700,150,40,12,20,15,35,24,14,60,100,4,9,5,19,4,20,5,19,6,20,5,19,6,20,800,2400,220,480,10,30,30,50,20,40,20,40,10,30,10,206006,6014,Amistr,912,60000,0,1,2,0,700,320,10,20,17,35,11,24,13,80,130,1,4,8,20,1,10,4,20,3,19,4,20,3,19,1600,3600,120,360,20,50,20,50,20,50,10,30,10,30,10,306007,6015,Filir,910,60000,0,1,2,0,700,90,25,29,35,9,8,30,9,45,75,3,6,4,20,3,19,1,10,4,20,8,20,3,19,1200,3200,200,400,10,30,10,30,10,30,20,50,20,50,10,206008,6016,Vanilmirth,911,60000,0,1,0,0,700,80,11,11,11,11,11,11,11,30,150,0,7,1,30,1,30,1,30,1,30,1,30,1,30,1200,4800,480,640,10,30,20,50,10,30,10,50,10,30,10,1006048,6048,Eira,6098,60000,1,1,8,0,700,450,120,36,60,45,105,86,42,40,160,20,42,13,39,14,48,15,25,16,36,28,42,9,18,1000,2000,10,200,1,10,1,10,1,10,1,10,1,10,1,106049,6049,Bayeri,6112,60000,1,1,2,0,700,1060,30,60,51,105,33,86,39,90,360,48,52,18,36,22,44,16,32,12,24,8,36,20,36,1000,2000,10,200,1,10,1,10,1,10,1,10,1,10,1,106050,6050,Sera,6108,60000,1,1,4,0,700,330,80,87,90,55,24,126,9,60,240,36,64,10,25,7,35,5,25,28,40,16,32,20,40,1000,2000,10,200,1,10,1,10,1,10,1,10,1,10,1,106051,6051,Dieter,6104,60000,1,1,0,0,700,300,44,44,44,44,44,53,44,240,480,40,120,20,40,15,40,18,36,16,32,13,26,4,16,1000,2000,10,200,1,10,1,10,1,10,1,10,1,10,1,106052,6052,Eleanor,6115,60000,1,1,7,0,700,310,60,87,115,27,24,108,27,60,300,10,20,20,40,5,15,24,48,12,36,10,50,2,10,1000,2000,10,200,1,10,1,10,1,10,1,10,1,10,1,10
All homunculus on my server have exactly 100 apsd, it never changes when leveling up and/or evolving. Pre-RE regular homunculus.
I don't know if it can be changed somewhere else but Status.c looks like this:
int status_calc_homunculus_(struct homun_data *hd, enum e_status_calc_opt opt) { struct status_data *hstatus = &hd->base_status; struct s_homunculus *hom = &hd->homunculus; int skill_lv; int amotion; hstatus->str = hom->str / 10; hstatus->agi = hom->agi / 10; hstatus->vit = hom->vit / 10; hstatus->dex = hom->dex / 10; hstatus->int_ = hom->int_ / 10; hstatus->luk = hom->luk / 10; APPLY_HOMUN_LEVEL_STATWEIGHT(); if ( opt&SCO_FIRST ) { //[orn] const struct s_homunculus_db *db = hd->homunculusDB; hstatus->def_ele = db->element; hstatus->ele_lv = 1; hstatus->race = db->race; hstatus->size = (hom->class_ == db->evo_class) ? db->evo_size : db->base_size; hstatus->rhw.range = 1 + hstatus->size; hstatus->mode = MD_CANMOVE | MD_CANATTACK; hstatus->speed = DEFAULT_WALK_SPEED; if ( battle_config.hom_setting & 0x8 && hd->master ) hstatus->speed = status->get_speed(&hd->master->bl); hstatus->hp = 1; hstatus->sp = 1; } hstatus->aspd_rate = 1000;#ifdef RENEWAL amotion = hd->homunculusDB->baseASPD; amotion = amotion - amotion * (hstatus->dex + hom->dex_value) / 1000 - (hstatus->agi + hom->agi_value) * amotion / 250;#else skill_lv = hom->level / 10 + hstatus->vit / 5; hstatus->def = cap_value(skill_lv, 0, 99); skill_lv = hom->level / 10 + hstatus->int_ / 5; hstatus->mdef = cap_value(skill_lv, 0, 99); amotion = (1000 - 4 * hstatus->agi - hstatus->dex) * hd->homunculusDB->baseASPD / 1000;#endif hstatus->amotion = cap_value(amotion, battle_config.max_aspd, 2000); hstatus->adelay = hstatus->amotion; //It seems adelay = amotion for Homunculus. hstatus->max_hp = hom->max_hp; hstatus->max_sp = hom->max_sp; homun->calc_skilltree(hd, 0); if ( (skill_lv = homun->checkskill(hd, HAMI_SKIN)) > 0 ) hstatus->def += skill_lv * 4; if ( (skill_lv = homun->checkskill(hd, HVAN_INSTRUCT)) > 0 ) { hstatus->int_ += 1 + skill_lv / 2 + skill_lv / 4 + skill_lv / 5; hstatus->str += 1 + skill_lv / 3 + skill_lv / 3 + skill_lv / 4; } if ( (skill_lv = homun->checkskill(hd, HAMI_SKIN)) > 0 ) hstatus->max_hp += skill_lv * 2 * hstatus->max_hp / 100; if ( (skill_lv = homun->checkskill(hd, HLIF_BRAIN)) > 0 ) hstatus->max_sp += (1 + skill_lv / 2 - skill_lv / 4 + skill_lv / 5) * hstatus->max_sp / 100; if ( opt&SCO_FIRST ) { hd->battle_status.hp = hom->hp; hd->battle_status.sp = hom->sp; }#ifndef RENEWAL hstatus->rhw.atk = hstatus->dex; hstatus->rhw.atk2 = hstatus->str + hom->level;#endif status->calc_misc(&hd->bl, hstatus, hom->level); status_cpy(&hd->battle_status, hstatus); return 1;}Homunculus_DB:
Share this post
Link to post
Share on other sites