comparison Devian.lua @ 30:42e74b72726d

Prefix auto-color checks for and deals with color levels that are close to white.
author Nenue
date Fri, 25 Dec 2015 13:56:20 -0500
parents 31ca76e04766
children 6fcfe60bbd0f
comparison
equal deleted inserted replaced
29:60a9dc276ece 30:42e74b72726d
344 if prefix == nil then 344 if prefix == nil then
345 prefix = 1 345 prefix = 1
346 end 346 end
347 347
348 local sendq = {} 348 local sendq = {}
349 local tag, id 349 local tag, id, tagged
350 local byName = true 350 local byName = true
351 if D.tags[prefix] then 351 if D.tags[prefix] then
352 for _, id in pairs(D.tags[prefix]) do 352 for _, id in pairs(D.tags[prefix]) do
353 if D.console[id] then 353 if D.console[id] then
354 sendq[id] = D.console[id] 354 sendq[id] = D.console[id]
355 tagged = true
355 end 356 end
356 end 357 end
357 end 358 end
358 359
359 if D.sig[prefix] then 360 if D.sig[prefix] then
360 sendq[D.sig[prefix].index] = D.sig[prefix] 361 sendq[D.sig[prefix].index] = D.sig[prefix]
361 elseif D.console[prefix] then 362 elseif D.console[prefix] then
362 sendq[D.console[prefix]] = D.console[prefix] 363 sendq[D.console[prefix]] = D.console[prefix]
363 else 364 elseif not tagged then
364 sendq[D.primary_channel] = D.console[D.primary_channel] 365 sendq[D.primary_channel] = D.console[D.primary_channel]
365 end 366 end
366 367
367 -- color me timbers 368 -- color me timbers
368 local pcolor 369 local pcolor
369 if (not db.tagcolor[prefix]) and byName then 370 if (not db.tagcolor[prefix]) and byName then
370 local c = {0, 0, 0 } 371 local c = {
371 local max = string.len(prefix) 372 math.random(64,255), math.random(64,255), math.random(64,255)
372 for i = 1, max, 3 do 373 }
373 for k, v in ipairs(c) do 374 if c[1] > 223 and c[2] > 223 and c[3] > 223 then
374 local j = i + (k - 1) 375 c[math.random(1,3)] = math.random(64,223)
375 c[k] = c[k] + (j <= max and string.byte(prefix,j) or 0) 376 end
376 end 377
377 end
378 for k,v in ipairs(c) do
379 c[k] = c[k] % 255
380 if c[k] < 64 then
381 c[k] = 0
382 elseif c[k] > 127 then
383 c[k] = 255
384 end
385 end
386 db.tagcolor[prefix] = string.format('%02X%02X%02X', unpack(c)) 378 db.tagcolor[prefix] = string.format('%02X%02X%02X', unpack(c))
387 end 379 end
388 pcolor = db.tagcolor[prefix] 380 pcolor = db.tagcolor[prefix]
389 381
390 local buffer = {'|cFF'.. pcolor..prefix ..'|r'} 382 local buffer = {'|cFF'.. pcolor..prefix ..'|r'}
488 -- is it valid? 480 -- is it valid?
489 if db.channels[i] then 481 if db.channels[i] then
490 dbvars = db.channels[i] 482 dbvars = db.channels[i]
491 -- use that as our base vars 483 -- use that as our base vars
492 else 484 else
493 if db.sig[t_info.signature] then 485 if D.sig[t_info.signature] then
494 local sigvar = t_info.signature 486 local sigvar = t_info.signature
495 local j = 2 487 local j = 2
496 while D.sig[sigvar] do 488 while D.sig[sigvar] do
497 sigvar = signame .. j 489 sigvar = sigvar .. j
498 j = j + 1 490 j = j + 1
499 end 491 end
500 t_info.signature = sigvar 492 t_info.signature = sigvar
501 end 493 end
502 494