diff --git a/code/ryzom/server/src/ai_service/state_instance.h b/code/ryzom/server/src/ai_service/state_instance.h index 802172825..f8bacd31f 100644 --- a/code/ryzom/server/src/ai_service/state_instance.h +++ b/code/ryzom/server/src/ai_service/state_instance.h @@ -376,17 +376,16 @@ inline float CStateInstance::getNelVar(std::string const& varId) { TNelVarList::iterator it = _NelVar.find(varId); - if (it==_NelVar.end()) + if (it != _NelVar.end()) return it->second->get() + + if (NLMISC::CVariable::exists(varId)) { - if (NLMISC::CVariable::exists(varId)) - { - nlwarning("Nel variable \"%s\" exists outside of this state instance", varId.c_str()); - return 0.f; - } - _NelVar[varId] = new NLMISC::CVariable("StateInstance", varId.c_str(), "", 0.f); - _NelVar[varId]->get(); + nlwarning("Nel variable \"%s\" exists outside of this state instance", varId.c_str()); + return 0.f; } - return it->second->get(); + + _NelVar[varId] = new NLMISC::CVariable("StateInstance", varId.c_str(), "", 0.f); + return _NelVar[varId]->get(); } inline @@ -424,17 +423,16 @@ inline std::string CStateInstance::getStrNelVar(std::string const& varId) { TStrNelVarList::iterator it = _StrNelVar.find(varId); - if (it==_StrNelVar.end()) + if (it!=_StrNelVar.end()) return it->second->get(); + + if (NLMISC::CVariable::exists(varId)) { - if (NLMISC::CVariable::exists(varId)) - { - nlwarning("Nel variable \"%s\" exists outside of this state instance", varId.c_str()); - return ""; - } - _StrNelVar[varId] = new NLMISC::CVariable("StateInstanceVar", varId.c_str(), "", std::string()); - _NelVar[varId]->get(); + nlwarning("Nel variable \"%s\" exists outside of this state instance", varId.c_str()); + return ""; } - return it->second->get(); + + _StrNelVar[varId] = new NLMISC::CVariable("StateInstanceVar", varId.c_str(), "", std::string()); + return _NelVar[varId]->get(); } inline