mirror of
				https://github.com/TES3MP/openmw-tes3mp.git
				synced 2025-10-31 14:26:43 +00:00 
			
		
		
		
	Fix getDistance not detecting references in inactive cells properly
This commit is contained in:
		
							parent
							
								
									47bd170d7e
								
							
						
					
					
						commit
						2ce8323a42
					
				
					 2 changed files with 11 additions and 2 deletions
				
			
		|  | @ -378,12 +378,20 @@ namespace MWScript | |||
| 
 | ||||
|     float InterpreterContext::getDistance (const std::string& name, const std::string& id) const | ||||
|     { | ||||
|         const MWWorld::Ptr ref2 = getReference (id, false, false); | ||||
|         // NOTE: id may be empty, indicating an implicit reference
 | ||||
| 
 | ||||
|         MWWorld::Ptr ref2; | ||||
| 
 | ||||
|         if (id.empty()) | ||||
|             ref2 = getReference("", true, true); | ||||
|         else | ||||
|             ref2 = MWBase::Environment::get().getWorld()->searchPtr(id, true); | ||||
| 
 | ||||
|         // If either actor is in a non-active cell, return a large value (just like vanilla)
 | ||||
|         if (ref2.isEmpty()) | ||||
|             return std::numeric_limits<float>().max(); | ||||
| 
 | ||||
|         const MWWorld::Ptr ref = getReference (name, false, false); | ||||
|         const MWWorld::Ptr ref = MWBase::Environment::get().getWorld()->searchPtr(name, true); | ||||
|         if (ref.isEmpty()) | ||||
|             return std::numeric_limits<float>().max(); | ||||
| 
 | ||||
|  |  | |||
|  | @ -118,6 +118,7 @@ namespace MWScript | |||
|             virtual void stopScript (const std::string& name); | ||||
| 
 | ||||
|             virtual float getDistance (const std::string& name, const std::string& id = "") const; | ||||
|             ///< @note if \a id is empty, assumes an implicit reference
 | ||||
| 
 | ||||
|             bool hasBeenActivated (const MWWorld::Ptr& ptr); | ||||
|             ///< \attention Calling this function for the right reference will mark the action as
 | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue