creature.cpp:
Code:
void Creature::onAttacking(uint32_t interval)
{
if(!attackedCreature)
return;
CreatureEventList attackEvents = getCreatureEvents(CREATURE_EVENT_ATTACK);
for(CreatureEventList::iterator it = attackEvents.begin(); it != attackEvents.end(); ++it)
{
if(!(*it)->executeAttack(this, attackedCreature) && attackedCreature)
setAttackedCreature(NULL);
}
if(!attackedCreature)
return;
onAttacked();
attackedCreature->onAttacked();
if(g_game.isSightClear(getPosition(), attackedCreature->getPosition(), true))
doAttacking(interval);
}
Eee chyba tutaj, a dokladnie:
Code:
attackedCreature->onAttacked();
Trzeba by sprawdzic, czy potworek stoi w PZ, ale nie jestem pewien, sprobuj takie cos:
Code:
const Position& poz = getPosition();
Tile* gleba = g_game.getTile(poz.x, poz.y, poz.z);;
if (gleba && gleba->getZone() != ZONE_NOPVP)
attackedCreature->onAttacked();
Nie znam sie dobrze na tym, ale sprobuj