コード例 #1
0
ファイル: UnitAI.cpp プロジェクト: michalpolko/cmangos
void UnitAI::MoveInLineOfSight(Unit* who)
{
    if (!HasReactState(REACT_AGGRESSIVE))
        return;

    if (!m_unit->CanFly() && m_unit->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE)
        return;

    if (m_unit->getVictim() && !m_unit->GetMap()->IsDungeon())
        return;

    if (m_unit->IsNeutralToAll())
        return;

    if (who->GetObjectGuid().IsCreature() && who->isInCombat())
        CheckForHelp(who, m_unit, 10.0);

    if (m_unit->CanInitiateAttack() && who->isInAccessablePlaceFor(m_unit))
    {
        if (AssistPlayerInCombat(who))
            return;

        if (m_unit->CanAttackOnSight(who))
            DetectOrAttack(who);
    }
}
コード例 #2
0
 // Parse options runs through the heirarchy doing all the parsing
 void ParseOptions(int argc, char* argv[])
 {
    ParseCommandLine(argc, argv);
    CheckForHelp();
    CheckForVersion();
    ParseEnvironment();
    ParseConfigFiles();
    ParseDefaultConfigFile();
 }