bool Player::CanFlyInZone(uint32 mapid, uint32 zone) const{ // continent checked in SpellInfo::CheckLocation at cast and area update uint32 v_map = GetVirtualMapForMapAndZone(mapid, zone); return v_map != 571 || HasSpell(54197); // 54197 = Cold Weather Flying}
bool Player::CanFlyInZone(uint32 mapid, uint32 zone) const{ // continent checked in SpellInfo::CheckLocation at cast and area update uint32 v_map = GetVirtualMapForMapAndZone(mapid, zone); return v_map != 571 || HasSpell(54197); // 54197 = Cold Weather Flying return v_map != 869 || HasSpell(93333); // 93333 = Flight Master's License}
enum Mounts{ SPELL_COLD_WEATHER_FLYING = 54197, // Magic Broom SPELL_MAGIC_BROOM_60 = 42680, SPELL_MAGIC_BROOM_100 = 42683, SPELL_MAGIC_BROOM_150 = 42667, SPELL_MAGIC_BROOM_280 = 42668, // Headless Horseman's Mount SPELL_HEADLESS_HORSEMAN_MOUNT_60 = 51621, SPELL_HEADLESS_HORSEMAN_MOUNT_100 = 48024, SPELL_HEADLESS_HORSEMAN_MOUNT_150 = 51617, SPELL_HEADLESS_HORSEMAN_MOUNT_280 = 48023, // Winged Steed of the Ebon Blade SPELL_WINGED_STEED_150 = 54726, SPELL_WINGED_STEED_280 = 54727, // Big Love Rocket SPELL_BIG_LOVE_ROCKET_0 = 71343, SPELL_BIG_LOVE_ROCKET_60 = 71344, SPELL_BIG_LOVE_ROCKET_100 = 71345, SPELL_BIG_LOVE_ROCKET_150 = 71346, SPELL_BIG_LOVE_ROCKET_310 = 71347, // Invincible SPELL_INVINCIBLE_60 = 72281, SPELL_INVINCIBLE_100 = 72282, SPELL_INVINCIBLE_150 = 72283, SPELL_INVINCIBLE_310 = 72284, // Blazing Hippogryph SPELL_BLAZING_HIPPOGRYPH_150 = 74854, SPELL_BLAZING_HIPPOGRYPH_280 = 74855, // Celestial Steed SPELL_CELESTIAL_STEED_60 = 75619, SPELL_CELESTIAL_STEED_100 = 75620, SPELL_CELESTIAL_STEED_150 = 75617, SPELL_CELESTIAL_STEED_280 = 75618, SPELL_CELESTIAL_STEED_310 = 76153, // X-53 Touring Rocket SPELL_X53_TOURING_ROCKET_150 = 75957, SPELL_X53_TOURING_ROCKET_280 = 75972, SPELL_X53_TOURING_ROCKET_310 = 76154};
enum Mounts{ SPELL_COLD_WEATHER_FLYING = 54197, SPELL_OSHOTH_FLYING = 93333, // Magic Broom SPELL_MAGIC_BROOM_60 = 42680, SPELL_MAGIC_BROOM_100 = 42683, SPELL_MAGIC_BROOM_150 = 42667, SPELL_MAGIC_BROOM_280 = 42668, // Headless Horseman's Mount SPELL_HEADLESS_HORSEMAN_MOUNT_60 = 51621, SPELL_HEADLESS_HORSEMAN_MOUNT_100 = 48024, SPELL_HEADLESS_HORSEMAN_MOUNT_150 = 51617, SPELL_HEADLESS_HORSEMAN_MOUNT_280 = 48023, // Winged Steed of the Ebon Blade SPELL_WINGED_STEED_150 = 54726, SPELL_WINGED_STEED_280 = 54727, // Big Love Rocket SPELL_BIG_LOVE_ROCKET_0 = 71343, SPELL_BIG_LOVE_ROCKET_60 = 71344, SPELL_BIG_LOVE_ROCKET_100 = 71345, SPELL_BIG_LOVE_ROCKET_150 = 71346, SPELL_BIG_LOVE_ROCKET_310 = 71347, // Invincible SPELL_INVINCIBLE_60 = 72281, SPELL_INVINCIBLE_100 = 72282, SPELL_INVINCIBLE_150 = 72283, SPELL_INVINCIBLE_310 = 72284, // Blazing Hippogryph SPELL_BLAZING_HIPPOGRYPH_150 = 74854, SPELL_BLAZING_HIPPOGRYPH_280 = 74855, // Celestial Steed SPELL_CELESTIAL_STEED_60 = 75619, SPELL_CELESTIAL_STEED_100 = 75620, SPELL_CELESTIAL_STEED_150 = 75617, SPELL_CELESTIAL_STEED_280 = 75618, SPELL_CELESTIAL_STEED_310 = 76153, // X-53 Touring Rocket SPELL_X53_TOURING_ROCKET_150 = 75957, SPELL_X53_TOURING_ROCKET_280 = 75972, SPELL_X53_TOURING_ROCKET_310 = 76154};
// Triggered spell id dependent on riding skill and zone bool canFly = false; uint32 map = GetVirtualMapForMapAndZone(target->GetMapId(), target->GetZoneId()); if (map == 530 || (map == 571 && target->HasSpell(SPELL_COLD_WEATHER_FLYING))) canFly = true;
// Triggered spell id dependent on riding skill and zone bool canFly = false; uint32 map = GetVirtualMapForMapAndZone(target->GetMapId(), target->GetZoneId()); if (map == 530 || (map == 571 && target->HasSpell(SPELL_COLD_WEATHER_FLYING) || (map == 869 && target->HasSpell(SPELL_OSHOTH_FLYING)))) canFly = true;
Changes MadePlayer.cppCode: [Select]bool Player::CanFlyInZone(uint32 mapid, uint32 zone) const{ // continent checked in SpellInfo::CheckLocation at cast and area update uint32 v_map = GetVirtualMapForMapAndZone(mapid, zone); return v_map != 571 || HasSpell(54197); // 54197 = Cold Weather Flying return v_map != 869 || HasSpell(93333); // 93333 = Flight Master's License}
Quote from: "Nupper"Changes MadePlayer.cppCode: [Select]bool Player::CanFlyInZone(uint32 mapid, uint32 zone) const{ // continent checked in SpellInfo::CheckLocation at cast and area update uint32 v_map = GetVirtualMapForMapAndZone(mapid, zone); return v_map != 571 || HasSpell(54197); // 54197 = Cold Weather Flying return v_map != 869 || HasSpell(93333); // 93333 = Flight Master's License}You return twice. This can't be correct. Haven't read the other changes. Also, prefer posting changes as diff, not just how the new file looks. People usually don't know how it looked before, so spotting your changes is hard.
if (map == 530 || (map == 571 && target->HasSpell(SPELL_COLD_WEATHER_FLYING) || (map == 869 && target->HasSpell(SPELL_OSHOTH_FLYING))))
expansion01|| (northrend && has_coldweather || (your_map && has_your_spell))
You still return twice. Also, Code: [Select]if (map == 530 || (map == 571 && target->HasSpell(SPELL_COLD_WEATHER_FLYING) || (map == 869 && target->HasSpell(SPELL_OSHOTH_FLYING))))has the new condition inserted at the wrong place making it Code: [Select]expansion01|| (northrend && has_coldweather || (your_map && has_your_spell))
Don't write return twice?!
You have given exactly 0 information that anyone could use to help you
I Fixed issue where the mount dismounts upon changing area
QuoteI Fixed issue where the mount dismounts upon changing areaWhat did you do? Did you change the two things I pointed out? How does it look now?
You really are horrible at answering questions.
{ // continent checked in SpellInfo::CheckLocation at cast and area update uint32 v_map = GetVirtualMapForMapAndZone(mapid, zone); v_map != 571 || HasSpell(54197); // 54197 = Cold Weather Flying return v_map != 869 || HasSpell(93333); // 93333 = Flight Master License}
// Triggered spell id dependent on riding skill and zone bool canFly = false; uint32 map = GetVirtualMapForMapAndZone(target->GetMapId(), target->GetZoneId()); if (map == 530 || (map == 571 && target->HasSpell(SPELL_COLD_WEATHER_FLYING || (map == 869 && target->HasSpell(SPELL_OSHOTH_FLYING))))) canFly = true;
So that first thing now _only_ checks the new one, no longer northrend and cold weather flying. The second function now checks if the player is in expansion01 or in northrend and has the spell 1.