bool EventQuestLootingInfo::isTargetMonster(PlayerCreature* pPC, Monster* pMonster ) const { if (pPC->getRace() == m_Race ) { QuestID_t qID; if (!pPC->getQuestManager()->hasEventQuest(m_QuestLevel, qID ) ) return false; QuestGrade_t qGrade; if (pPC->isSlayer() ) { Slayer* pSlayer = dynamic_cast<Slayer*>(pPC); qGrade = pSlayer->getQuestGrade(); } else if (pPC->isVampire() ) { Vampire* pVampire = dynamic_cast<Vampire*>(pPC); qGrade = pVampire->getLevel(); } else if (pPC->isOusters() ) { Ousters* pOusters = dynamic_cast<Ousters*>(pPC); qGrade = pOusters->getLevel(); } else { //cout << "³Í¹¹³Ä!" << endl; qGrade = 0; } if (qGrade < m_MinGrade || qGrade > m_MaxGrade ) return false; if (m_Type == LOOTING_ZONE || m_Type == LOOTING_BOTH ) { if (pMonster->getZoneID() != m_LootingZoneID ) return false; } if (m_Type == LOOTING_MONSTER || m_Type == LOOTING_BOTH ) { if (pMonster->getMonsterType() != m_LootingMonsterType ) return false; } return true; } else { return false; } }