* Better solution to No Fly zones by Spp, closes #4
--HG-- branch : trunk
This commit is contained in:
@@ -628,7 +628,7 @@ INSERT INTO `trinity_string` (`entry`, `content_default`, `content_loc1`, `conte
|
|||||||
(813, 'Veteran', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
(813, 'Veteran', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||||
(814, 'Member', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
(814, 'Member', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||||
(815, 'Initiate', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
(815, 'Initiate', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||||
(816, 'You have entered a No-Fly Zone and are about to be dismounted.', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
(816, 'Warning: You''ve entered a no-fly zone and are about to be dismounted!', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||||
(1000, 'Exiting daemon...', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
(1000, 'Exiting daemon...', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||||
(1001, 'Account deleted: %s', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
(1001, 'Account deleted: %s', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||||
(1002, 'Account %s NOT deleted (probably sql file format was updated)', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
(1002, 'Account %s NOT deleted (probably sql file format was updated)', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
|
||||||
|
|||||||
@@ -0,0 +1,4 @@
|
|||||||
|
|
||||||
|
DELETE FROM `trinity_string` WHERE `entry`=816;
|
||||||
|
INSERT INTO `trinity_string` (`entry`, `content_default`, `content_loc1`, `content_loc2`, `content_loc3`, `content_loc4`, `content_loc5`, `content_loc6`, `content_loc7`, `content_loc8`) VALUES
|
||||||
|
(816, 'Warning: You''ve entered a no-fly zone and are about to be dismounted!', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
|
||||||
@@ -307,10 +307,7 @@ void WorldSession::HandleMovementOpcodes( WorldPacket & recv_data )
|
|||||||
|
|
||||||
// fall damage generation (ignore in flight case that can be triggered also at lags in moment teleportation to another map).
|
// fall damage generation (ignore in flight case that can be triggered also at lags in moment teleportation to another map).
|
||||||
if (opcode == MSG_MOVE_FALL_LAND && plMover && !plMover->isInFlight())
|
if (opcode == MSG_MOVE_FALL_LAND && plMover && !plMover->isInFlight())
|
||||||
{
|
|
||||||
plMover->HandleFall(movementInfo);
|
plMover->HandleFall(movementInfo);
|
||||||
_player->RemoveAurasByType(SPELL_AURA_FEATHER_FALL);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (plMover && ((movementInfo.flags & MOVEMENTFLAG_SWIMMING) != 0) != plMover->IsInWater())
|
if (plMover && ((movementInfo.flags & MOVEMENTFLAG_SWIMMING) != 0) != plMover->IsInWater())
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -37,6 +37,7 @@ void OutdoorPvPNR::HandlePlayerEnterZone(Player * plr, uint32 zone)
|
|||||||
{
|
{
|
||||||
plr->CastSpell(plr, SPELL_NOFLYZONE, true);
|
plr->CastSpell(plr, SPELL_NOFLYZONE, true);
|
||||||
ChatHandler(plr).PSendSysMessage(LANG_ZONE_NOFLYZONE);
|
ChatHandler(plr).PSendSysMessage(LANG_ZONE_NOFLYZONE);
|
||||||
|
plr->GetSession()->SendNotification(LANG_ZONE_NOFLYZONE);
|
||||||
}
|
}
|
||||||
OutdoorPvP::HandlePlayerEnterZone(plr, zone);
|
OutdoorPvP::HandlePlayerEnterZone(plr, zone);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21177,6 +21177,7 @@ void Player::HandleFall(MovementInfo const& movementInfo)
|
|||||||
DEBUG_LOG("FALLDAMAGE z=%f sz=%f pZ=%f FallTime=%d mZ=%f damage=%d SF=%d" , movementInfo.z, height, GetPositionZ(), movementInfo.fallTime, height, damage, safe_fall);
|
DEBUG_LOG("FALLDAMAGE z=%f sz=%f pZ=%f FallTime=%d mZ=%f damage=%d SF=%d" , movementInfo.z, height, GetPositionZ(), movementInfo.fallTime, height, damage, safe_fall);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
RemoveAura(61243); // No fly zone - Parachute
|
||||||
}
|
}
|
||||||
|
|
||||||
void Player::UpdateAchievementCriteria( AchievementCriteriaTypes type, uint32 miscvalue1/*=0*/, uint32 miscvalue2/*=0*/, Unit *unit/*=NULL*/, uint32 time/*=0*/ )
|
void Player::UpdateAchievementCriteria( AchievementCriteriaTypes type, uint32 miscvalue1/*=0*/, uint32 miscvalue2/*=0*/, Unit *unit/*=NULL*/, uint32 time/*=0*/ )
|
||||||
|
|||||||
@@ -3350,7 +3350,7 @@ void AuraEffect::HandleAuraFeatherFall(bool apply, bool Real, bool /*changeAmoun
|
|||||||
float ground_Z = caster->GetMap()->GetVmapHeight(x, y, z, true);
|
float ground_Z = caster->GetMap()->GetVmapHeight(x, y, z, true);
|
||||||
if (fabs(ground_Z - z) < 0.1f)
|
if (fabs(ground_Z - z) < 0.1f)
|
||||||
{
|
{
|
||||||
m_target->RemoveAurasByType(SPELL_AURA_FEATHER_FALL);
|
m_target->RemoveAura(GetId());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -955,6 +955,7 @@ void OPvPWintergrasp::HandlePlayerEnterZone(Player * plr, uint32 zone)
|
|||||||
{
|
{
|
||||||
plr->CastSpell(plr, SPELL_NOFLYZONE_WG, true);
|
plr->CastSpell(plr, SPELL_NOFLYZONE_WG, true);
|
||||||
ChatHandler(plr).PSendSysMessage(LANG_ZONE_NOFLYZONE);
|
ChatHandler(plr).PSendSysMessage(LANG_ZONE_NOFLYZONE);
|
||||||
|
plr->GetSession()->SendNotification(LANG_ZONE_NOFLYZONE);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!isWarTime())
|
if (!isWarTime())
|
||||||
|
|||||||
Reference in New Issue
Block a user