diff --git a/sp/src/game/server/entitylist.cpp b/sp/src/game/server/entitylist.cpp index 55d5614b..29d87f50 100644 --- a/sp/src/game/server/entitylist.cpp +++ b/sp/src/game/server/entitylist.cpp @@ -736,6 +736,12 @@ CBaseEntity *CGlobalEntityList::FindEntityCustomProcedural( CBaseEntity *pStartE g_pScriptVM->ExecuteFunction( g_CustomProcedurals[i].hFunc, args, 5, &functionReturn, NULL, true ); + if (pStartEntity && ToEnt( functionReturn.m_hScript ) == pStartEntity) + { + Warning( "WARNING: Custom procedural %s returned entity identical to start entity (%s), returning null\n", g_CustomProcedurals[i].szName, pStartEntity->GetDebugName() ); + return NULL; + } + return ToEnt( functionReturn.m_hScript ); } }