diff --git a/BossHP/scripting/BossHP.sp b/BossHP/scripting/BossHP.sp
index 5cd693c5..ca200854 100644
--- a/BossHP/scripting/BossHP.sp
+++ b/BossHP/scripting/BossHP.sp
@@ -1183,15 +1183,29 @@ bool BossProcess(CBoss _Boss)
 
 int FindEntityByTargetname(int entity, const char[] sTargetname, const char[] sClassname="*")
 {
-	int Wildcard = FindCharInString(sTargetname, '*');
-	char sTargetnameBuf[64];
-	while((entity = FindEntityByClassname(entity, sClassname)) != INVALID_ENT_REFERENCE)
+	if(sTargetname[0] == '#') // HammerID
 	{
-		if(GetEntPropString(entity, Prop_Data, "m_iName", sTargetnameBuf, sizeof(sTargetnameBuf)) <= 0)
-			continue;
+		int HammerID = StringToInt(sTargetname[1]);
 
-		if(strncmp(sTargetnameBuf, sTargetname, Wildcard) == 0)
-			return entity;
+		while((entity = FindEntityByClassname(entity, sClassname)) != INVALID_ENT_REFERENCE)
+		{
+			if(GetEntProp(entity, Prop_Data, "m_iHammerID") == HammerID)
+				return entity;
+		}
+	}
+	else // Targetname
+	{
+		int Wildcard = FindCharInString(sTargetname, '*');
+		char sTargetnameBuf[64];
+
+		while((entity = FindEntityByClassname(entity, sClassname)) != INVALID_ENT_REFERENCE)
+		{
+			if(GetEntPropString(entity, Prop_Data, "m_iName", sTargetnameBuf, sizeof(sTargetnameBuf)) <= 0)
+				continue;
+
+			if(strncmp(sTargetnameBuf, sTargetname, Wildcard) == 0)
+				return entity;
+		}
 	}
 
 	return INVALID_ENT_REFERENCE;