Jump to content
  • 0
Yoh Asakura

Physical Hit above 32k

Question

Hi,

 

After I started using this new emulator from Hercules, the players from my server (pre-renewal) can hit (physical hit) more than 32k in pvp maps.

The server is a high rate, but before the hit was not above 32k...

 

Anyone knows why? This is a bug? I already report as a bug but nobody has answered.

Share this post


Link to post
Share on other sites

11 answers to this question

Recommended Posts

  • 0

 

becoz  you choose increase damage option when you diff your client

There's no such option, and if it has I didin't choose. :(

sryy, I wrote the wrong word. the option is  Increase attack display, if you choose that option ,your attck damage number can show above 32K

u3MHvErz7.png

Edited by Angelmelody

Share this post


Link to post
Share on other sites
  • 0

 

 

becoz  you choose increase damage option when you diff your client

There's no such option, and if it has I didin't choose. :(

sryy, I wrote the wrong word. the option is  Increase attack display, if you choose that option ,your attck damage number can show above 32K

u3MHvErz7.png

It's not about this and I didin't select this option.

 

I think he meant, the damage should not reach that much...

That's right. The damage is above 32k, which is not normal. The mercenaries are really strong, they can kill very easy because they are hiting 100k+

How to fix this?

Share this post


Link to post
Share on other sites
  • 0

or even easier, just go to trunk/conf/battle/battle.conf

 

and look this up: enable_baseatk

 

I think you have it set on 31 (players, monsters, pets, homunculus and mercenary) all you have to do is set it to 15 so that mercenaries don't do it, or set it to 1 for only players to be affected.

Edited by Ricauter

Share this post


Link to post
Share on other sites
  • 0

My old emulator is like this

 

static int battle_calc_base_damage(struct status_data *status, struct weapon_atk *wa, struct status_change *sc, unsigned short t_size, struct map_session_data *sd, int flag)

{
unsigned short atkmin=0, atkmax=0;
short type = 0;
int damage = 0;
 
if (!sd)
{ //Mobs/Pets
if(flag&4)
{
atkmin = status->matk_min;
atkmax = status->matk_max;
} else {
atkmin = wa->atk;
atkmax = wa->atk2;
}
if (atkmin > atkmax)
atkmin = atkmax;
} else { //PCs
atkmax = wa->atk;
type = (wa == &status->lhw)?EQI_HAND_L:EQI_HAND_R;
 
if (!(flag&1) || (flag&2))
{ //Normal attacks
atkmin = status->dex;
if (sd->equip_index[type] >= 0 && sd->inventory_data[sd->equip_index[type]])
atkmin = atkmin*(80 + sd->inventory_data[sd->equip_index[type]]->wlv*20)/100;
 
if (atkmin > atkmax)
atkmin = atkmax;
if(flag&2 && !(flag&16))
{ //Bows
atkmin = atkmin*atkmax/100;
if (atkmin > atkmax)
atkmax = atkmin;
}
}
}
if (sc && sc->data[sC_MAXIMIZEPOWER])
atkmin = atkmax;
//Weapon Damage calculation
if (!(flag&1))
damage = (atkmax>atkmin? rand()%(atkmax-atkmin):0)+atkmin;
else 
damage = atkmax;
if (sd)
{
//rodatazone says the range is 0~arrow_atk-1 for non crit
if (flag&2 && sd->arrow_atk)
damage += ((flag&1)?sd->arrow_atk:rand()%sd->arrow_atk);
 
//SizeFix only for players
if (!(sd->special_state.no_sizefix || (flag&8)))
damage = damage*(type==EQI_HAND_L?
sd->left_weapon.atkmods[t_size]:
sd->right_weapon.atkmods[t_size])/100;
}
//Finally, add baseatk
if(flag&4)
damage += status->matk_min;
else
damage += status->batk;
//rodatazone says that Overrefine bonuses are part of baseatk
//Here we also apply the weapon_atk_rate bonus so it is correctly applied on left/right hands.
if(sd) {
if (type == EQI_HAND_L) {
if(sd->left_weapon.overrefine)
damage += rand()%sd->left_weapon.overrefine+1;
if (sd->weapon_atk_rate[sd->weapontype2])
damage += damage*sd->weapon_atk_rate[sd->weapontype2]/100;;
} else { //Right hand
if(sd->right_weapon.overrefine)
damage += rand()%sd->right_weapon.overrefine+1;
if (sd->weapon_atk_rate[sd->weapontype1])
damage += damage*sd->weapon_atk_rate[sd->weapontype1]/100;;
}
}
return damage;

}

 

 

With the old emulator the physical hit could not be above 32k...After the renewal, this new emulator can be more than 32k hit.

or even easier, just go to trunk/conf/battle/battle.conf

 

and look this up: enable_baseatk

 

I think you have it set on 31 (players, monsters, pets, homunculus and mercenary) all you have to do is set it to 15 so that mercenaries don't do it, or set it to 1 for only players to be affected.

 

// Who should have a baseatk value (makes str affect damage)? (Note 3)enable_baseatk: 9
Edited by Yoh Asakura

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.