100 for (SlotEquipmentMap::const_iterator itr = items->begin(); itr != items->end(); ++itr)
101 data << (
uint32)itr->second;
142 for (
uint8 i = 0; i < items.size(); i++)
146 item->SetBinding(
true);
147 item->SaveToDB(trans);
175 if (itemCount++ > 10)
181 uint32 itemGuid = (*result)[0].GetUInt32();
189 }
while (result->NextRow());
210 stmt->
setUInt32(0, (*result)[0].GetUInt32());
213 }
while (result->NextRow());
222 for (std::vector<uint32>::const_iterator iter = spells->begin(); iter != spells->end(); ++iter)
237 std::ostringstream talentTree;
239 return talentTree.str();
245 uint32 const* languageSpells = NULL;
280 for (
uint8 i = 0; i < spellsToLearn.size(); i++)
301 charRace = (*result)[0].GetUInt8();
311 SlotEquipmentMap::const_iterator itr;
312 std::ostringstream items;
318 itr = itemsToEquip->find(i);
319 if (itr != itemsToEquip->end())
323 item->SetBinding(
true);
324 item->SaveToDB(trans);
335 items << (itr->second) <<
" 0 ";
373 classId = specEntry->classId;
382 std::vector<std::pair<uint32, uint32> > itemsToMail;
SlotEquipmentMap const deathKnightEquipmentUnholy
SlotEquipmentMap const druidEquipmentBalance
SlotEquipmentMap const shamanEquipmentRestoration
SlotEquipmentMap const embersilkBags
std::map< uint8, uint32 > SlotEquipmentMap
SlotEquipmentMap const druidEquipmentRestoration
SlotEquipmentMap const paladinEquipmentHoly
SlotEquipmentMap const monkEquipmentWindwalker
SlotEquipmentMap const deathKnightEquipmentFrost
#define CHARRACTER_BOOST_EQUIPED_ITEMS_MAIL_BODY
SlotEquipmentMap const shamanEquipmentElemental
float const startPosition[2][4]
SlotEquipmentMap const warriorEquipmentProtection
SlotEquipmentMap const monkEquipmentMistweaver
SlotEquipmentMap const shamanEquipmentEnhancement
SlotEquipmentMap const rogueEquipmentCombat
#define CHARRACTER_BOOST_EQUIPED_ITEMS_MAIL_SUBJECT
std::vector< uint32 > const CharBoostSpells
SlotEquipmentMap const paladinEquipmentProtection
@ SWIFT_PURPLE_GRYPGON_SPELL
@ LEMON_FLAVOUR_PUDING_ID
@ LEMON_FLAVOUR_PUDING_COUNT
@ SWIFT_PURPLE_WIND_RIDER_SPELL
@ VALE_OF_ETERNAL_BLOSSOMS_MAP_ID
SlotEquipmentMap const paladinEquipmentRetribution
SlotEquipmentMap const deathKnightEquipmentBlood
SlotEquipmentMap const priestEquipmentDisciplineAndHoly
SlotEquipmentMap const warlockEquipment
SlotEquipmentMap const hunterEquipment
SlotEquipmentMap const monkEquipmentBrewmaster
SlotEquipmentMap const warriorEquipmentArms
SlotEquipmentMap const mageEquipment
SlotEquipmentMap const priestEquipmentShadow
SlotEquipmentMap const rogueEquipmentAssassionation
SlotEquipmentMap const druidEquipmentFeral
SlotEquipmentMap const warriorEquipmentFury
@ CHAR_UPD_CHARACTER_BOOST
@ CHAR_INS_CHAR_INVENTORY
@ CHAR_SEL_CHAR_INVENTORY_ITEM_GUID_UNTIL_BAG_SLOT
@ CHAR_DEL_CHAR_INVENTORY_UNTIL_BAG_SLOT
@ CHAR_DEL_CHAR_SPELL_BY_SPELL
std::vector< uint32 > const * GetSpecializationSpells(uint32 specializationId)
uint32 const * GetClassSpecializations(uint8 classId)
DBCStorage< ChrSpecializationEntry > sChrSpecializationStore(ChrSpecializationfmt)
@ MAIL_STATIONERY_DEFAULT
uint32 GUID_LOPART(uint64 x)
uint32 const pandarenLanguageSpellsAlliance[]
uint32 const pandarenLanguageSpellsHorde[]
#define PANDAREN_FACTION_LANGUAGE_COUNT
Skyfire::AutoPtr< PreparedResultSet, Skyfire::Mutex > PreparedQueryResult
@ SPEC_WARRIOR_PROTECTION
@ SPEC_PALADIN_RETRIBUTION
@ SPEC_WARLOCK_DEMONOLOGY
@ SPEC_PALADIN_PROTECTION
@ SPEC_DEATH_KNIGHT_FROST
@ SPEC_HUNTER_BEAST_MASTERY
@ SPEC_DEATH_KNIGHT_UNHOLY
@ SPEC_DEATH_KNIGHT_BLOOD
@ SPEC_HUNTER_MARKSMANSHIP
@ SPEC_WARLOCK_DESTRUCTION
@ SPEC_SHAMAN_RESTORATION
@ SPEC_ROGUE_ASSASSINATION
@ SPEC_WARLOCK_AFFLICTION
@ SPEC_SHAMAN_ENHANCEMENT
#define CHARACTER_BOOST_BONUS_TEXT2
@ CHARACTER_BOOST_APPLIED
@ CHARACTER_BOOST_TEXT_ID
#define CHARACTER_BOOST_BONUS_TEXT
Skyfire::AutoPtr< Transaction, Skyfire::Mutex > SQLTransaction
void WriteGuidBytes(const ObjectGuid &guid, Offsets... offsets)
bool WriteBit(uint32 bit)
void WriteGuidMask(const ObjectGuid &guid, Offsets... offsets)
void WriteBits(T value, size_t bits)
CharacterBooster(WorldSession *session)
CharacterBoostData m_charBoostInfo
std::string _EquipItems(SQLTransaction &trans, SlotEquipmentMap const *itemsToEquip) const
uint32 _PrepareMail(SQLTransaction &trans, std::string const &subject, std::string const &body) const
void _HandleCharacterBoost() const
void SetBoostedCharInfo(uint64 guid, uint32 action, uint32 specialization, bool allianceFaction)
void HandleCharacterBoost()
void _SendMail(SQLTransaction &trans, std::vector< std::pair< uint32, uint32 > > const &items) const
void _SaveBoostedChar(SQLTransaction &trans, std::string const &items, uint8 const &raceId, uint8 const &classId) const
void _LearnSpells(SQLTransaction &trans, uint8 const &raceId, uint8 const &classId) const
std::string _SetSpecialization(SQLTransaction &trans, uint8 const &classId) const
void _SendCharBoostPacket(SlotEquipmentMap const *items) const
SlotEquipmentMap const * _GetCharBoostItems(std::vector< std::pair< uint32, uint32 > > &itemsToMail) const
void _MailEquipedItems(SQLTransaction &trans) const
static Item * CreateItem(uint32 itemEntry, uint32 count, Player const *player=NULL)
void setBool(const uint8 index, const bool value)
void setFloat(const uint8 index, const float value)
void setString(const uint8 index, const std::string &value)
void setUInt16(const uint8 index, const uint16 value)
void setUInt64(const uint8 index, const uint64 value)
void setInt8(const uint8 index, const int8 value)
void setUInt32(const uint8 index, const uint32 value)
void setUInt8(const uint8 index, const uint8 value)
Player session in the World.
CharacterDatabaseWorkerPool CharacterDatabase
Accessor to the character database.
@ SMSG_BATTLE_PAY_BOOST_ITEMS
@ CONFIG_BOOST_START_MONEY
@ CONFIG_BOOST_START_LEVEL