Skip to content

Instantly share code, notes, and snippets.

@icemnki
Last active October 4, 2016 06:48
Show Gist options
  • Save icemnki/73723ad34124b524f15cb836ae79d475 to your computer and use it in GitHub Desktop.
Save icemnki/73723ad34124b524f15cb836ae79d475 to your computer and use it in GitHub Desktop.
eater_old.js
function(a, b)
{ // t:#s.name.loc
var
t,
c = {},
p,
v,
r,
j=0,
P = [
2,3,5,7,11,
13,17,19,23,29,
31,37,41,43,47,
53,59,61,67,71,
73,79,83,89,97
],
C = "red","purple","blue","cyan","green","lime","yellow","orange",
z = "21! l|35! l|40! l|c001!|c002!|c003!|color n|color_digit|c002_complement|c003_triad_1|c003_triad_2|ock\"|pen\"|!dig|t dig|prime",
Z = z.split('|')
if(!b||!(t=b.t)) return "Usage: "+a.this_script+" { t:\#s.<target> [,force:true] }"
if(
(args.force || #s.scripts.get_level(t)>3) // check script == FULLSEC or force == true
)
while(v = (r = t.call(c)).match(RegExp(z)))
switch(v=v[0]) {
//case Z[0]: // EZ_21
//case Z[1]: // EZ_35
//case Z[2]: // EZ_40
default: // if it not the others it must be an EZ_ lock :D
p = "EZ_"+v[0]+v[1]
c[p] = "unlock"
break
case Z[3]: // c001
case Z[4]: // c002
case Z[5]: // c003
p = v.substr(0,4)
case Z[6]: // color number
c[p]=C[++j%8]
break
case Z[7]: // color_digit
c[v]=C[j%8].length
break
case Z[8]: // c002_complement
c[v]=C[(j+4)%8]
break
case Z[9]: // c003_triad_1
c[v]=C[(j+3)%8]
break
case Z[10]: // c003_triad_2
c[v]=C[(j+5)%8]
break
case Z[11]: // "unlock"
c[p] = "open"
break
case Z[12]: // "open"
c[p] = "release"
break
case Z[13]: // digit
case Z[14]: // incorrect digit
c.digit= ++j%10
break
case Z[15]: // prime
c.ez_prime = P[++j%25]
//break // don't need to break on the last case
}
return r;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment