Advertisement
Guest User

Untitled

a guest
Nov 12th, 2018
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.63 KB | None | 0 0
  1. bool MS::AirDrop::AirDropMgr::Start()
  2. {
  3. AirDropMap l_Spawn = m_SpawnInfo;
  4. JadeCore::RandomResizeList(l_Spawn, 1);
  5. AirDropSpawn l_Info = l_Spawn.front();
  6.  
  7. l_Info.StartPosition.x += frand(-300.f, 300.f);
  8. l_Info.StartPosition.y += frand(-100.f, 100.f);
  9. l_Info.EndPosition.x += frand(-300.f, 300.f);
  10. l_Info.EndPosition.y += frand(-100.f, 100.f);
  11.  
  12. Map* l_Map = const_cast<Map*>(sMapMgr->CreateBaseMap(l_Info.MapId, l_Info.ZoneId));
  13. if (!l_Map)
  14. {
  15. sLog->outError(LOG_FILTER_BATTLEFIELD, "Battlefield::SpawnCreature: Can't create creature entry: %u map not found", l_Info.MapId);
  16. return false;
  17. }
  18.  
  19. Creature* l_FlyingMachine = new Creature;
  20.  
  21. 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))
  22. {
  23. delete l_FlyingMachine;
  24. return false;
  25. }
  26.  
  27. //l_Map->LoadGrid(l_Info.StartPosition.x, l_Info.StartPosition.y);
  28.  
  29. l_FlyingMachine->SetFacingTo(l_FlyingMachine->GetAngle(l_Info.EndPosition.x, l_Info.EndPosition.y));
  30. l_FlyingMachine->SetHomePosition(l_Info.StartPosition.x, l_Info.StartPosition.y, l_Info.StartPosition.z, l_FlyingMachine->GetOrientation());
  31.  
  32. l_FlyingMachine->SetSpeed(MOVE_WALK, 12.0f);
  33. l_FlyingMachine->SetSpeed(MOVE_RUN, 12.0f);
  34. l_FlyingMachine->SetSpeed(MOVE_FLIGHT, 7.0f);
  35. // Set creature in world
  36. l_Map->AddToMap(l_FlyingMachine);
  37. l_FlyingMachine->setActive(true);
  38.  
  39. l_FlyingMachine->GetMotionMaster()->MovePoint(0, l_Info.EndPosition);
  40. return true;
  41. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement