[7800] Small fixes for scripting case ActivateTaxiPathTo use: Author: VladimirMangos

* Allow wide mount model lookup in DBC data for script case
    * Allow 0-coordinates node use in script case

--HG--
branch : trunk
This commit is contained in:
megamage
2009-05-08 19:03:56 -05:00
parent 1fb48b3e34
commit b7b7262c7c
3 changed files with 7 additions and 5 deletions
+1 -1
View File
@@ -768,7 +768,7 @@ bool OutdoorPvPObjectiveEP_PWT::HandleGossipOption(Player *plr, uint64 guid, uin
nodes[1] = dst; nodes[1] = dst;
plr->PlayerTalkClass->CloseGossip(); plr->PlayerTalkClass->CloseGossip();
plr->ActivateTaxiPathTo(nodes, 0, cr); plr->ActivateTaxiPathTo(nodes, cr);
// leave the opvp, seems like moveinlineofsight isn't called when entering a taxi // leave the opvp, seems like moveinlineofsight isn't called when entering a taxi
HandlePlayerLeave(plr); HandlePlayerLeave(plr);
} }
+5 -3
View File
@@ -17204,8 +17204,8 @@ bool Player::ActivateTaxiPathTo(std::vector<uint32> const& nodes, Creature* npc
return false; return false;
} }
} }
// node must have pos if not spell case (npc!=0) // node must have pos if taxi master case (npc != NULL)
else if(!spellid) else if (npc)
{ {
WorldPacket data(SMSG_ACTIVATETAXIREPLY, 4); WorldPacket data(SMSG_ACTIVATETAXIREPLY, 4);
data << uint32(ERR_TAXIUNSPECIFIEDSERVERERROR); data << uint32(ERR_TAXIUNSPECIFIEDSERVERERROR);
@@ -17257,8 +17257,10 @@ bool Player::ActivateTaxiPathTo(std::vector<uint32> const& nodes, Creature* npc
prevnode = lastnode; prevnode = lastnode;
} }
uint16 mount_id = objmgr.GetTaxiMount(sourcenode, GetTeam(), spellid != 0); // get mount model (in case non taximaster (npc==NULL) allow more wide lookup)
uint16 mount_id = objmgr.GetTaxiMount(sourcenode, GetTeam(), npc == NULL);
// in spell case allow 0 model
if (mount_id == 0 && spellid == 0 || sourcepath == 0) if (mount_id == 0 && spellid == 0 || sourcepath == 0)
{ {
WorldPacket data(SMSG_ACTIVATETAXIREPLY, 4); WorldPacket data(SMSG_ACTIVATETAXIREPLY, 4);
+1 -1
View File
@@ -6974,7 +6974,7 @@ void Aura::UnregisterSingleCastAura()
} }
} }
void Aura::HandleAuraSafeFall( bool Apply, bool Real ) void AuraEffect::HandleAuraSafeFall( bool Apply, bool Real )
{ {
// implemented in WorldSession::HandleMovementOpcodes // implemented in WorldSession::HandleMovementOpcodes