void WorldSession::HandleTrainerListOpcode(WorldPackets::NPC::Hello& packet) { SendTrainerList(packet.Unit); }
void WorldSession::SendTrainerList(uint64 guid) { std::string str = GetTrinityString(LANG_NPC_TAINER_HELLO); SendTrainerList(guid, str); }
void WorldSession::SendTrainerList(ObjectGuid guid) { std::string str = GetMangosString(LANG_NPC_TAINER_HELLO); SendTrainerList(guid, str); }
void WorldSession::SendTrainerList(uint64 guid) { std::string str = GetSkyFireString(LANGUAGE_NPC_TAINER_HELLO); SendTrainerList(guid, str); }
void WorldSession::HandleTrainerBuySpellOpcode( WorldPacket & recv_data ) { WorldPacket data; uint64 guid; uint32 spellId, playerGold, price; uint64 trainer = GetPlayer()->GetSelection(); recv_data >> guid >> spellId; playerGold = GetPlayer( )->GetUInt32Value( PLAYER_FIELD_COINAGE ); data.Initialize( SMSG_TRAINER_BUY_SUCCEEDED ); data << guid << spellId; SendPacket( &data ); SpellEntry *proto = sSpellStore.LookupEntry(spellId); price = sWorld.mPrices[proto->spellLevel]; if( playerGold >= price && ((GetPlayer()->GetUInt32Value( UNIT_FIELD_LEVEL )) >= (proto->spellLevel))) { GetPlayer( )->SetUInt32Value( PLAYER_FIELD_COINAGE, playerGold - price ); data.Initialize( SMSG_SPELL_START ); data << guid; data << guid; data << spellId; data << uint16(0); data << uint32(0); data << uint16(2); data << GetPlayer()->GetGUID(); WPAssert(data.size() == 36); SendPacket( &data ); data.Initialize( SMSG_LEARNED_SPELL ); data << spellId; SendPacket( &data ); GetPlayer()->addSpell((uint16)spellId); data.Initialize( SMSG_SPELL_GO ); data << guid; data << guid; data << spellId; data << uint8(0) << uint8(1) << uint8(1); data << GetPlayer()->GetGUID(); data << uint8(0); data << uint16(2); data << GetPlayer()->GetGUID(); WPAssert(data.size() == 42); SendPacket( &data ); data.Initialize( SMSG_SPELLLOGEXECUTE ); data << guid; data << spellId; data << uint32(1); data << uint32(0x24); data << uint32(1); data << GetPlayer()->GetGUID(); WPAssert(data.size() == 32); SendPacket( &data ); SendTrainerList( guid ); } }
void WorldSession::SendTrainerList( uint64 guid ) { std::string str = objmgr.GetMangosString(LANG_NPC_TAINER_HELLO,GetSessionLocaleIndex()); SendTrainerList( guid, str ); }
void WorldSession::SendTrainerList( uint64 guid ) { std::string str = "Hello! Ready for some training?"; SendTrainerList( guid, str ); }