diff --git a/src/map/mob.cpp b/src/map/mob.cpp index 0a68a1c1bc..c9e341145b 100644 --- a/src/map/mob.cpp +++ b/src/map/mob.cpp @@ -4225,13 +4225,18 @@ bool MobDatabase::parseDropNode(const std::string& nodeName, const YAML::Node& n if( this->nodeExists( dropit, "Clear" ) ){ bool clear; - if( !this->asBool( node, "Clear", clear ) ){ + if( !this->asBool( dropit, "Clear", clear ) ){ return false; } if( clear ){ // Clear specific index drops[index] = {}; + + if( !this->nodeExists( dropit, "Item" ) ){ + // Continue with next yaml node + continue; + } } } } else { @@ -4245,7 +4250,7 @@ bool MobDatabase::parseDropNode(const std::string& nodeName, const YAML::Node& n if( this->nodeExists( dropit, "Clear" ) ){ bool clear; - if( !this->asBool( node, "Clear", clear ) ){ + if( !this->asBool( dropit, "Clear", clear ) ){ return false; } @@ -4255,7 +4260,7 @@ bool MobDatabase::parseDropNode(const std::string& nodeName, const YAML::Node& n drops[i] = {}; } - if( !this->nodeExists( node, "Item" ) ){ + if( !this->nodeExists( dropit, "Item" ) ){ // Continue with next yaml node continue; }