void Player::onAttackedCreature(Creature* target)
{
Creature::onAttackedCreature(target);
if(hasFlag(PlayerFlag_NotGainInFight))
return;
addInFightTicks();
Player* targetPlayer = target->getPlayer();
if(!targetPlayer)
return;
Player* attackPlayer = attack->getPlayer();
if(!attackPlayer)
return;
addAttacked(targetPlayer);
if(targetPlayer == this && targetPlayer->getZone() != ZONE_PVP)
{
targetPlayer->sendCreatureSkull(this);
return;
}
if(Combat::isInPvpZone(this, targetPlayer) || isPartner(targetPlayer) || (g_config.getBool(
ConfigManager::ALLOW_FIGHTBACK) && targetPlayer->hasAttacked(this)))
return;
if(!pzLocked)
{
pzLocked = true;
sendIcons();
}
if(getZone() != target->getZone())
return;
if(skull == SKULL_NONE)
{
if(attackPlayer->getSkull() != SKULL_NONE)
attackPlayer->sendCreatureSkull(this);
else if(!hasCustomFlag(PlayerCustomFlag_NotGainSkull))
{
setSkull(SKULL_WHITE);
g_game.updateCreatureSkull(this);
}
}
}