From 8f627853dfaab8bfecd24bfd96ad02c6503d517e Mon Sep 17 00:00:00 2001 From: megamage Date: Fri, 20 Mar 2009 14:01:46 -0600 Subject: *More work on summon system. --HG-- branch : trunk --- src/game/CreatureAISelector.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'src/game/CreatureAISelector.cpp') 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"); } -- cgit v1.2.3