[12080] Use a single method to send SMSG_ACTIVATETAXIREPLY

Signed-off-by: stfx <stfx@hotmail.de>
This commit is contained in:
Nay 2012-08-03 17:54:07 +02:00 committed by stfx
parent c69759a38d
commit bb91aa5933
6 changed files with 41 additions and 52 deletions

View file

@ -18907,9 +18907,7 @@ bool Player::ActivateTaxiPathTo(std::vector<uint32> const& nodes, Creature* npc
// not let cheating with start flight in time of logout process || if casting not finished || while in combat || if not use Spell's with EffectSendTaxi // not let cheating with start flight in time of logout process || if casting not finished || while in combat || if not use Spell's with EffectSendTaxi
if (GetSession()->isLogingOut() || isInCombat()) if (GetSession()->isLogingOut() || isInCombat())
{ {
WorldPacket data(SMSG_ACTIVATETAXIREPLY, 4); GetSession()->SendActivateTaxiReply(ERR_TAXIPLAYERBUSY);
data << uint32(ERR_TAXIPLAYERBUSY);
GetSession()->SendPacket(&data);
return false; return false;
} }
@ -18922,26 +18920,20 @@ bool Player::ActivateTaxiPathTo(std::vector<uint32> const& nodes, Creature* npc
// not let cheating with start flight mounted // not let cheating with start flight mounted
if (IsMounted()) if (IsMounted())
{ {
WorldPacket data(SMSG_ACTIVATETAXIREPLY, 4); GetSession()->SendActivateTaxiReply(ERR_TAXIPLAYERALREADYMOUNTED);
data << uint32(ERR_TAXIPLAYERALREADYMOUNTED);
GetSession()->SendPacket(&data);
return false; return false;
} }
if (IsInDisallowedMountForm()) if (IsInDisallowedMountForm())
{ {
WorldPacket data(SMSG_ACTIVATETAXIREPLY, 4); GetSession()->SendActivateTaxiReply(ERR_TAXIPLAYERSHAPESHIFTED);
data << uint32(ERR_TAXIPLAYERSHAPESHIFTED);
GetSession()->SendPacket(&data);
return false; return false;
} }
// not let cheating with start flight in time of logout process || if casting not finished || while in combat || if not use Spell's with EffectSendTaxi // not let cheating with start flight in time of logout process || if casting not finished || while in combat || if not use Spell's with EffectSendTaxi
if (IsNonMeleeSpellCasted(false)) if (IsNonMeleeSpellCasted(false))
{ {
WorldPacket data(SMSG_ACTIVATETAXIREPLY, 4); GetSession()->SendActivateTaxiReply(ERR_TAXIPLAYERBUSY);
data << uint32(ERR_TAXIPLAYERBUSY);
GetSession()->SendPacket(&data);
return false; return false;
} }
} }
@ -18970,9 +18962,7 @@ bool Player::ActivateTaxiPathTo(std::vector<uint32> const& nodes, Creature* npc
TaxiNodesEntry const* node = sTaxiNodesStore.LookupEntry(sourcenode); TaxiNodesEntry const* node = sTaxiNodesStore.LookupEntry(sourcenode);
if (!node) if (!node)
{ {
WorldPacket data(SMSG_ACTIVATETAXIREPLY, 4); GetSession()->SendActivateTaxiReply(ERR_TAXINOSUCHPATH);
data << uint32(ERR_TAXINOSUCHPATH);
GetSession()->SendPacket(&data);
return false; return false;
} }
@ -18985,18 +18975,14 @@ bool Player::ActivateTaxiPathTo(std::vector<uint32> const& nodes, Creature* npc
(node->z - GetPositionZ()) * (node->z - GetPositionZ()) > (node->z - GetPositionZ()) * (node->z - GetPositionZ()) >
(2 * INTERACTION_DISTANCE) * (2 * INTERACTION_DISTANCE) * (2 * INTERACTION_DISTANCE)) (2 * INTERACTION_DISTANCE) * (2 * INTERACTION_DISTANCE) * (2 * INTERACTION_DISTANCE))
{ {
WorldPacket data(SMSG_ACTIVATETAXIREPLY, 4); GetSession()->SendActivateTaxiReply(ERR_TAXITOOFARAWAY);
data << uint32(ERR_TAXITOOFARAWAY);
GetSession()->SendPacket(&data);
return false; return false;
} }
} }
// node must have pos if taxi master case (npc != NULL) // node must have pos if taxi master case (npc != NULL)
else if (npc) else if (npc)
{ {
WorldPacket data(SMSG_ACTIVATETAXIREPLY, 4); GetSession()->SendActivateTaxiReply(ERR_TAXIUNSPECIFIEDSERVERERROR);
data << uint32(ERR_TAXIUNSPECIFIEDSERVERERROR);
GetSession()->SendPacket(&data);
return false; return false;
} }
@ -19050,9 +19036,8 @@ bool Player::ActivateTaxiPathTo(std::vector<uint32> const& nodes, Creature* npc
// in spell case allow 0 model // in spell case allow 0 model
if ((mount_display_id == 0 && spellid == 0) || sourcepath == 0) if ((mount_display_id == 0 && spellid == 0) || sourcepath == 0)
{ {
WorldPacket data(SMSG_ACTIVATETAXIREPLY, 4); GetSession()->SendActivateTaxiReply(ERR_TAXIUNSPECIFIEDSERVERERROR);
data << uint32(ERR_TAXIUNSPECIFIEDSERVERERROR);
GetSession()->SendPacket(&data);
m_taxi.ClearTaxiDestinations(); m_taxi.ClearTaxiDestinations();
return false; return false;
} }
@ -19064,9 +19049,8 @@ bool Player::ActivateTaxiPathTo(std::vector<uint32> const& nodes, Creature* npc
if (money < totalcost) if (money < totalcost)
{ {
WorldPacket data(SMSG_ACTIVATETAXIREPLY, 4); GetSession()->SendActivateTaxiReply(ERR_TAXINOTENOUGHMONEY);
data << uint32(ERR_TAXINOTENOUGHMONEY);
GetSession()->SendPacket(&data);
m_taxi.ClearTaxiDestinations(); m_taxi.ClearTaxiDestinations();
return false; return false;
} }
@ -19079,12 +19063,7 @@ bool Player::ActivateTaxiPathTo(std::vector<uint32> const& nodes, Creature* npc
// prevent stealth flight // prevent stealth flight
RemoveSpellsCausingAura(SPELL_AURA_MOD_STEALTH); RemoveSpellsCausingAura(SPELL_AURA_MOD_STEALTH);
WorldPacket data(SMSG_ACTIVATETAXIREPLY, 4); GetSession()->SendActivateTaxiReply(ERR_TAXIOK);
data << uint32(ERR_TAXIOK);
GetSession()->SendPacket(&data);
DEBUG_LOG("WORLD: Sent SMSG_ACTIVATETAXIREPLY");
GetSession()->SendDoFlight(mount_display_id, sourcepath); GetSession()->SendDoFlight(mount_display_id, sourcepath);
return true; return true;

View file

@ -501,23 +501,6 @@ enum PlayerFieldByte2Flags
PLAYER_FIELD_BYTE2_INVISIBILITY_GLOW = 0x40 PLAYER_FIELD_BYTE2_INVISIBILITY_GLOW = 0x40
}; };
enum ActivateTaxiReplies
{
ERR_TAXIOK = 0,
ERR_TAXIUNSPECIFIEDSERVERERROR = 1,
ERR_TAXINOSUCHPATH = 2,
ERR_TAXINOTENOUGHMONEY = 3,
ERR_TAXITOOFARAWAY = 4,
ERR_TAXINOVENDORNEARBY = 5,
ERR_TAXINOTVISITED = 6,
ERR_TAXIPLAYERBUSY = 7,
ERR_TAXIPLAYERALREADYMOUNTED = 8,
ERR_TAXIPLAYERSHAPESHIFTED = 9,
ERR_TAXIPLAYERMOVING = 10,
ERR_TAXISAMENODE = 11,
ERR_TAXINOTSTANDING = 12
};
enum MirrorTimerType enum MirrorTimerType
{ {
FATIGUE_TIMER = 0, FATIGUE_TIMER = 0,

View file

@ -2283,8 +2283,8 @@ enum SkillType
SKILL_SURVIVAL2 = 142, SKILL_SURVIVAL2 = 142,
SKILL_RIDING_HORSE = 148, SKILL_RIDING_HORSE = 148,
SKILL_RIDING_WOLF = 149, SKILL_RIDING_WOLF = 149,
SKILL_RIDING_RAM = 152,
SKILL_RIDING_TIGER = 150, SKILL_RIDING_TIGER = 150,
SKILL_RIDING_RAM = 152,
SKILL_SWIMING = 155, SKILL_SWIMING = 155,
SKILL_2H_MACES = 160, SKILL_2H_MACES = 160,
SKILL_UNARMED = 162, SKILL_UNARMED = 162,
@ -2947,6 +2947,23 @@ enum WorldStateType
WORLD_STATE_ADD = 1 WORLD_STATE_ADD = 1
}; };
enum ActivateTaxiReply
{
ERR_TAXIOK = 0,
ERR_TAXIUNSPECIFIEDSERVERERROR = 1,
ERR_TAXINOSUCHPATH = 2,
ERR_TAXINOTENOUGHMONEY = 3,
ERR_TAXITOOFARAWAY = 4,
ERR_TAXINOVENDORNEARBY = 5,
ERR_TAXINOTVISITED = 6,
ERR_TAXIPLAYERBUSY = 7,
ERR_TAXIPLAYERALREADYMOUNTED = 8,
ERR_TAXIPLAYERSHAPESHIFTED = 9,
ERR_TAXIPLAYERMOVING = 10,
ERR_TAXISAMENODE = 11,
ERR_TAXINOTSTANDING = 12
};
// we need to stick to 1 version or half of the stuff will work for someone // we need to stick to 1 version or half of the stuff will work for someone
// others will not and opposite // others will not and opposite
// will only support WoW, WoW:TBC and WoW:WotLK 3.3.5a client build 12340... // will only support WoW, WoW:TBC and WoW:WotLK 3.3.5a client build 12340...

View file

@ -150,6 +150,15 @@ bool WorldSession::SendLearnNewTaxiNode(Creature* unit)
return false; return false;
} }
void WorldSession::SendActivateTaxiReply(ActivateTaxiReply reply)
{
WorldPacket data(SMSG_ACTIVATETAXIREPLY, 4);
data << uint32(reply);
SendPacket(&data);
DEBUG_LOG("WORLD: Sent SMSG_ACTIVATETAXIREPLY");
}
void WorldSession::HandleActivateTaxiExpressOpcode(WorldPacket& recv_data) void WorldSession::HandleActivateTaxiExpressOpcode(WorldPacket& recv_data)
{ {
DEBUG_LOG("WORLD: Received CMSG_ACTIVATETAXIEXPRESS"); DEBUG_LOG("WORLD: Received CMSG_ACTIVATETAXIEXPRESS");

View file

@ -373,6 +373,7 @@ class MANGOS_DLL_SPEC WorldSession
void SendTaxiMenu(Creature* unit); void SendTaxiMenu(Creature* unit);
void SendDoFlight(uint32 mountDisplayId, uint32 path, uint32 pathNode = 0); void SendDoFlight(uint32 mountDisplayId, uint32 path, uint32 pathNode = 0);
bool SendLearnNewTaxiNode(Creature* unit); bool SendLearnNewTaxiNode(Creature* unit);
void SendActivateTaxiReply(ActivateTaxiReply reply);
// Guild/Arena Team // Guild/Arena Team
void SendGuildCommandResult(uint32 typecmd, const std::string& str, uint32 cmdresult); void SendGuildCommandResult(uint32 typecmd, const std::string& str, uint32 cmdresult);

View file

@ -1,4 +1,4 @@
#ifndef __REVISION_NR_H__ #ifndef __REVISION_NR_H__
#define __REVISION_NR_H__ #define __REVISION_NR_H__
#define REVISION_NR "12079" #define REVISION_NR "12080"
#endif // __REVISION_NR_H__ #endif // __REVISION_NR_H__