* 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),
|
||||
(814, 'Member', 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),
|
||||
(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),
|
||||
|
||||
@@ -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).
|
||||
if (opcode == MSG_MOVE_FALL_LAND && plMover && !plMover->isInFlight())
|
||||
{
|
||||
plMover->HandleFall(movementInfo);
|
||||
_player->RemoveAurasByType(SPELL_AURA_FEATHER_FALL);
|
||||
}
|
||||
|
||||
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);
|
||||
ChatHandler(plr).PSendSysMessage(LANG_ZONE_NOFLYZONE);
|
||||
plr->GetSession()->SendNotification(LANG_ZONE_NOFLYZONE);
|
||||
}
|
||||
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);
|
||||
}
|
||||
}
|
||||
RemoveAura(61243); // No fly zone - Parachute
|
||||
}
|
||||
|
||||
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);
|
||||
if (fabs(ground_Z - z) < 0.1f)
|
||||
{
|
||||
m_target->RemoveAurasByType(SPELL_AURA_FEATHER_FALL);
|
||||
m_target->RemoveAura(GetId());
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -955,6 +955,7 @@ void OPvPWintergrasp::HandlePlayerEnterZone(Player * plr, uint32 zone)
|
||||
{
|
||||
plr->CastSpell(plr, SPELL_NOFLYZONE_WG, true);
|
||||
ChatHandler(plr).PSendSysMessage(LANG_ZONE_NOFLYZONE);
|
||||
plr->GetSession()->SendNotification(LANG_ZONE_NOFLYZONE);
|
||||
}
|
||||
|
||||
if (!isWarTime())
|
||||
|
||||
Reference in New Issue
Block a user