diff options
-rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 17 | ||||
-rw-r--r-- | src/server/game/Entities/Player/Player.h | 4 | ||||
-rw-r--r-- | src/server/game/Handlers/MiscHandler.cpp | 4 | ||||
-rw-r--r-- | src/server/game/Server/Packets/ChannelPackets.cpp | 2 |
4 files changed, 18 insertions, 9 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index d2013c588bf..fadf944b8b4 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -1127,9 +1127,16 @@ bool Player::Create(ObjectGuid::LowType guidlow, WorldPackets::Character::Charac LearnDefaultSkills(); LearnCustomSpells(); - // original action bar + // Original action bar. Do not use Player::AddActionButton because we do not have skill spells loaded at this time + // but checks will still be performed later when loading character from db in Player::_LoadActions for (PlayerCreateInfoActions::const_iterator action_itr = info->action.begin(); action_itr != info->action.end(); ++action_itr) - addActionButton(action_itr->button, action_itr->action, action_itr->type); + { + // create new button + ActionButton& ab = m_actionButtons[action_itr->button]; + + // set data + ab.SetActionAndType(action_itr->action, ActionButtonType(action_itr->type)); + } // original items if (CharStartOutfitEntry const* oEntry = GetCharStartOutfitEntry(createInfo->Race, createInfo->Class, createInfo->Sex)) @@ -6349,7 +6356,7 @@ bool Player::IsActionButtonDataValid(uint8 button, uint32 action, uint8 type) return true; } -ActionButton* Player::addActionButton(uint8 button, uint32 action, uint8 type) +ActionButton* Player::AddActionButton(uint8 button, uint32 action, uint8 type) { if (!IsActionButtonDataValid(button, action, type)) return NULL; @@ -6364,7 +6371,7 @@ ActionButton* Player::addActionButton(uint8 button, uint32 action, uint8 type) return &ab; } -void Player::removeActionButton(uint8 button) +void Player::RemoveActionButton(uint8 button) { ActionButtonList::iterator buttonItr = m_actionButtons.find(button); if (buttonItr == m_actionButtons.end() || buttonItr->second.uState == ACTIONBUTTON_DELETED) @@ -17434,7 +17441,7 @@ void Player::_LoadActions(PreparedQueryResult result) uint32 action = fields[1].GetUInt32(); uint8 type = fields[2].GetUInt8(); - if (ActionButton* ab = addActionButton(button, action, type)) + if (ActionButton* ab = AddActionButton(button, action, type)) ab->uState = ACTIONBUTTON_UNCHANGED; else { diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h index 31a145a7147..1c76e594236 100644 --- a/src/server/game/Entities/Player/Player.h +++ b/src/server/game/Entities/Player/Player.h @@ -1942,8 +1942,8 @@ class Player : public Unit, public GridObject<Player> uint8 getCinematic() { return m_cinematic; } void setCinematic(uint8 cine) { m_cinematic = cine; } - ActionButton* addActionButton(uint8 button, uint32 action, uint8 type); - void removeActionButton(uint8 button); + ActionButton* AddActionButton(uint8 button, uint32 action, uint8 type); + void RemoveActionButton(uint8 button); ActionButton const* GetActionButton(uint8 button); void SendInitialActionButtons() const { SendActionButtons(0); } void SendActionButtons(uint32 state) const; diff --git a/src/server/game/Handlers/MiscHandler.cpp b/src/server/game/Handlers/MiscHandler.cpp index 1d5107b6b67..1bdb0fd703e 100644 --- a/src/server/game/Handlers/MiscHandler.cpp +++ b/src/server/game/Handlers/MiscHandler.cpp @@ -1061,9 +1061,9 @@ void WorldSession::HandleSetActionButtonOpcode(WorldPackets::Spells::SetActionBu TC_LOG_DEBUG("network", "CMSG_SET_ACTION_BUTTON Button: %u Action: %u Type: %u", packet.Index, action, type); if (!packet.Action) - GetPlayer()->removeActionButton(packet.Index); + GetPlayer()->RemoveActionButton(packet.Index); else - GetPlayer()->addActionButton(packet.Index, action, type); + GetPlayer()->AddActionButton(packet.Index, action, type); } void WorldSession::HandleCompleteCinematic(WorldPacket& /*recvData*/) diff --git a/src/server/game/Server/Packets/ChannelPackets.cpp b/src/server/game/Server/Packets/ChannelPackets.cpp index 9bcb10948d5..92226981df6 100644 --- a/src/server/game/Server/Packets/ChannelPackets.cpp +++ b/src/server/game/Server/Packets/ChannelPackets.cpp @@ -127,6 +127,8 @@ void WorldPackets::Channel::ChannelPlayerCommand::Read() Name = _worldPacket.ReadString(nameLength); break; } + default: + break; } } |