Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- bool MS::AirDrop::AirDropMgr::Start()
- {
- AirDropMap l_Spawn = m_SpawnInfo;
- JadeCore::RandomResizeList(l_Spawn, 1);
- AirDropSpawn l_Info = l_Spawn.front();
- l_Info.StartPosition.x += frand(-300.f, 300.f);
- l_Info.StartPosition.y += frand(-100.f, 100.f);
- l_Info.EndPosition.x += frand(-300.f, 300.f);
- l_Info.EndPosition.y += frand(-100.f, 100.f);
- Map* l_Map = const_cast<Map*>(sMapMgr->CreateBaseMap(l_Info.MapId, l_Info.ZoneId));
- if (!l_Map)
- {
- sLog->outError(LOG_FILTER_BATTLEFIELD, "Battlefield::SpawnCreature: Can't create creature entry: %u map not found", l_Info.MapId);
- return false;
- }
- Creature* l_FlyingMachine = new Creature;
- if (!l_FlyingMachine->Create(sObjectMgr->GenerateLowGuid(HIGHGUID_UNIT), l_Map, 1, Npcs::FlyingMachine, 0, 0, l_Info.StartPosition.x, l_Info.StartPosition.y, l_Info.StartPosition.z, 0.0f))
- {
- delete l_FlyingMachine;
- return false;
- }
- //l_Map->LoadGrid(l_Info.StartPosition.x, l_Info.StartPosition.y);
- l_FlyingMachine->SetFacingTo(l_FlyingMachine->GetAngle(l_Info.EndPosition.x, l_Info.EndPosition.y));
- l_FlyingMachine->SetHomePosition(l_Info.StartPosition.x, l_Info.StartPosition.y, l_Info.StartPosition.z, l_FlyingMachine->GetOrientation());
- l_FlyingMachine->SetSpeed(MOVE_WALK, 12.0f);
- l_FlyingMachine->SetSpeed(MOVE_RUN, 12.0f);
- l_FlyingMachine->SetSpeed(MOVE_FLIGHT, 7.0f);
- // Set creature in world
- l_Map->AddToMap(l_FlyingMachine);
- l_FlyingMachine->setActive(true);
- l_FlyingMachine->GetMotionMaster()->MovePoint(0, l_Info.EndPosition);
- return true;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement