diff options
author | spp <none@none> | 2009-12-06 10:05:01 +0100 |
---|---|---|
committer | spp <none@none> | 2009-12-06 10:05:01 +0100 |
commit | 314031016b127a40775d20cbb8374952dd503fc5 (patch) | |
tree | 762ffab45af036c1b72337a7212b89fd935a62c9 /src | |
parent | a05f2a53eac9bb9b4b155f63dda1b287bcf1b09d (diff) |
Some area flag fixes:
- Krasus Landing (Dalaran)
- The Forlorn Mine (Storm Peaks)
- Boulderslide Cavern (Stonelaton Mountains)
- Palemane Rock (Mulgore)
--HG--
branch : trunk
Diffstat (limited to 'src')
-rw-r--r-- | src/game/Map.cpp | 60 |
1 files changed, 36 insertions, 24 deletions
diff --git a/src/game/Map.cpp b/src/game/Map.cpp index 8f129520d08..64e7e8dd4e6 100644 --- a/src/game/Map.cpp +++ b/src/game/Map.cpp @@ -1840,10 +1840,34 @@ uint16 Map::GetAreaFlag(float x, float y, float z) const // not provided correct areaflag with this hacks switch(areaflag) { - case 166: // The Forlorn Mine - if (6812.0f < x && x < 7048.0f && -1200.0f > y && y > -1433.0f && 807.0f < z && z < 840.0f) - areaflag = 2213; - break; + case 2227: // The Foot Steppes (Storm Peaks) + case 2207: // Sifreldar Village (Storm Peaks) + if (6924.0f < x && x < 6980.0f && -1520.0f < y && y < -1432.0f && 838.0f < z && z < 843.0f) + areaflag = 2213; // The Forlorn Mine (Storm Peaks) + break; + case 2209: // Brunnhildar Village (Storm Peaks) + if (6885.0f < x && x < 6938.0f && -1200.0f < y && y < -1138.0f && 801.0f < z && z < 809.0f) + areaflag = 2213; // The Forlorn Mine (Storm Peaks) + break; + case 166: // Storm Peaks + if (6812.0f < x && x < 7048.0f && -1463.0f < y && y < -1200.0f && 807.0f < z && z < 843.0f) + areaflag = 2213; // The Forlorn Mine (Storm Peaks) + break; + case 446: // (Stonelaton Mountains) + case 944: // Boulderslide Ravine (Stonelaton Mountains) + if (-128.0f < x && x < 35.0f && 221.0f < y && y < 456.0f && 87.0f < z && z < 130.0f) + areaflag = 1019; // Boulderslide Cavern (Stonelaton Mountains) + break; + case 272: // Palemane Rock (Mulgore) + if (-2466.0f < x && x < -2295.0f && 366.0f < y && y < 530.0f && 40.0f < z && z < 70.0f) + areaflag = 668; // Palemane Rock (Mulgore) + break; + case 65535: // Multipe places. + if (-128.0f < x && x < 35.0f && 221.0f < y && y < 456.0f && 87.0f < z && z < 130.0f) + areaflag = 1019; // Boulderslide Cavern (Stonelaton Mountains) + else if (-2466.0f < x && x < -2295.0f && 366.0f < y && y < 530.0f && 40.0f < z && z < 70.0f) + areaflag = 668; // Palemane Rock (Mulgore) + break; // Acherus: The Ebon Hold (Plaguelands: The Scarlet Enclave) case 1984: // Plaguelands: The Scarlet Enclave case 2076: // Death's Breach (Plaguelands: The Scarlet Enclave) @@ -1856,35 +1880,23 @@ uint16 Map::GetAreaFlag(float x, float y, float z) const // Dalaran case 2492: // Forlorn Woods (Crystalsong Forest) case 2371: // Valley of Echoes (Icecrown Glacier) - if (x > 5568.0f && x < 6116.0f && y > 282.0f && y < 982.0f && z > 563.0f) + if (x > 5568.0f && x < 6022.0f && y > 374.0f && y < 918.0f && z > 563.0f) { - // Krasus' Landing (Dalaran), fast check - if (x > 5758.77f && x < 5869.03f && y < 510.46f) - { - // Krasus' Landing (Dalaran), with open east side - if (y < 449.33f || (x-5813.9f)*(x-5813.9f)+(y-449.33f)*(y-449.33f) < 1864.0f) - { - areaflag = 2531; // Note: also 2633, possible one flight allowed and other not allowed case - break; - } - } - - // The Violet Hold (Dalaran), fast check - if (x < 5791.0f && y > 404.0f && y < 595.0f) + areaflag = 2153; + if(y - 1.41f * x + 7649.55f > 0) // Violet Hold { - areaflag = 2540; - break; + if (y < 595.0f) + areaflag = 2540; } - - // Dalaran - areaflag = 2153; + else if (y + 2.91 * x - 17522.57f < 0) // Krasus landing + areaflag = 2531; } break; // The Violet Citadel (Dalaran) or Dalaran case 2484: // The Twilight Rivulet (Crystalsong Forest) case 1593: // Crystalsong Forest // Dalaran - if (x > 5568.0f && x < 6116.0f && y > 282.0f && y < 982.0f && z > 563.0f) + if (x > 5568.0f && x < 6116.0f && y > 282.0f && y < 918.0f && z > 563.0f) { // The Violet Citadel (Dalaran), fast check if (x > 5721.1f && x < 5884.66f && y > 764.4f && y < 948.0f) |