TrinityCore
CreatureAIRegistry.cpp
Go to the documentation of this file.
1/*
2 * This file is part of the TrinityCore Project. See AUTHORS file for Copyright information
3 *
4 * This program is free software; you can redistribute it and/or modify it
5 * under the terms of the GNU General Public License as published by the
6 * Free Software Foundation; either version 2 of the License, or (at your
7 * option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12 * more details.
13 *
14 * You should have received a copy of the GNU General Public License along
15 * with this program. If not, see <http://www.gnu.org/licenses/>.
16 */
17
18#include "CreatureAIFactory.h"
19#include "GameObjectAIFactory.h"
20
21#include "CombatAI.h"
22#include "GuardAI.h"
23#include "PassiveAI.h"
24#include "PetAI.h"
25#include "ReactorAI.h"
26#include "ScheduledChangeAI.h"
27#include "SmartAI.h"
28#include "TotemAI.h"
29#include "ObjectMgr.h"
30
31#include "MovementGenerator.h"
32
33namespace AIRegistry
34{
36 {
37 (new CreatureAIFactory<NullCreatureAI>("NullCreatureAI"))->RegisterSelf();
38 (new CreatureAIFactory<TriggerAI>("TriggerAI"))->RegisterSelf();
39 (new CreatureAIFactory<AggressorAI>("AggressorAI"))->RegisterSelf();
40 (new CreatureAIFactory<ReactorAI>("ReactorAI"))->RegisterSelf();
41 (new CreatureAIFactory<PassiveAI>("PassiveAI"))->RegisterSelf();
42 (new CreatureAIFactory<PossessedAI, false>("PossessedAI"))->RegisterSelf();
43 (new CreatureAIFactory<CritterAI>("CritterAI"))->RegisterSelf();
44 (new CreatureAIFactory<GuardAI>("GuardAI"))->RegisterSelf();
45 (new CreatureAIFactory<PetAI, false>("PetAI"))->RegisterSelf();
46 (new CreatureAIFactory<TotemAI, false>("TotemAI"))->RegisterSelf();
47 (new CreatureAIFactory<CombatAI>("CombatAI"))->RegisterSelf();
48 (new CreatureAIFactory<TurretAI>("TurretAI"))->RegisterSelf();
49 (new CreatureAIFactory<VehicleAI>("VehicleAI"))->RegisterSelf();
50 (new CreatureAIFactory<SmartAI>("SmartAI"))->RegisterSelf();
51 (new CreatureAIFactory<ScheduledChangeAI, false>("ScheduledChangeAI"))->RegisterSelf();
52
53 (new GameObjectAIFactory<NullGameObjectAI>("NullGameObjectAI"))->RegisterSelf();
54 (new GameObjectAIFactory<GameObjectAI>("GameObjectAI"))->RegisterSelf();
55 (new GameObjectAIFactory<SmartGameObjectAI>("SmartGameObjectAI"))->RegisterSelf();
56
57 (new IdleMovementFactory())->RegisterSelf();
58 (new RandomMovementFactory())->RegisterSelf();
59 (new WaypointMovementFactory())->RegisterSelf();
60
61 (void)sObjectMgr->GetScriptId("NullAreaTriggerAI", false);
62 }
63}
#define sObjectMgr
Definition: ObjectMgr.h:1946