diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/game/Transports.cpp | 23 | ||||
-rw-r--r-- | src/game/Transports.h | 3 |
2 files changed, 25 insertions, 1 deletions
diff --git a/src/game/Transports.cpp b/src/game/Transports.cpp index 2125fcf0567..db7ff601a79 100644 --- a/src/game/Transports.cpp +++ b/src/game/Transports.cpp @@ -400,6 +400,9 @@ bool Transport::GenerateWaypoints(uint32 pathid, std::set<uint32> &mapids) // sLog.outString("T: %d, x: %f, y: %f, z: %f, t:%d", t, pos.x, pos.y, pos.z, teleport); + if(keyFrames[i+1].delay > 5) + pos.delayed = true; + //if (teleport) m_WayPoints[t] = pos; @@ -504,6 +507,26 @@ void Transport::Update(uint32 /*p_time*/) Relocate(m_curr->second.x, m_curr->second.y, m_curr->second.z); } + if(m_curr->second.delayed) + { + switch (GetEntry()) + { + case 176495: + case 164871: + case 175080: + SendPlaySound(11804, false); break; // ZeppelinDocked + case 20808: + case 181646: + case 176231: + case 176244: + case 176310: + case 177233: + SendPlaySound(5154, false); break; // ShipDocked + default: + SendPlaySound(5495, false);break; // BoatDockingWarning + } + } + /* for(PlayerSet::iterator itr = m_passengers.begin(); itr != m_passengers.end();) { diff --git a/src/game/Transports.h b/src/game/Transports.h index 482ec16352a..0e39d57c089 100644 --- a/src/game/Transports.h +++ b/src/game/Transports.h @@ -88,12 +88,13 @@ class Transport : private GameObject { WayPoint() : mapid(0), x(0), y(0), z(0), teleport(false) {} WayPoint(uint32 _mapid, float _x, float _y, float _z, bool _teleport) : - mapid(_mapid), x(_x), y(_y), z(_z), teleport(_teleport) {} + mapid(_mapid), x(_x), y(_y), z(_z), teleport(_teleport), delayed(false) {} uint32 mapid; float x; float y; float z; bool teleport; + bool delayed; }; typedef std::map<uint32, WayPoint> WayPointMap; |