diff options
| author | megamage <none@none> | 2009-03-20 14:01:46 -0600 |
|---|---|---|
| committer | megamage <none@none> | 2009-03-20 14:01:46 -0600 |
| commit | 8f627853dfaab8bfecd24bfd96ad02c6503d517e (patch) | |
| tree | ab518e88d6bfd462e50998541cbcc1575134ce66 /src/game/CreatureAISelector.cpp | |
| parent | 7cd9a01954f6905dfb0e6a113b5799cc2442a39e (diff) | |
*More work on summon system.
--HG--
branch : trunk
Diffstat (limited to 'src/game/CreatureAISelector.cpp')
| -rw-r--r-- | src/game/CreatureAISelector.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/game/CreatureAISelector.cpp b/src/game/CreatureAISelector.cpp index 402ea7ae2fb..a9c2f9b5dd1 100644 --- a/src/game/CreatureAISelector.cpp +++ b/src/game/CreatureAISelector.cpp @@ -64,10 +64,17 @@ namespace FactorySelector ai_factory = ai_registry.GetRegistryItem("PetAI"); else if(creature->isTotem()) ai_factory = ai_registry.GetRegistryItem("TotemAI"); - else if(creature->isSummon() && ((TempSummon*)creature)->m_properties && ((TempSummon*)creature)->m_properties->Type == SUMMON_TYPE_MINIPET) - ai_factory = ai_registry.GetRegistryItem("CritterAI"); else if(creature->GetCreatureInfo()->flags_extra & CREATURE_FLAG_EXTRA_TRIGGER) ai_factory = ai_registry.GetRegistryItem("NullCreatureAI"); + else if(creature->isSummon() && ((TempSummon*)creature)->m_Properties) + { + if(((TempSummon*)creature)->m_Properties->Category == SUMMON_CATEGORY_GUARDIAN + || ((TempSummon*)creature)->m_Properties->Type == SUMMON_TYPE_GUARDIAN + || ((TempSummon*)creature)->m_Properties->Type == SUMMON_TYPE_MINION) + ai_factory = ai_registry.GetRegistryItem("PetAI"); + else if(((TempSummon*)creature)->m_Properties->Type == SUMMON_TYPE_MINIPET) + ai_factory = ai_registry.GetRegistryItem("CritterAI"); + } else if(creature->GetCreatureType() == CREATURE_TYPE_CRITTER) ai_factory = ai_registry.GetRegistryItem("CritterAI"); } |
