MoonScriptCreatureAI* MoonScriptCreatureAI::SpawnCreature(uint32 pCreatureId, float pX, float pY, float pZ, float pO, bool pForceSameFaction, Unit *pTarget) { Creature *NewCreature = _unit->GetMapMgr()->GetMapScript()->SpawnCreature(pCreatureId, pX, pY, pZ, pO); MoonScriptCreatureAI* CreatureScriptAI = ( NewCreature ) ? static_cast<MoonScriptCreatureAI*>(NewCreature->GetScript()) : NULL; if( pForceSameFaction && NewCreature ) { uint32 FactionTemplate = _unit->GetUInt32Value(UNIT_FIELD_FACTIONTEMPLATE); NewCreature->SetUInt32Value(UNIT_FIELD_FACTIONTEMPLATE, FactionTemplate); } if (pTarget!=NULLUNIT) CreatureScriptAI->AttackPlayer(pTarget); return CreatureScriptAI; }