diff --git a/src/servers/Server_Zone/Actor/Player.cpp b/src/servers/Server_Zone/Actor/Player.cpp index e504e5b9..0199f3ca 100644 --- a/src/servers/Server_Zone/Actor/Player.cpp +++ b/src/servers/Server_Zone/Actor/Player.cpp @@ -608,7 +608,7 @@ void Core::Entity::Player::learnAction( uint8_t actionId ) queuePacket( ActorControlPacket143( getId(), ToggleActionUnlock, actionId, 1 ) ); } -void Core::Entity::Player::learnSong( uint8_t songId ) +void Core::Entity::Player::learnSong( uint8_t songId, uint32_t itemId ) { uint16_t index; uint8_t value; @@ -617,7 +617,7 @@ void Core::Entity::Player::learnSong( uint8_t songId ) m_orchestrion[index] |= value; setSyncFlag( Unlocks ); - queuePacket( ActorControlPacket143( getId(), ToggleOrchestrionUnlock, songId, 1 ) ); + queuePacket( ActorControlPacket143( getId(), ToggleOrchestrionUnlock, songId, 1, itemId ) ); } bool Core::Entity::Player::isActionLearned( uint8_t actionId ) const diff --git a/src/servers/Server_Zone/Actor/Player.h b/src/servers/Server_Zone/Actor/Player.h index 8935b0d9..488065df 100644 --- a/src/servers/Server_Zone/Actor/Player.h +++ b/src/servers/Server_Zone/Actor/Player.h @@ -374,7 +374,7 @@ public: /*! learn an action / update the unlock bitmask. */ void learnAction( uint8_t actionId ); /*! learn a song / update the unlock bitmask. */ - void learnSong( uint8_t songId ); + void learnSong( uint8_t songId, uint32_t itemId ); /*! check if an action is already unlocked in the bitmask. */ bool isActionLearned( uint8_t actionId ) const; /*! return a const pointer to the unlock bitmask array */ diff --git a/src/servers/Server_Zone/Network/Handlers/GMCommandHandlers.cpp b/src/servers/Server_Zone/Network/Handlers/GMCommandHandlers.cpp index af4a5338..cae64bc6 100644 --- a/src/servers/Server_Zone/Network/Handlers/GMCommandHandlers.cpp +++ b/src/servers/Server_Zone/Network/Handlers/GMCommandHandlers.cpp @@ -397,14 +397,14 @@ void Core::Network::GameConnection::gm1Handler( const Packets::GamePacket& inPac if( param2 == 0 ) { for( uint8_t i = 0; i < 255; i++ ) - targetActor->getAsPlayer()->learnSong( i ); + targetActor->getAsPlayer()->learnSong( i, 0 ); pPlayer->sendNotice( "All Songs for " + targetPlayer->getName() + " were turned on." ); } else { - targetActor->getAsPlayer()->learnSong( param2 ); + targetActor->getAsPlayer()->learnSong( param2, 0 ); pPlayer->sendNotice( "Song " + std::to_string( param2 ) + " for " + targetPlayer->getName() + " was turned on." ); }