diff --git a/src/servers/sapphire_zone/Actor/Player.cpp b/src/servers/sapphire_zone/Actor/Player.cpp index bd2fbaaa..8621da64 100644 --- a/src/servers/sapphire_zone/Actor/Player.cpp +++ b/src/servers/sapphire_zone/Actor/Player.cpp @@ -562,7 +562,7 @@ void Core::Entity::Player::changePosition( float x, float y, float z, float o ) m_queuedZoneing = boost::make_shared( getZoneId(), pos, Util::getTimeMs(), o ); } -void Core::Entity::Player::learnAction( uint8_t actionId ) +void Core::Entity::Player::learnAction( uint16_t actionId ) { uint16_t index; uint8_t value; diff --git a/src/servers/sapphire_zone/Actor/Player.h b/src/servers/sapphire_zone/Actor/Player.h index e0d9d645..2607852e 100644 --- a/src/servers/sapphire_zone/Actor/Player.h +++ b/src/servers/sapphire_zone/Actor/Player.h @@ -419,7 +419,7 @@ public: /*! update bitmask for how-to's seen */ void updateHowtosSeen( uint32_t howToId ); /*! learn an action / update the unlock bitmask. */ - void learnAction( uint8_t actionId ); + void learnAction( uint16_t actionId ); /*! learn a song / update the unlock bitmask. */ void learnSong( uint8_t songId, uint32_t itemId ); /*! check if an action is already unlocked in the bitmask. */ diff --git a/src/servers/sapphire_zone/DebugCommand/DebugCommandHandler.cpp b/src/servers/sapphire_zone/DebugCommand/DebugCommandHandler.cpp index 38e30881..6b18689e 100644 --- a/src/servers/sapphire_zone/DebugCommand/DebugCommandHandler.cpp +++ b/src/servers/sapphire_zone/DebugCommand/DebugCommandHandler.cpp @@ -423,6 +423,13 @@ void Core::DebugCommandHandler::add( char * data, Entity::Player& player, boost: player.queuePacket( controlPacket );*/ } + else if( subCommand == "unlock" ) + { + uint32_t id; + + sscanf( params.c_str(), "%d", &id ); + player.learnAction( id ); + } else { player.sendUrgent( subCommand + " is not a valid ADD command." );