diff options
Diffstat (limited to 'src/map')
-rw-r--r-- | src/map/battle.c | 2 | ||||
-rw-r--r-- | src/map/homunculus.c | 50 | ||||
-rw-r--r-- | src/map/skill.c | 4 |
3 files changed, 28 insertions, 28 deletions
diff --git a/src/map/battle.c b/src/map/battle.c index 944271efa..76b74a766 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -2431,7 +2431,7 @@ int battle_calc_skillratio(int attack_type, struct block_list *src, struct block RE_LVL_DMOD(100); break; case LG_OVERBRAND_PLUSATK: - skillratio = 200 * skill_lv + rnd_value( 10, 100); + skillratio = 200 * skill_lv + rnd->value(10, 100); RE_LVL_DMOD(100); break; case LG_RAYOFGENESIS: diff --git a/src/map/homunculus.c b/src/map/homunculus.c index 66cce23e6..080a314b8 100644 --- a/src/map/homunculus.c +++ b/src/map/homunculus.c @@ -356,14 +356,14 @@ bool homunculus_levelup(struct homun_data *hd) { max = &hd->homunculusDB->gmax; min = &hd->homunculusDB->gmin; - growth_max_hp = rnd_value(min->HP, max->HP); - growth_max_sp = rnd_value(min->SP, max->SP); - growth_str = rnd_value(min->str, max->str); - growth_agi = rnd_value(min->agi, max->agi); - growth_vit = rnd_value(min->vit, max->vit); - growth_dex = rnd_value(min->dex, max->dex); - growth_int = rnd_value(min->int_,max->int_); - growth_luk = rnd_value(min->luk, max->luk); + growth_max_hp = rnd->value(min->HP, max->HP); + growth_max_sp = rnd->value(min->SP, max->SP); + growth_str = rnd->value(min->str, max->str); + growth_agi = rnd->value(min->agi, max->agi); + growth_vit = rnd->value(min->vit, max->vit); + growth_dex = rnd->value(min->dex, max->dex); + growth_int = rnd->value(min->int_,max->int_); + growth_luk = rnd->value(min->luk, max->luk); //Aegis discards the decimals in the stat growth values! growth_str-=growth_str%10; @@ -432,14 +432,14 @@ bool homunculus_evolve(struct homun_data *hd) { hom = &hd->homunculus; max = &hd->homunculusDB->emax; min = &hd->homunculusDB->emin; - hom->max_hp += rnd_value(min->HP, max->HP); - hom->max_sp += rnd_value(min->SP, max->SP); - hom->str += 10*rnd_value(min->str, max->str); - hom->agi += 10*rnd_value(min->agi, max->agi); - hom->vit += 10*rnd_value(min->vit, max->vit); - hom->int_+= 10*rnd_value(min->int_,max->int_); - hom->dex += 10*rnd_value(min->dex, max->dex); - hom->luk += 10*rnd_value(min->luk, max->luk); + hom->max_hp += rnd->value(min->HP, max->HP); + hom->max_sp += rnd->value(min->SP, max->SP); + hom->str += 10*rnd->value(min->str, max->str); + hom->agi += 10*rnd->value(min->agi, max->agi); + hom->vit += 10*rnd->value(min->vit, max->vit); + hom->int_+= 10*rnd->value(min->int_,max->int_); + hom->dex += 10*rnd->value(min->dex, max->dex); + hom->luk += 10*rnd->value(min->luk, max->luk); hom->intimacy = 500; unit->remove_map(&hd->bl, CLR_OUTSIGHT, ALC_MARK); @@ -848,7 +848,7 @@ bool homunculus_call(struct map_session_data *sd) { nullpo_retr(false, sd); if (!sd->status.hom_id) //Create a new homun. - return homun->creation_request(sd, HM_CLASS_BASE + rnd_value(0, 7)); + return homun->creation_request(sd, HM_CLASS_BASE + rnd->value(0, 7)); // If homunc not yet loaded, load it if (!sd->hd) @@ -1075,14 +1075,14 @@ bool homunculus_shuffle(struct homun_data *hd) { //Evolved bonuses struct s_homunculus *hom = &hd->homunculus; struct h_stats *max = &hd->homunculusDB->emax, *min = &hd->homunculusDB->emin; - hom->max_hp += rnd_value(min->HP, max->HP); - hom->max_sp += rnd_value(min->SP, max->SP); - hom->str += 10*rnd_value(min->str, max->str); - hom->agi += 10*rnd_value(min->agi, max->agi); - hom->vit += 10*rnd_value(min->vit, max->vit); - hom->int_+= 10*rnd_value(min->int_,max->int_); - hom->dex += 10*rnd_value(min->dex, max->dex); - hom->luk += 10*rnd_value(min->luk, max->luk); + hom->max_hp += rnd->value(min->HP, max->HP); + hom->max_sp += rnd->value(min->SP, max->SP); + hom->str += 10*rnd->value(min->str, max->str); + hom->agi += 10*rnd->value(min->agi, max->agi); + hom->vit += 10*rnd->value(min->vit, max->vit); + hom->int_+= 10*rnd->value(min->int_,max->int_); + hom->dex += 10*rnd->value(min->dex, max->dex); + hom->luk += 10*rnd->value(min->luk, max->luk); } hd->homunculus.exp = exp; diff --git a/src/map/skill.c b/src/map/skill.c index 76ee3d3fd..0b66c1ded 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -8827,9 +8827,9 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin if (is_boss(bl)) break; joblvbonus = ( sd ? sd->status.job_level : 50 ); //First we set the success chance based on the caster's build which increases the chance. - rate = 10 * skill_lv + rnd_value( sstatus->dex / 12, sstatus->dex / 4 ) + joblvbonus + status->get_lv(src) / 10; + rate = 10 * skill_lv + rnd->value( sstatus->dex / 12, sstatus->dex / 4 ) + joblvbonus + status->get_lv(src) / 10; // We then reduce the success chance based on the target's build. - rate -= rnd_value( tstatus->agi / 6, tstatus->agi / 3 ) + tstatus->luk / 10 + ( dstsd ? (dstsd->max_weight / 10 - dstsd->weight / 10 ) / 100 : 0 ) + status->get_lv(bl) / 10; + rate -= rnd->value( tstatus->agi / 6, tstatus->agi / 3 ) + tstatus->luk / 10 + ( dstsd ? (dstsd->max_weight / 10 - dstsd->weight / 10 ) / 100 : 0 ) + status->get_lv(bl) / 10; //Finally we set the minimum success chance cap based on the caster's skill level and DEX. rate = cap_value( rate, skill_lv + sstatus->dex / 20, 100); clif->skill_nodamage(src,bl,skill_id,0,sc_start(src,bl,type,rate,skill_lv,skill->get_time(skill_id,skill_lv))); |