Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void CHARACTER::UpdateAggrPointEx(LPCHARACTER pAttacker, EDamageType type, int dam, CHARACTER::TBattleInfo & info)
- {
- // ĆŻÁ¤ °ř°ÝŸŔÔżˇ µű¶ó ´ő żĂ¶ó°Ł´Ů
- switch (type)
- {
- case DAMAGE_TYPE_NORMAL_RANGE:
- dam = (int) (dam*1.2f);
- break;
- case DAMAGE_TYPE_RANGE:
- dam = (int) (dam*1.5f);
- break;
- case DAMAGE_TYPE_MAGIC:
- dam = (int) (dam*1.2f);
- break;
- default:
- break;
- }
- // °ř°ÝŔÚ°ˇ ÇöŔç ´ë»óŔÎ °ćżě ş¸łĘ˝ş¸¦ ÁŘ´Ů.
- if (pAttacker == GetVictim())
- dam = (int) (dam * 1.2f);
- info.iAggro += dam;
- if (info.iAggro < 0)
- info.iAggro = 0;
- //sys_log(0, "UpdateAggrPointEx for %s by %s dam %d total %d", GetName(), pAttacker->GetName(), dam, total);
- if (GetParty() && dam > 0 && type != DAMAGE_TYPE_SPECIAL)
- {
- LPPARTY pParty = GetParty();
- // ¸®´őŔÎ °ćżě żµÇâ·ÂŔĚ Á»´ő °ÇĎ´Ů
- int iPartyAggroDist = dam;
- if (pParty->GetLeaderPID() == GetVID())
- iPartyAggroDist /= 2;
- else
- iPartyAggroDist /= 3;
- pParty->SendMessage(this, PM_AGGRO_INCREASE, iPartyAggroDist, pAttacker->GetVID());
- }
- if (type != DAMAGE_TYPE_POISON)
- ChangeVictimByAggro(info.iAggro, pAttacker);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement