Hidekitakase
New member
Hello guys how can i do this... calculation of the damage boss/monster damage received that can be reduced by mapflag, its working but only with players pvp,gvg.... i really appreciate who can help me
like this in src/map/battle.c
like this in src/map/battle.c
Code:
int64 battle_calc_pc_damage(struct block_list *src, struct block_list *bl, struct Damage *d, int64 damage, uint16 skill_id, uint16 skill_lv)
{
int flag = d->flag;
switch (skill_id) {
//case PA_PRESSURE: /* pressure also belongs to this list but it doesn't reach this area -- so don't worry about it */
case HW_GRAVITATION:
case NJ_ZENYNAGE:
case KO_MUCHANAGE:
break;
default:
if (flag & BF_SKILL) { //Skills get a different reduction than non-skills. [Skotlex]
if (flag & BF_WEAPON)
damage = damage * map->list[bl->m].weapon_damage_rate / 100;
if (flag & BF_MAGIC)
damage = damage * map->list[bl->m].magic_damage_rate / 100;
if (flag & BF_MISC)
damage = damage * map->list[bl->m].misc_damage_rate / 100;
} else { //Normal attacks get reductions based on range.
if (flag & BF_SHORT)
damage = damage * map->list[bl->m].short_damage_rate / 100;
if (flag & BF_LONG)
damage = damage * map->list[bl->m].long_damage_rate / 100;
}
if (!damage)
damage = 1;
break;
}
return damage;
}
Last edited by a moderator: