Merge pull request #11530 from Baystation12/master

Dev-f
This commit is contained in:
PsiOmegaDelta
2015-11-28 11:48:39 +01:00

View File

@@ -223,18 +223,32 @@ var/world_topic_spam_protect_time = world.timeofday
return "Bad Key"
var/search = input["info"]
var/ckey = ckey(search)
var/list/search = params2list(input["info"])
var/list/ckeysearch = list()
for(var/text in search)
ckeysearch += ckey(text)
var/list/match = list()
for(var/mob/M in mob_list)
if(findtext(M.name, search))
match += M
else if(M.ckey == ckey)
match += M
else if(M.mind && findtext(M.mind.assigned_role, search))
match += M
var/strings = list(M.name, M.ckey)
if(M.mind)
strings += M.mind.assigned_role
strings += M.mind.special_role
for(var/text in strings)
if(ckey(text) in ckeysearch)
match[M] += 10 // an exact match is far better than a partial one
else
for(var/searchstr in search)
if(findtext(text, searchstr))
match[M] += 1
var/maxstrength = 0
for(var/mob/M in match)
maxstrength = max(match[M], maxstrength)
for(var/mob/M in match)
if(match[M] < maxstrength)
match -= M
if(!match.len)
return "No matches"