From 44bdb135f4ed5bb834795cfb928ccbb0504cf834 Mon Sep 17 00:00:00 2001 From: gvcoman Date: Wed, 5 Nov 2008 20:51:05 -0600 Subject: [svn] Implemented player on player and player on creature possession: * Implemented packet and vision forwarding through possessed units * Added new OnPossess script call alerting scripts on when possession is applied/removed * Moved fall damage and fall under map calculations into the Player class * Added new PossessedAI that is applied only while possession on creature is active * Implemented summon possessed spell effect * Fixed Eyes of the Beast --HG-- branch : trunk --- src/game/CreatureAISelector.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/game/CreatureAISelector.cpp') diff --git a/src/game/CreatureAISelector.cpp b/src/game/CreatureAISelector.cpp index 575dabca430..2e0d297305c 100644 --- a/src/game/CreatureAISelector.cpp +++ b/src/game/CreatureAISelector.cpp @@ -56,12 +56,14 @@ namespace FactorySelector { if( creature->isGuard() ) ai_factory = ai_registry.GetRegistryItem("GuardAI"); - else if(creature->isPet() || creature->isCharmed()) + else if(creature->isPet() || (creature->isCharmed() && !creature->isPossessed())) ai_factory = ai_registry.GetRegistryItem("PetAI"); else if(creature->isTotem()) ai_factory = ai_registry.GetRegistryItem("TotemAI"); else if(creature->GetCreatureInfo()->flags_extra & CREATURE_FLAG_EXTRA_TRIGGER) ai_factory = ai_registry.GetRegistryItem("NullCreatureAI"); + else if(creature->isPossessed()) + creature->InitPossessedAI(); } // select by permit check -- cgit v1.2.3